物联网 (IoT) 设备的通信方式有几十种,使用数百种不同的协议。这是因为他们的通信方式取决于他们是什么,他们在哪里,他们需要与哪些其他设备和系统交谈,以及他们必须说什么。没有单一的最佳协议,它本质上是用于将消息从一个物联网设备路由到另一个物联网设备的通用“语言”。正确的选择始终取决于应用程序的特定需求。
还有一些限制需要考虑。设备的功率预算是多少?有哪些成本限制?对物理尺寸、安全性、上市时间、地理区域和远程维护有什么要求?在本文中,我们将介绍物联网通信系统的嵌入式组件,并讨论不同的需求和上下文如何为每个用例确定最佳解决方案。
还有一些限制需要考虑。设备的功率预算是多少?有哪些成本限制?对物理尺寸、安全性、上市时间、地理区域和远程维护有什么要求?在本文中,我们将介绍物联网通信系统的嵌入式组件,并讨论不同的需求和上下文如何为每个用例确定最佳解决方案。
1. 物联网设备通信组件
虽然物联网系统有许多不同的架构,但大多数都包括以下组件:
- 物联网设备——从最小的温度传感器到巨大的工业机器人
- 本地通信 – 设备用于与相邻设备通信的方法
- 应用程序协议 – 定义如何传输信息内容的框架
- 网关 – 转换和重新传输信息,通常将本地设备网络连接到互联网
- 网络服务器 – 管理物联网数据的接受和传输的系统,通常位于云数据中心内
- 云应用程序 – 将物联网数据处理成有用的信息,以呈现给用户
- 用户界面 – 人们可以看到物联网信息,对其进行操作,并向物联网设备发出命令
2. 物联网设备
当我们谈论物联网设备时,我们通常会描述环境传感器、连接电器、车辆跟踪器甚至装配线机器等东西。虽然物联网设备可以说是任何可以与互联网通信的电子设备,但我们通常不是指手机或一般用途的计算机。
通常,我们专注于用途较窄的设备,例如控制家中的灯光或跟踪用于制造化学品的储罐液位。例如,下图显示了使用 DigiXBee® 无线电模块的工业储罐传感器与容纳模块 (SOM) 上的系统的网关之间的连接。
通常,我们专注于用途较窄的设备,例如控制家中的灯光或跟踪用于制造化学品的储罐液位。例如,下图显示了使用 DigiXBee® 无线电模块的工业储罐传感器与容纳模块 (SOM) 上的系统的网关之间的连接。

连接无线设备
其中许多设备最初并不是使用互联网功能创建的,必须使用售后解决方案进行修改才能连接。然而,物联网功能越来越多地被设计到新设备中,它们可以大大降低成本并改进功能。
虽然物联网设备根据创建它们的需求而有所不同,但几乎总是包含一些基本组件。例如:
虽然物联网设备根据创建它们的需求而有所不同,但几乎总是包含一些基本组件。例如:
- 通常有一个传感器来检测物理事件,如运动或漏水。
- 也可能有执行器产生物理变化,例如打开灯或关闭阀门。
- 这些传感器和执行器与一个或多个微处理器连接,这些微处理器运行驱动物联网功能的逻辑。
- 作为连接的设备,它必须至少有一个通信组件,可以是某种类型的无线电,也可以是以太网等有线通信方法。
- 物联网设备通常由电池供电,因此在选择设备、设计功能和创建通信策略时,电源管理成为关键考虑因素。
3. 本地通信方法和协议
每个物联网设备都需要通信。某些设备仅发送信息;许多其他人同时发送和接收。虽然与对等设备的某些通信是直接的,但远程通信通常需要通过网关才能到达目的地。无论设备的消息需要发送到何处,每个旅程都始于第一步。
下图说明了无线通信的一个模型,以及无线网络中的每个“节点”如何扮演定义的角色。正如您在此示例中所看到的,它被称为“星形网络”,智能无线模块协调与充当路由器的设备之间的通信,并将通信移出到终端设备。

对于无线设备和协议的不同组合,方案会发生变化。在下图中,您可以看到如何使用不同的无线协议构建网络以各种方式运行。最佳协议取决于许多因素,例如网络上通信节点之间的距离。
物联网通信的第一步或“跳跃”将是有线或无线的。有线连接可以使用简单的串行协议,尽管最常见的是使用以太网等网络系统,允许“直接”Internet协议(TCP / IP)连接到网络服务器或云应用程序。通过互联网传递的消息通过许多不同的设备路由,但是作为物联网架构师,我们可以安全地将这个过程抽象出来。有线连接快速可靠,但运行物理布线通常过于昂贵或不切实际。当然,对于任何移动的东西,电线是不可能的。
下图说明了无线通信的一个模型,以及无线网络中的每个“节点”如何扮演定义的角色。正如您在此示例中所看到的,它被称为“星形网络”,智能无线模块协调与充当路由器的设备之间的通信,并将通信移出到终端设备。

