哪一种物联网协议比较合适

发布时间:2020-01-08

阅读量:1003

在设计物联网设备时,可以肯定的是一件事是它不会是独立的。与过去大多数传统嵌入式设备的开发方式不同,物联网设备将始终具有某种形式的通信功能。在大多数情况下,这将是基于无线的,选择通信方式的关键决定因素将是所需范围,要传输的数据量和可用功率等的预算。因此,嵌入式开发人员必须深入研究通信协议,标准和无线规范。

确定要为您的物联网设备使用哪种协议的第一步是退后一步,回顾一下OSI 7层模型(应用层,表示层,会话层,传输层,网络层,数据链路层,物理层)。在物理和数据层,Wi-Fi(802.11)和蜂窝3G和LTE等协议就是很好的例子。以太网主导着有线世界,而Wi-Fi是传输大量数据的主要候选者。对于后者,要注意的是,对于通过电池供电的设备进行的始终开启操作,这有点耗电。低功耗蓝牙(BLE)是降低数据速率和功耗预算的可行选择。但是,BLE的射程是一个限制,通常仅限于30米左右的可靠自由空间操作。更长距离的替代方案包括蜂窝3G和4G网络,这些网络的数据速率正在迅速接近Wi-Fi速度。同样令人感兴趣的是速度要低得多的窄带物联网协议(NB-IoT),与未经许可的858/915 MHz工业,科学和医学频谱中的NB-IoT竞争的是低功率,低数据速率产品SigFox和LoRa。Z-Wave是该频谱中的另一种候选产品,尽管其引用范围远小于其他产品。

在传输层,TCP和UDP是两个协议。TCP是默认设置,但是某些嵌入式应用程序开始使用UDP协议,因为它的包开销不如TCP。

关于使用哪种协议的主要焦点通常是关于数据协议,这是在应用程序层上。有很多选择,其中一些正在逐渐流行起来。其中包括CoAP和MQTT,以及XMPP和RESTful HTTP的Web方法。受限应用协议(CoAP)是由Internet工程任务组(IETF)启用的,是从头开始设计的,用于计算资源有限的低功耗设备。CoAP基于请求或响应模型,提供合理的安全性,并使用UDP协议,因此使用起来非常轻便。

MQTT还被设计为资源受限设备的轻量级协议,它使用发布和订阅模型,非常适合在低带宽,高延迟网络中使用。MQTT旨在通过基于云的应用程序进行监视的传感器和设备的大规模部署,具有极高的带宽效率,并且只需要很少的代码空间。

最近的多框架协议(包括Thread)已被Google等公司采用。线程规范具有其自己的物理层,但通过使用现有的无线模块和收发器保留了与802.15.4的兼容性。作为低功耗开放式IPv6协议开发的Thread的核心目标是通过使用网格技术来防止单点故障,从而确保无数设备之间的连接。

从审查运行要求开始,需要仔细考虑为物联网应用选择所需的协议。有了许多不同的选择,清楚说明物联网设备的运行标准将有助于缩小选择过程。