IoT 设备如何通信?

罗布-法鲁迪 罗布-法鲁迪,IoT 顾问,Faludi.com
2021 年 3 月 26 日

物联网 (IoT) 设备使用数百种不同的协议,以数十种不同的方式进行通信。这是因为它们的通信方式取决于它们是什么、在哪里、需要与哪些其他设备和系统通信以及它们要说什么。没有单一的最佳协议,协议本质上是一种通用 "语言",用于将信息从一个IoT 设备路由到另一个设备。正确的选择始终取决于应用的具体需求。
 
还需要考虑一些限制因素。设备的功率预算是多少?成本限制是什么?对物理尺寸、安全性、上市时间、地理区域和远程维护有什么要求?在本文中,我们将介绍IoT 通信系统的嵌入式组件,并讨论不同的需求和环境如何决定每个用例的最佳解决方案。

IoT 设备通信组件

虽然IoT 系统有许多不同的架构,但大多数都包括以下组件:

  1. IoT 设备--从最微小的温度传感器到巨型工业机器人,无所不包
  2. 本地通信 - 设备与邻近设备通话的方法
  3. 应用协议--定义信息内容传输方式的框架
  4. 网关 - 翻译和重新传输信息,通常将本地设备网络与互联网连接起来
  5. 网络服务器 - 管理IoT 数据接受和传输的系统,通常位于云数据中心内
  6. 云应用--将IoT 数据处理成有用信息,提供给用户
  7. 用户界面 - 人们在这里查看IoT 信息、操作信息并向IoT 设备发出指令

IoT 设备

当我们谈论IoT 设备时,通常指的是环境传感器、联网电器、车辆跟踪器,甚至是流水线机器。虽然IoT 设备可以说是任何可以与互联网通信的电子设备,但我们通常指的不是移动电话或普通电脑。
 
通常,我们关注的是用途较窄的设备,例如控制家中的灯光或跟踪生产化学品的储罐液位。举例来说,下图显示了一个工业油箱传感器之间的连接。 Digi XBee® 无线电模块的网关进行通信。 Digi ConnectCore® 模块化系统 (SOM)。
IoT 应用图
 

连接无线设备

许多设备最初并不具备互联网功能,必须通过售后市场解决方案进行改装,才能实现联网。然而,越来越多的IoT 功能被直接设计到新设备中,从而大大降低了成本并提高了功能。

虽然IoT 设备因其满足的需求不同而各异,但几乎都包含一些基本组件。例如

  • 通常会有一个传感器来检测物理现象,如运动或漏水。
  • 此外,还有一些执行器可以产生物理变化,如打开电灯或关闭阀门。
  • 这些传感器和执行器与一个或多个微处理器相连,运行着驱动IoT 功能的逻辑。
  • 作为一个连接设备,它必须至少有一个通信组件,可以是某种无线电或以太网等有线通信方式。
  • IoT 设备通常由电池供电,因此在选择设备、设计功能和制定通信策略时,电源管理是一个重要的考虑因素。

所有这些组件都将安装在某种类型的外壳中,通常是一个很小的外壳。根据使用环境的不同,外壳可能需要密封和防水,也可能需要大量通风以控制热量。由于IoT 设备通常需要大量部署,因此成本的合理控制至关重要。每一分钱都很重要,因为这些一分钱都会乘以数百万。
 

本地通信方法和协议

每个IoT 设备都需要通信。有些设备只发送信息,其他许多设备则既发送信息又接收信息。与对等设备的某些通信是直接的,而远程通信通常需要通过网关才能到达目的地。无论设备的信息需要发送到哪里,每一段旅程都始于第一步。
 
下图展示了无线通信的一种模式,以及无线网络中的每个 "节点 "如何发挥确定的作用。在这个被称为 "星形网络 "的示例中,智能无线模块负责协调与充当路由器的设备之间的通信,并将通信传送到终端设备。



不同的无线设备和协议组合会产生不同的情况。在下图中,您可以看到如何通过使用不同的无线协议来构建各种行为方式的网络。最佳协议取决于多种因素,如网络通信节点之间的距离。