对于无线设备和协议的不同组合,方案会发生变化。在下图中,您可以看到如何使用不同的无线协议构建网络以各种方式运行。最佳协议取决于许多因素,例如网络上通信节点之间的距离。
物联网通信的第一步或“跳跃”将是有线或无线的。有线连接可以使用简单的串行协议,尽管最常见的是使用以太网等网络系统,允许“直接”Internet协议(TCP / IP)连接到网络服务器或云应用程序。通过互联网传递的消息通过许多不同的设备路由,但是作为物联网架构师,我们可以安全地将这个过程抽象出来。有线连接快速可靠,但运行物理布线通常过于昂贵或不切实际。当然,对于任何移动的东西,电线是不可能的。

物联网的无线通信几乎总是通过无线电进行,并且有数百种无线电协议可供选择。有几个很受欢迎。以下是一些常用通信协议的高级概述:
- 一些设备使用 Wi-Fi,只要可以满足其电源要求并且其复杂的处理和配置需求不会造成障碍,Wi-Fi 就具有许多优势。Wi-Fi在本地运行TCP / IP,因此一旦配置,我们就可以抽象出互联网本身的复杂性。
- Zigbee和Z-wave是家庭自动化网络中的知名人士,因为它们针对低功耗,低带宽通信进行了优化,并且都允许家庭中的设备直接相互通信以提高速度和安全性。两者都不直接支持 Internet 协议,因此本地区域之外的通信通常通过网关路由。
- LoRaWAN协议在低带宽物联网中也越来越受欢迎.它结合了长距离和非常低的带宽,为只有非常小的事情要说的设备支持数英里的视线范围。
- 蓝牙及其低能耗姐妹BLE在简单的物联网设备中非常受欢迎。两者都不能进行很远的通信,因此将使用另一种设备(通常是移动电话)来促进长途消息传递。
- 蜂窝网络现在可以轻松容纳物联网设备。Cat-M和NB-IoT等新的蜂窝协议允许电池供电的设备无需充电即可运行数月,以换取非常有限的带宽。
- 其他协议(如4G LTE和5G)需要更多的功率,但也可以处理数字视频等更重的数据。
- 还有许多专有和单一制造商协议针对独特的距离需求、特殊带宽要求、困难的无线电环境,当然还有成本优化进行了调整。没有一种协议可以统治它们。每个项目都有自己的最佳解决方案。
计算机网络框架通常在虚拟层中构建。最低层处理物理部分,电线或无线电波。接下来是协调消息如何形成、寻址、路由和确认的层。这些中间层令人着迷,但超出了本次讨论的范围。最高层管理有用的内容,通常称为“应用程序”,如“OSI 网络模型”的插图所示。OSI代表开放系统互连,该模型是一个概念框架,描述了网络功能的组件或层。
应用层是完成物联网真正工作的地方,它可以以许多不同的方式发生。当来自许多不同制造商的设备需要合作才能完成工作时,拥有一种标准的方式来传达特定工作是非常有帮助的。某些无线协议标准化了有关常见任务(如照明控制、安全或音频流)的消息传递。
Zigbee,蓝牙和Z-Wave都包含提供标准语言的应用协议,例如,一家公司制造的电灯开关可以打开其他公司生产的三种不同的灯。其他应用程序协议更通用。MQTT 和 CoAP 都是非常轻量级的应用程序协议,它们标准化了不同设备之间的通信,而不会将消息传递限制为特定任务。由于它们重量轻,因此消耗的带宽非常少,因此功耗也很小,因此非常适合电池供电的设备。
具有更多功率和带宽的设备可以通过HTTP(Web背后的协议)使用RESTful通信。这个广泛实施的框架也与任务无关,但由于它在设计时没有考虑到极高的效率,因此它可以快速耗尽小型物联网设备的电池和带宽,因此应谨慎实施。
具有更多功率和带宽的设备可以通过HTTP(Web背后的协议)使用RESTful通信。这个广泛实施的框架也与任务无关,但由于它在设计时没有考虑到极高的效率,因此它可以快速耗尽小型物联网设备的电池和带宽,因此应谨慎实施。

