物联网技术

2023-11-06

作者:阏男秀
链接:https://www.zhihu.com/question/50125636/answer/124938067
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

# 物联网技术之四:无线自组网

无线自组网,或称无线传感网络,这肯定是物联网专业的学生要学的一门学科,属于通信领域,电子、计算机出身的人对这没有太多的概念。无线自组网最典型的技术之一是,ZigBee

什么是自组网?做个对比,比如我们的WiFi,我们要用手机去连一个SSID,输入密码才能连上WiFi,而且你的手机,一般来说也不可能再发射Wifi出去让其他手机连接,WiFi网络拓扑成星型网


而自组网不一样,不需要用户输入用户名和密码,直接连到最近的一个自组网设备,最后自组网设备也可以作为一个中间节点,让下一级的设备连接进来,网络拓扑可以成星型网簇型网网型网。那么无线自组网的数据怎么流动呢?流去哪?无线自组网一般都会有一个数据汇聚的地方,这个地方就是网关

 

但是ZigBee并没有连上互联网啊,它最多只是一个局域网!——这还不简单?这是就是网关要处理的事情了。而且,ZigBee协议栈Z-Stack是有Linux网关版本的。

Z-Stack - ZigBee 协议栈

 

不过呢,由于各种原因,ZigBee开始走下坡路了,最新的6LoWPAN会逐渐替代。6LoWPAN,是一种低功耗的无线网状网络,其中每个节点都有自己的 IPv6 地址,允许其使用开放标准直接连接到互联网。Zigbee使用网内专用地址,互联网主机无法访问。集成 Ipv6/6LoWPAN 堆栈的开源操作系统Contiki也会逐步取代Z-Stack。

如果大学开设了无线自组网的课程,不是学习ZigBee的Z-Stack就是Contiki。使用无线自组网也并不是一个单独的开发过程,其技术需要结合单片机/嵌入式开发。

## 电源问题

是的,如果要用无线自组网,电池续航的能力是一个问题。如果是类似与WiFi插座、智能饮水机、智能风扇等等,接上市电就能用,这些电源都不是问题。而对于无线自组网,往大的方向说就是所有的便携式智能设备,都受限于电池续航能力,比如智能手表,运动手环。不过呢,突破电池技术并不是物联网开发者所需要做的工作,我们能做的,只能是挑选更低功耗的芯片,设计电路功耗更低一点,让单片机休眠并使用中断唤醒机制

图,用水果电池供电的某430单片机系统。

 


 

# 物联网技术之五:RFID

 

仔细观察上面那张无线技术的图,最右边,NFC/RFID。嗯,对,RFID,非接触射频识别,也是物联网技术重中之重的技术,很多物联网书籍都会介绍RFID,搞得很多人以为RFID就是物联网。

 

介绍RFID前先简单说一下条形码。去超市购物的时候,收银员把扫描枪对准上面的条形码扫一扫,商品信息和价格就录入到电脑里了。条形码替代了收银员手动输入数据,工作效率提高了几倍。

可是,进入21世纪后,条形码已经不能满足人们的需求,存储能力小、工作距离近、穿透能力弱、不能写操作等等都是条形码的缺点。这个时候就出现了RFID技术。典型应用如下图:

(。。。好像没有什么奇怪的啊?)
一二线城市早已实现了的公交卡,以及校园一卡通,用的就是RFID技术。RFID可读可写,所以公交卡、校园卡的钱能存在卡里面。

 

NFC,也是RFID的技术一种,目前大部分手机都支持的NFC功能,手机取代公交卡真的是迟早的事。要是手机没有NFC功能,也可以这么装逼:

上班,在地铁里碰到同事。
我看他用手机刷卡出入站挺方便,就问他怎么弄的,是不是要下载什么软件。
他告诉我:“这个很简单,只要把公交卡藏在手机套里就行了。”

 

同样,RFID开发也是离不开单片机开发,网上也有相关的RFID开发套件出售。


 

# 结语