IoT 协议和通信方法


IoT 通信的第一步或 "跳转 "将采用有线或无线方式。有线连接可以使用简单的串行协议,但最常见的是使用以太网等网络系统,允许 "直接 "连接到网络服务器或云应用程序的互联网协议(TCP/IP)。通过互联网传递的信息会经过许多不同的设备,但作为IoT 架构师,我们可以安全地将这一过程抽象出来。有线连接既快速又可靠,但是,铺设物理电缆往往过于昂贵或不切实际。当然,对于任何移动设备来说,有线连接都是不可能的。
 
IoT 的无线通信几乎都是通过无线电进行的,有数百种无线电协议可供选择。其中有几种相当流行。以下是一些常用通信协议的高级概述:

  • 有些设备使用 Wi-Fi,只要能满足其电源要求,其复杂的处理和配置需求不会造成障碍,Wi-Fi 就有很多优势。Wi-Fi 本机运行 TCP/IP,因此一旦配置完成,我们就可以抽象出互联网本身的复杂性。
  • Zigbee和 Z-wave 是家庭自动化网络中的大名鼎鼎的产品,因为它们针对低功耗、低带宽通信进行了优化,都允许家庭中的设备直接对话,以提高速度和安全性。这两种技术都不直接支持互联网协议,因此局域网外的通信通常要通过网关。
  • LoRaWAN 协议在低带宽IoT 方面也越来越受欢迎。它结合了长距离和极低带宽的特点,可在数英里的视线范围内为只有极小话音的设备提供支持。
  • 蓝牙及其低能耗姊妹产品 BLE在简单的IoT 设备中非常流行。两者的通信距离都很远,因此需要使用另一种设备(通常是手机)来进行远距离信息传递。
  • 蜂窝网络现在可以轻松容纳IoT 设备。新的蜂窝协议(如Cat-MNB-IoT)允许使用电池的设备运行数月而无需充电,以换取非常有限的带宽。
  • 4G LTE5G等其他协议需要的功率更大,但也能处理数字视频等更大的数据量。
  • 此外,还有许多专有协议和单一制造商协议,可满足独特的距离需求、特殊的带宽要求、困难的无线电环境,当然还有成本优化。没有一种协议可以统治所有协议。每个项目都有自己的最佳解决方案。

计算机网络框架通常分为虚拟层。最底层处理物理部分、电线或无线电波。接下来是协调信息如何形成、寻址、路由和确认的层。这些中间层非常吸引人,但不在本文讨论范围之内。
OSI 网络模型
 最高层管理有用的内容,通常称为 "应用程序",如"...... "图所示。OSI 网络模型."OSI 是 "开放系统互连"(Open Systems Interconnection)的缩写,该模型是一个概念框架,描述了网络功能的组成部分或层次。

应用层是IoT 完成真正工作的地方,它可以以多种不同的方式进行。当来自许多不同制造商的设备需要合作完成工作时,有一种标准的方式来就特定工作进行通信是非常有帮助的。一些无线协议将照明控制、安全或音频流等常见任务的信息传递标准化。
 
Zigbee、蓝牙和 Z-Wave 都包含提供标准语言的应用协议,例如,一家公司生产的电灯开关可以打开其他公司生产的三种不同的灯具。
 
其他应用协议则更为通用。MQTT 和 CoAP 都是非常轻量级的应用协议,可将不同设备之间的通信标准化,而不会将消息传递限制在特定任务上。由于轻量级,它们消耗的带宽很少,因此耗电量也很小,是电池供电设备的理想选择。
 
功率和带宽更大的设备可以通过 HTTP(网络背后的协议)使用 RESTful 通信。这种广泛实施的框架也与任务无关,但由于它在设计时没有考虑到极高的效率,因此会很快耗尽小型IoT 设备的电池和带宽,因此在实施时应谨慎。

下载 Zigbee 与蓝牙对比白皮书

比较 Zigbee 和蓝牙,以及它们的优势。

下载 PDF

网关

