发布时间:2022-11-25
阅读量:108次
IoT网关协议比较:MQTT,ModBus/MBus协议介绍
物联网(IoT,或者说工业互联网)的基础在于设备之间的通信,通信协议在将海量设备连接到互联网时发挥着重要作用。
IoT中的常用协议
MQTT
MQTT全称消息队列遥测传输(Message Queue Transfering Transport),是一种轻量级,可扩展的互联网协议,可用于支持物联网全局通信。MQTT专为物联网交互设计,通信对设备的资源要求低,保证了通信的高效性(支持低带宽网络)。和HTTP等协议相比,其网络开销非常小。同时,MQTT允许定义服务质量,分为最多一次发送(QoS 0),至少一次发送(QoS 1)和只有一次发送(QoS 2)三个等级,通信质量由低到高,资源占用由少至多。MQTT网络由发布者(Publisher),代理(Broker)以及订阅者(Subscriber)三者构成,如图。
MQTT
消息队列遥测传输(MQTT)是一种开源协议,针对受限设备和低带宽,高延迟或不可靠网络而开发和优化。它是一种发布/订阅消息传输,非常轻量级,非常适合以较小的带宽将小型设备连接到网络。MQTT具有带宽效率、与数据无关,并且具有连续的会话感知,因为它使用TCP。它旨在最大限度地减少设备资源需求,同时还试图确保可靠性和一定程度的服务等级交付保证。
MQTT针对需要从Internet上的后端服务器进行监视或控制的大型小型设备网络。它不是为设备到设备传输而设计的,也不是为了将数据“多播”到许多接收器而设计的。MQTT很简单,几乎没有控制选项。使用MQTT的应用程序通常很慢,因为在这种情况下“实时”的定义通常以秒为单位进行测量。
MQTT常用网络结构
客户端通过代理向服务端订阅消息主题。当服务端发布消息时,代理将该消息发送给订阅此主题的客户端。
ModBus/MBus
Modbus核心是一个串行通信协议,采用主从模式,主机向从机请求数据,是短距离连接行业设备的标准协议。标准Modbus最多支持247台从机(采用2字节寻址,可提高从机数量)。经过四十年发展,Modbus已经演变为支持多种物理链接的协议集(如RS-485)。借助RS-485,主从机之间的通信发生在指示功能码的帧中。该功能码指示要操作的功能:读取输入/队列 或执行诊断函数,从机根据功能码进行响应。Modbus协议非常简单,其开放性使其成为整个行业或SCADA系统的实际通信协议。