当然,物联网技术绝对不止以上五种,物联网本身就是所有技术的大融合,做电子产品的还要考虑产品外壳,不过这是结构工程师的事情;做服务器后台的还要考虑用户帐号数据库读写等,前端也要考虑如何把设备数据和操作方式优雅的展现给用户看,这些是IT程序员的事情;电池技术也需要单方面突破,超小体积、超大容量,这个还得等待多时。

与其说物联网是一种技术吧,不如说它是一个时代,物联网通过对相关技术进行整合,形成一个时代的概念,是一个建立在技术基础之上的时代。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

物联网技术 的相关文章

  • 编程教育案例

    1 Osmo Coding早教玩具 可以编代码的智能版乐高 https www playosmo com zh cn schools https digi tech qq com a 20160527 055566 htm https ww
  • Logback - 启动时不创建空日志文件

    我有一个项目 其中有很多 工具 类 它们有自己的日志记录 这些日志文件是在应用程序启动时创建的 但在使用之前保持为空 是否可以告诉 logback 在启动时不应创建空文件 但只有当它们被使用时 不知何故 我找不到有关此主题的信息 谢谢 Lo
  • Opscenter 6.0 启动问题

    昨天 我尝试安装 opscenter 并启动现有 DSE 5 0 集群的导入 它失败并出现某些错误 指出安装的版本不是 opscenter 6 0 根本原因 opscenter 安装是从 datastax 社区仓库完成的 而不是企业仓库 我
  • 未检测到 OWIN 启动类

    我试图在现有应用程序中实现 OWIN WS Federation 它是一个使用 asp net VB 编写的 Web 应用程序 我已经添加了 Nugetpackages 中的所有引用添加的参考文献列表 然后我将启动类添加到 2 个文件中作为
  • jshell 启动时加载脚本的不同方法

    根据文档 还有在启动时加载脚本的选项 包括一些特殊的预定义选项 这些是使用 startup 标志指定的 传入文件名或以下之一 DEFAULT 加载默认行为 这与根本没有指定的行为相同 JAVASE 默认导入所有 Java SE 包 PRIN
  • 有没有办法在 J2EE 服务器启动上做一些事情?我正在使用 Tomcat [重复]

    这个问题在这里已经有答案了 我正在尝试让 J2EE 服务器主动向另一台服务器注册 即发送一些消息 而不是作为对某些内容的响应 令人惊讶的是 我发现很少有关于是否有事件和 或类可以扩展的信息或问题 这些事件和 或类可以让我处理 服务器启动 我
  • ARM - 域访问控制寄存器

    我想知道 为什么我们总是必须禁用位于协处理器寄存器 cp15 c3 中的域访问控制寄存器中的所有域 这通常是在启动代码中通过如下方式完成的 使用MCR http infocenter arm com help index jsp topic
  • XServer启动后运行shell脚本? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在 XServer 和 lightdm 启动时运行 shell 脚本 我尝试在 etc 目录中使用 init d 和 rc local
  • 仅在启动时无法找到运行时版本?

    我有一个非常简单的控制台应用程序 只是一个Console Write 来测试一些启动功能 我将其放在 Window 7 的启动文件夹中 但当它运行时 我收到 无法找到运行此应用程序的运行时版本 奇怪的是 如果我进入启动文件夹并实际运行该程序
  • 启动没有 Activity 的 Android 应用程序

    我有一个旨在仅作为服务运行的应用程序 没有界面 仅在后台运行 我的 AndroidManifest xml 中没有提到任何活动 但放置了一个接收器以在手机启动时启动应用程序
  • 如何在 Android 手机启动时打开我的 Android 应用程序? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在启动时启动应用程序 https stackoverflow com questions 6391902 how to start an application on startup 我是 And
  • 在 Windows 7 用户登录之前运行批处理文件以启动 VLC Web 界面

    我想运行一个批处理文件 该文件在用户登录之前执行以下操作 start VLC web Interface C Program Files x86 VideoLAN VLC vlc exe I http 目前我的启动文件夹中有此文件 但我希望
  • Kibana 无法在 Windows 上连接到 elasticsearch

    我正在运行 Elastic Search 7 6 它工作正常http 本地主机 9200 http localhost 9200 我能够使用 REST API 将值添加到索引 现在 当我启动 kibana 7 6 时 出现以下错误 log
  • 启动时运行的程序而不位于启动文件夹中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 某些程序 某种恶意软件 在启动时在我的 Windows 7 上运行 但我的启动文件夹是空的 即使在删除文件夹中所有程序的隐藏和系统属性之后
  • Xamarin.Android 应用程序仅在干净编译时找到启动器活动

    我有一个Xamarin Android标记为 MainLauncher 的活动称为 Login 当我第一次按 F5 时 应用程序在模拟器中正常启动 然后我停下来 进行一些代码更改 再次按 F5 我可以看到应用程序在模拟器中启动 当我收到以下
  • tomcat 8 无法在自由端口上启动

    PROBLEM 通过 Windows 服务停止 gt 启动 tomcat 8 失败 因为 tomcat 关闭不知何故以 不可见 状态继续侦听端口 8080 并且 tomcat 无法启动 因为它无法绑定到端口 8080 背景 我们的一个构建脚
  • IIS7 上的 ASP.NET 应用程序 - iisreset 后启动速度非常慢

    我有一个在 Windows 2008 上的 IIS7 下运行的 ASP NET 3 5 网站 当我重新启动 IIS iisreset 然后点击一个页面时 初始启动非常慢 我在 Process Explorer 中看到以下活动 w3wp ex
  • Java EE 企业应用程序:在部署/启动时执行一些操作[重复]

    这个问题在这里已经有答案了 我想在部署我的应用程序 具有业务逻辑 EJB 和客户端 Web 的企业应用程序 后立即执行某些操作 例如 我想让某个实体处于持久状态 或者以其他方式创建一个文件 我怎样才能做到这一点 Thanks 配置Serlv
  • 我可以让我的 Delphi 应用程序在特定时间(例如上午 12:00)启动,而不运行应用程序吗?

    我看到一个已安装的应用程序 它从供应商的网站提供一些 XML 数据并将其显示在主窗体窗口中 我想这很简单 但我注意到 即使我关闭系统托盘中的应用程序 明天早上 上午 12 00 正好 它也会再次弹出 这太酷了 我不确定它是用 Delphi
  • Python启动脚本[重复]

    这个问题在这里已经有答案了 我想执行一个脚本work py在Python中 执行一些初始化脚本后init py 如果我正在寻找交互式会话 请执行python i init py或设置PYTHONSTARTUP path to init py