当一个设备不能直接运行互联网协议(TCP/IP)时,它通常会将信息传递给另一个称为网关的设备。网关将处理和转发与互联网之间的信息。

网关可以帮助IoT 设备保持体积小、电池供电和价格低廉,因为它们通常可以作为本地基站处理多个设备。例如,下面是一些实际应用场景:

  • 运行蓝牙/BLE 的可穿戴设备通常使用手机作为互联网网关。只要手机和设备在附近,这种方式就能很好地工作。
  • Zigbee、Z-Wave 和 LoRaWAN 等家庭自动化协议无法由手机直接处理,也没有意义,因为手机不会停留在固定位置。这些协议以及专有协议通常使用一个网关盒,插入墙壁电源和以太网、Wi-Fi 或蜂窝网络。它们使用本地协议(如 Zigbee)接收来自设备的信息,对接收到的信息进行处理,然后通过互联网转发。
  • 在太阳能发电场和风力发电场等工业环境中,需要一个加固的工业网关来路由分布在远程设备网络中的设备进行通信,如下图所示。

 这种 "多跳 "网关过程允许功能有限的设备与遥远的地点连接,通常使用一系列不同的协议来完成工作。网关通常使用 MQTT、REST 或 CoAP 等应用协议来连接网络服务器或云应用,这些应用通常位于某个远程数据中心。
IoT 设备网络图

网络服务器和云应用

大多数IoT 通信最初都由某种类型的网络服务器接受和处理。某些协议需要服务器来完成低级工作,如重复冗余信息和转换特殊协议格式。即使在协议不需要额外处理的情况下,拥有一个不仅能管理通信,还能对设备本身进行配置、保护和报告的系统也是大有裨益的。
 
Digi Remote Manager 设备管理平台






Digi Remote Manager® 是这方面的领导者,致力于为 Digi 模块、网关和路由器的用户提供最佳的云体验。AWS 和 Azure 等其他服务提供IoT 数据处理和一些更通用的设备管理,这些系统可以相互协作,提供定制解决方案。
 
网络服务器完成工作后,通常会与云应用程序交换数据,后者会将IoT 数据转化为有用信息,提供给人类用户,并将其存储起来以备后续分析。云应用程序通常与 AWS 或 Azure 等平台上的其他网络服务一起运行。它们通常使用 Node.js、Python 或 Java 等语言创建,并与 SQL 或 NoSQL 数据库绑定,以便管理来自IoT 设备群的大量数据。
 
并非每个系统都需要大型数据中心。即使是像 Raspberry Pi 这样的小型业余电脑,也能实现云计算巨头所提供的大部分功能,尽管规模绝对有限。一个有生命力的网络有许多相互关联的组件在工作,确保数据在需要的时候送到需要去的地方。

  • 云服务器完成了将数据(关于世界的原始事实)转化为有用信息的过程。
  • 电表发出的脉冲会转化为发电厂上线的决策。
  • 温度读数被转化为天气预报。信息是双向流动的,因此云服务器还能管理从交通信号灯到鸡舍喂食器等各种控制命令的发出。

即使有了所有这些技术,也始终需要人与人之间的互动。因此,云服务器的一项重要任务就是提供用户界面,将人们带入环路。
 

用户界面

用户界面是IoT 通信链的最后一步。它们也是命令链中的第一步,这些命令将流经系统,供一个或多个IoT 设备执行。用户界面有多种类型,一个IoT 解决方案通常支持不止一种。

人类可以通过网站、智能手机移动应用程序、特殊桌面应用程序与系统进行交互,也可以通过与 Salesforce 等业务服务的 API 集成间接与系统进行交互。并非所有的交互都是远程进行的。有些IoT 设备的设计支持直接访问和配置,无论是通过板载触摸屏还是一些开关。无论采用哪种方式,用户界面都是最重要的部分。它是人们释放IoT 系统及其所创建信息全部价值的地方。
 

电灯开关示例

