物联网技术

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 美国专利查看网站 http patft uspto gov 2 美国专利类型 Application Type APT This field contains a single digit number which indicates
  • 解决Eclipse,MyEclipse出现An error has occurred,See error log for more details的错误

    src http blog sina com cn s blog 4ba5b45e0102eam8 html 现把找到的解决方法整理提供给大家 如下 方法1 在 开始 gt 运行 gt 打入 cmd 进入命令提示行后 再进入eclipse的
  • 使用钉枪加快 Clojure 启动时间

    我时不时地想用一下会很好clojure for 外壳脚本 但是大约 900ms 的启动时间太慢了 然后我会google首页对于 nailgun clojure 但显示的唯一结果是针对像 vimclojure 这样的特殊情况 那时我假装没有时
  • Logback - 启动时不创建空日志文件

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

    有一个界面DispatcherListener在Struts2中 文档说 一个接口来标记那些想要在init and destroy of a Dispatcher 但是这个接口怎么用呢 如果我创建一个实现这个接口的类 我应该如何将它配置到S
  • 我的日食今天停止工作了

    今天我遇到了 Eclipse 的问题 就像每次我关闭一个项目时都会弹出一个窗口 上面写着 保存工作空间时出错 并抱怨 apache xerces 我决定下载全新安装 但现在它甚至无法启动 我尝试了许多变体 经典 javase c 希望存在一
  • 如何编写一个随windows启动自动启动的python程序?

    我正在使用 python 2 6 和 pyqt4 编写一个程序 我希望这个程序在 Windows 启动时自动启动 类似于 uTorrent 客户端 我该如何进行这项工作 我使用的是Windows 7 您只需在 Windows 开始菜单的 启
  • 如何阻止 RStudio 在每次启动时在“/home”目录中创建空的“R”文件夹

    在 RStudio 选项中设置默认工作目录以及我的第一个 也是唯一 项目的路径后 我想知道为什么 RStudio 每次启动时都会在我的 home 目录中创建一个名为 R 的空文件夹 是否有任何我可以删除 编辑 最终创建 的文件来阻止这种烦人
  • 服务器重新启动后重新启动 WCF 服务

    WCF 中是否有某种机制可用于 预启动 热身 托管在 IIS 中的 WCF 服务 类似于 SharePoint 网站的预热脚本 我遇到过这样的情况 服务器在夜间重新启动 第二天 WCF 服务启动时会出现很长的延迟 我无法更改使用这些服务的各
  • 有没有办法在 J2EE 服务器启动上做一些事情?我正在使用 Tomcat [重复]

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

    一切都在标题中 我目前正在寻找一种方法来启动我的UWP app 自动地仅使用 UWP 框架启动 Windows 时 计算机上没有文件操作 该应用程序必须能够在应用商店中共享并在 Windows 启动时打开 这是一件可行的事情吗 如果是这样怎
  • 如何检查 mac bash 应用程序启动时是否按下了选项键

    我有一个相对简单的问题 我有一些 Mac 应用程序 其启动器是用 bash 编写的 我想向启动器添加一个小功能 让其他人在应用程序启动时按下 option alt 键时访问 config app 或位于 Contents Resources
  • 启动没有 Activity 的 Android 应用程序

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

    这个问题在这里已经有答案了 可能的重复 如何在启动时启动应用程序 https stackoverflow com questions 6391902 how to start an application on startup 我是 And
  • 当应用程序委托中出现平坦问题时 iPad 启动方向

    和许多人一样 我有一个启动屏幕 它会以动画方式显示我的应用程序的第一个视图 我一直在针对 iPad 重新设计此功能 如果您以纵向或横向模式握住设备 一切都会按预期工作 使用正确的默认图像 使用用于动画关闭的正确图像 所有方向都有效美好的 B
  • 如何捕获Tomcat启动日志

    如何捕获Tomcat启动日志 要在Windows中启动Tomcat 可以执行命令 卡塔琳娜运行 在你的 tomcat bin 文件夹中 Tomcat 启动的输出将保留在当前窗口中 以便您可以对其进行分析
  • 在 qt linux 中保存配置

    我为Linux编写了一个qt应用程序 该应用程序应该在启动时运行 我 用桌面条目做的 但我需要它更复杂 用户应该检查一个复选框 以便选择应用程序是否在启动时运行 我该如何保存他的偏好 该应用程序之前是为 Windows 编写的 并且保存在注
  • 错误:选择不包含主要类型

    我正在尝试在新项目中运行一些java文件 所以我制作了项目 将文件放入其中 然后尝试运行主文件 以便我的游戏开始 我收到一条错误消息selection does not contain a main type 我尝试了几种方法来运行它 有人
  • Xamarin.Android 应用程序仅在干净编译时找到启动器活动

    我有一个Xamarin Android标记为 MainLauncher 的活动称为 Login 当我第一次按 F5 时 应用程序在模拟器中正常启动 然后我停下来 进行一些代码更改 再次按 F5 我可以看到应用程序在模拟器中启动 当我收到以下
  • Delphi 窗体在显示时总是会触发 OnResize 吗?

    如果我创建一个新的 Delphi 表单 挂钩其 OnResize 事件并运行该应用程序 则在显示窗口之前会触发 OnResize 我不知道对于任何窗口来说 这种情况是否总是会发生 对于熟悉 Windows API 的人来说 我已将其追溯到

随机推荐

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

    实验源码已经上传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 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 物联网技术之四 无线自组网 无