随机推荐

  • 自动控制原理实验二 二阶系统阶跃响应

    实验源码已经上传CSDN了 需要的可直接下载 链接 https download csdn net download weixin 53129688 87694703 实验内容 其中 z 和wn对系统的动态品质有决定的影响 z为阻尼比 由于
  • 电子书 杜春雷 ARM体系结构与编程

    https pan baidu com s 1AYpTxklTRXCpqGV6hD3UzQ 提取码 j7ku
  • IO流概念与open函数操作

    IO流 input output stream 存储设备 磁盘 rom 能永久保存 读取写入速度慢 内存 ram 读取速度快 不能永久保存 断电就没了 贵 狭义 CPU运算 暂时写入内存 没读满就不存进去 见file 再存入磁盘保存 广义
  • STM32的RTC使用

    STM32的RTC使用 初始化RTC 设置时间保存时间 获取实时时间 RTC后备区另类使用 初始化RTC define RTC SET CONFIG FLAG 0x6066 lt RTC设置完成标志 判断是否第一次配置 if HAL RTC
  • 自动化运维工具Ansible基础部署与使用

    目录 一 安装部署 二 配置 Ansible最基础的模块为ping模块 主要用于判断远程客户端是否在线 用于ping本身服务器 返回值为changed ping 三 ansible批量管理 shell模块 copy模块 yum模块 file
  • MATLAB中peaks函数的用法

    MATLAB中peaks函数感觉比较有意思 是两个变量的样本函数 用法主要为 z peaks 返回一个49 49的矩阵 z peaks n 返回一个n n的矩阵 peaks n 没有输出参数时 这个函数直接使用surf来绘制peaks 默认
  • sklearn之feature_importance_参数的学习

    一 随机森林 原文链接 https blog csdn net zjuPeco article details 77371645 随机森林的算法可以用如下几个步骤概括 用有抽样放回的方法 bootstrap 从样本集中选取n个样本作为一个训
  • PBR 与 OpenGL ES 2.0 中的LOD纹理:Mipmap (关于Lod和Bias)

    MipMap 当使用Mipmap的时候可能会用到xxxLod 和 xxxBias 这几种纹理采样函数 在片段着色器中 vec4 texture2D sampler2D sampler vec2 coord vec4 textureCube
  • 对抗js前端加密的万能方法

    1 前言 现在越来越多的网站采用全报文加密 测试的时候需要逆向提取加密算法以及密钥 过程十分繁琐和复杂 本文提供一种更为简单快捷的方法来解决此问题 原理大致如下 使用浏览器的Override Hook加密前的数据 配置代理地址发送给中转服务
  • LC滤波器简单设计法 - 一文读懂LC滤波器简单设计方法及原理介绍,LC值计算方法

    LC滤波器简单设计法 一文读懂LC滤波器简单设计方法及原理介绍 LC值计算方法 LC滤波器概述 LC滤波器也称为无源滤波器 是传统的谐波补偿装置 LC滤波器之所以称为无源滤波器 顾名思义 就是该装置不需要额外提供电源 LC滤波器一般是由滤波
  • 【Python进阶学习】根据数据绘制省份热力地图(源码)

    输入 pro sales csv 省份与值 数据 province 省份列 deal 值列 输出 中国地图 html 优化 显示省份名称 使用notepad 打开中国地图 html 搜索 series 在1900多行这个 3 增加以下内容
  • mybatis utf8mb4 java_java.sql.SQLException: Unsupported character encoding 'utf8mb4'.

    四月 12 2017 3 47 52 下午 org apache catalina core StandardWrapperValve invoke 严重 Servlet service for servlet SpringMVC in c
  • 深度学习拾遗

    深度学习 hinton bp算法 李飞飞 吴恩达 黄广斌 路奇 深度学习优化的超参数 1 学习率 学习率 learning rate或作lr 是指在优化算法中更新网络权重的幅度大小 学习率可以是恒定的 逐渐降低的 基于动量的或者是自适应的
  • 面向高维优化问题的混沌粒子群混合蝴蝶优化算法(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 Matlab代码及详细文章讲解 4 参考文献 1 概述 文献来源 摘要 为了解决蝶形优化
  • 值类别 左值引用 右值引用

    文章目录 值类别 关系图 示例 左值引用声明符 语法 示例 反汇编 伪代码 右值引用声明符 语法 示例 反汇编 伪代码 相关参考 值类别 每个 C 表达式 运算符带上其操作数 字面量 变量名等 可按照两种独立的性质加以辨别 类型和值类别 v
  • 快手java开发面试经验大全

    1 自我介绍 2 java集合 hashmap详细介绍 关键参数 线程安全的集合 队列和栈 用两个栈实现队列算法 3 jvm结构 4 多线程锁 synchronized reentrantlock countdownlatch 锁升级 5
  • 回归(regression)和logistic regression

    回归 回归 就是 回归本质 的意思 用一个函数去拟合一组数据 xi yi x i y i 随着数据越来越多 用来拟合的这个曲线就越来越接近真实的情况 这里 xi x i可以是一个向量 假设 xi Rn x i in R n 若用线性回归的方
  • 如何创建 且在idea中操作vue3项目

    一 使用vue的控制台创建vue3项目 1 首先使用vue的控制台创建基础的vue框架 win r 唤出控制台 输入cmd 在控制台中输入 vue ui 弹出一个网页窗口 在弹出的窗口中点击下面这个地方 选择你要存放的地址 点击再次创建项目
  • Long 类型比较 判断相等问题引发的问题

    项目场景 最近上线以后遇到的一个问题 在这里记录一下 问题描述 测试的时候没问题 放到生产上就有问题了 原因分析 当时在测试上是没问题的 在生产上用同样的环境 同样的数据测试也是没问题的 把生产上数据同步到本地测试了一下 果然有问题 解决方
  • 物联网技术

    作者 阏男秀 链接 https www zhihu com question 50125636 answer 124938067 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 物联网技术之四 无线自组网 无