下面是一个使用所有这些组件的家庭自动化系统的简单示例。一位房主希望使用本地开关控制餐厅的灯,同时还能远程开关灯。他们选择的系统包括一个电池供电的IoT 墙壁开关。它使用 Zigbee 无线协议与灯具直接通信。
 
该协议包含一种专门为照明设计的语言。由于 Zigbee 是一种低带宽协议,耗电量不大,因此使用范围也有限。因此,为了实现远程访问,系统配备了一个小型网关。网关将 Zigbee 信息转换为 MQTT 应用程序协议,并将其传递到运行家庭自动化系统应用程序的网络和云服务器。云应用程序将信息反馈给房主使用的移动应用程序。无论是在家中,还是在完全不同的大陆,他们都能看到餐厅灯的当前状态,并立即对其进行控制。

IoT 家庭自动化示例

有关 Zigbee 的更多信息,请访问 Zigbee 网状网络 页。Zigbee 协议是由以下设备支持的众多协议之一 Digi XBee 无线电模块.Digi 生产全系列无线电模块、IoT 开发套件、网关、蜂窝路由器和远程IoT 管理。当您准备设计自己的系统时,Digi 可提供 无线设计服务 可帮助您做出正确的选择,确保IoT 通信的成功。
 
如果您需要更多帮助,Digi 会为您提供。 联系我们!
 

观看我们录制的网络研讨会
向 Digi 和 NXP 学习安全产品设计

相关内容

XBee 购买指南 XBee 购买指南 什么是 XBee®?如何根据使用情况选择合适的产品?在本 XBee 购买指南中,您将了解如何比较 XBee... 阅读博客 IoT 新网关加快了 XBee 开发人员的产品上市速度 IoT 新网关加快了 XBee 开发人员的产品上市速度 Digi IX15是一款经过全面测试和预先认证的网关,具有可靠性和快速上市的特点,因此产品开发... 阅读博客 蓝牙标准和技术 蓝牙标准和技术 蓝牙 (Bluetooth®) 是一种无线个人区域网络 (PAN) 协议,设计用于在相对较短的距离内进行通信(在某些情况下最长可达一公里),具体取决于接收器等因素... 了解更多 IoT 远程设备管理的投资回报率 IoT 远程设备管理的投资回报率 随着物联网的应用不断加快和扩大,管理和维护物联网网络的成本也在不断增加。 阅读博客 Digi XBee MicroPython PyCharm IDE 插件演示 Digi XBee MicroPython PyCharm IDE 插件演示 如果您是一名嵌入式开发人员,您就会明白需要一些工具来缩短编码过程中繁琐或容易出错的环节。而我们的... 观看视频 XBee 与 Zigbee:简单比较指南 XBee 与 Zigbee:简单比较指南 在本文中,我们将对 XBee 和 Zigbee 进行简单明了的比较,包括如何使用它们、何时使用它们,以及如何使用它们。 阅读博客 剪断电缆:射频集成的 Digi 指南 剪断电缆:射频集成的 Digi 指南 IoT 产品开发人员和工程师来自不同的背景,并非所有人都接受过射频技术培训。如果您发现... 观看视频 解决 5G 天线设计难题 解决 5G 天线设计难题 5G 天线设计是迄今为止开发 5G 解决方案过程中最令人困惑的部分,因为它几乎完全... 阅读博客 Digi XBee 开发无线应用程序的教程和资源 Digi XBee 开发无线应用程序的教程和资源 在本文中,我们将讨论如何找到所有优秀的教程和资源来支持您的应用程序开发... 阅读博客 Digi XBee 工具开发、构建、部署和管理无线应用程序 Digi XBee 工具开发、构建、部署和管理无线应用程序 Digi XBee 快速原型设计、开发和部署工具介绍 阅读博客 无线网状网络 Zigbee 与 DigiMesh 对比白皮书 无线网状网络 Zigbee 与 DigiMesh 对比白皮书 查看 PDF 建造与购买:选择导航 建造与购买:选择导航 在本白皮书中,我们将帮助您评估优化 IP 的最佳方式,并做出正确的构建与购买决策,以实现您的目标。 查看 PDF