4. 网关
当设备无法直接运行互联网协议 (TCP/IP) 时,它通常会将其消息传递到另一个称为网关的设备。此网关将处理和转发进出互联网的消息。
网关帮助物联网设备保持小型、电池供电且价格低廉,因为它们通常将多个设备作为本地基站处理。例如,下面是一些现实生活中的场景:
网关帮助物联网设备保持小型、电池供电且价格低廉,因为它们通常将多个设备作为本地基站处理。例如,下面是一些现实生活中的场景:
- 运行蓝牙/BLE的可穿戴设备通常使用手机作为互联网的网关。只要手机和设备彼此靠近,这就可以很好地工作。
- Zigbee,Z-Wave和LoRaWAN等家庭自动化协议不能直接由手机处理,也没有意义,因为手机不会停留在固定的位置。这些协议以及专有协议通常使用插入墙上电源和以太网、Wi-Fi 或蜂窝的网关盒。他们使用本地协议(如Zigbee)从设备接收信息,处理他们收到的信息,然后通过Internet转发。
- 工业环境(如太阳能场和风电场)需要一个强化的工业网关来路由来自分布在远程设备网络上的设备之间的通信,如下图所示。
这种“多跳”网关过程允许功能有限的设备连接到遥远的位置,通常使用一系列不同的协议来完成工作。网关通常使用 MQTT、REST 或 CoAP 等应用程序协议与通常位于某个远程数据中心的网络服务器或云应用程序连接。


5. 网络服务器和云应用程序
大多数物联网通信最初由某种类型的网络服务器接受和处理。某些协议需要这样做才能完成低级工作,例如冗余消息的重复数据消除和特殊协议格式的转换。即使协议不需要额外的处理,拥有一个不仅可以管理通信而且可以配置、保护和报告设备本身的系统也是无穷无尽的帮助。
一旦网络服务器完成其工作,数据通常会与云应用程序交换,该应用程序将完成将物联网数据转换为有用的信息,将其提供给人类用户并存储以供后续分析。云应用程序通常与AWS或Azure等平台上的其他网络服务一起运行。它们通常使用Node.js,Python或Java等语言创建,并与SQL或NoSQL数据库相关联,该数据库可以管理来自物联网设备群的雪崩数据。
大数据中心并不是每个系统都需要的。即使是像Raspberry Pi这样的小型爱好计算机也可以完成云巨头提供的大部分功能,尽管规模绝对有限。一个活的网络在工作中有许多相互关联的组件,确保数据在需要到达的地方交付。数字远程管理器设备管理平台云服务器完成了将数据(关于世界的原始事实)转化为有用信息的过程。来自电表的脉冲转化为有关使发电厂上网的决策。温度读数被转化为天气预报。信息双向流动,因此云服务器还管理传出命令,这些命令控制从交通信号灯到鸡舍喂食器的所有内容。即使所有这些技术都到位,也始终需要人际互动。因此,云服务器的一项关键任务是提供将人们带入循环的用户界面。用户界面是物联网通信链的最后一步。它们也是命令链中的第一步,这些命令将通过系统执行一个或多个物联网设备。有许多类型的用户界面,IoT 解决方案通常支持多个类型。
人类可以通过网站、智能手机移动应用程序、特殊的桌面应用程序与系统进行交互,也可以通过与 Salesforce 等业务服务的 API 集成间接进行交互。并非所有交互都是远程进行的。一些物联网设备旨在支持直接访问和配置,无论是通过板载触摸屏还是仅通过一些交换机。无论采用哪种方法,用户界面都是橡胶与道路相遇的地方。在这里,人们可以释放其物联网系统和他们创建的信息的全部价值。
人类可以通过网站、智能手机移动应用程序、特殊的桌面应用程序与系统进行交互,也可以通过与 Salesforce 等业务服务的 API 集成间接进行交互。并非所有交互都是远程进行的。一些物联网设备旨在支持直接访问和配置,无论是通过板载触摸屏还是仅通过一些交换机。无论采用哪种方法,用户界面都是橡胶与道路相遇的地方。在这里,人们可以释放其物联网系统和他们创建的信息的全部价值。
电灯开关示例
下面是使用所有这些组件的家庭自动化系统的简单示例。房主希望使用本地开关控制他们的餐厅灯,并且还能够远程打开和关闭灯。他们选择了一个包含电池供电的物联网墙壁开关的系统。它使用Zigbee无线协议直接与灯通信。

该协议包括专门设计的照明语言。由于Zigbee是一种低带宽协议,不会消耗太多功率,因此范围也受到限制。因此,对于远程访问,系统带有一个小网关。网关将Zigbee消息转换为MQTT应用程序协议,并将其传递给运行家庭自动化系统应用程序的网络和云服务器。该云应用程序与房主使用的移动应用程序进行通信。无论是在家里,还是在完全不同的大陆上,他们都可以看到餐厅灯光的当前状态并立即控制它。

该协议包括专门设计的照明语言。由于Zigbee是一种低带宽协议,不会消耗太多功率,因此范围也受到限制。因此,对于远程访问,系统带有一个小网关。网关将Zigbee消息转换为MQTT应用程序协议,并将其传递给运行家庭自动化系统应用程序的网络和云服务器。该云应用程序与房主使用的移动应用程序进行通信。无论是在家里,还是在完全不同的大陆上,他们都可以看到餐厅灯光的当前状态并立即控制它。