一文读懂物联网网关协议MQTT和Modbus二者的区别

物联网(IoT)技术的关键在于通信,各种不同的协议在将海量“事物”连接到互联网时发挥着重要的作用。本文介绍了两种物联网补充协议:支持物联网进行全局通信的可扩展互联网协议“消息队列遥测传输(MQTT)”以及用于短距离设备连接的本地协议Modbus,让你详细了解它们之间的区别。

MQTT协议

MQTT是一个开放的轻量级机器对机器协议,专为物联网交互设计。MQTT网络包含一个MQTT经纪人(broker),负责协调MQTT代理之间的交互。代理是发布器,负责发布供用户使用的信息。

一文读懂物联网网关协议MQTT和Modbus二者的区别

MQTT的要求非常少,因为它专为资源有限的嵌入式设备设计。除了占地空间少之外,MQTT还可提供出色的通信高效性(即使通过低带宽网络进行通信)和非常少的开销(较之HTTP等协议)。在3G网络中,MQTT的吞吐量速度是使用HTTP的表述性状态转移(REST)的93倍。

MQTT可使用最少的方法指示要在特定主题上实施的操作,进而实施发布/订阅模式。代理先连接到经纪人,然后再发布或订阅主题。完成后,代理将从经纪人上断开连接。MQTT方法定义:

  • 连接–建立与MQTT经纪人之间的连接。
  • 断开连接–断开与MQTT经纪人之间的连接。
  • 发布–在MQTT经纪人上发布主题。
  • 订阅–从MQTT经纪人上订阅主题。
  • 退订–从MQTT经纪人上退订主题。

MQTT允许定义服务质量(QoS)。MQTT中有三个等级的QoS:

QoS 0:该等级表示“最多一次”交付(最佳状况)。消息不会得到确认,因而,这是一种一劳永与的方法。

QoS 1:该等级表示“至少一次”交付。用户可能不止一次获得消息,但是允许收到的人确认已经收到。

QoS 2:最慢但是最有保障的服务质量等级即为等级2。QoS2表示“只有一次”,并包含四个阶段的交付握手。该等级最慢,但是最安全。

您选择的QoS等级将取决于数据及其交付的重要性。

Modbus协议

Modbus是一个串行通信协议,现在已经演变为一套全面的支持多种物理链接的协议集(如RS-485)。Modbus的核心是一个串行通信协议,采用主从模式。主机向从机发送请求,从机予以回复。在标准Modbus网络中,有一台主机以及最多247台从机(但是,如果采用2字节寻址,则可显著提高这一界限)。

一文读懂物联网网关协议MQTT和Modbus二者的区别

MQTT借助RS-485,主从机之间的通信发生在指示功能码的帧中。该功能码可识别要操作的功能,如读取独立输入;读取先进先出队列;或执行诊断函数。然后,从机根据收到的功能码进行响应,该响应较为简单,由一组字节指示。因此,从机可以是智能设备,也可以是只有一个传感器的简单设备。

从该描述中,您可以看到Modbus协议非常简单,但是其作为协议的开放性使其成为整个行业或SCADA系统的实际通信协议。

MQTT和Modbus能够互相补充提高物联网的性能。使用Modbus作为本地接口来管理设备,使用MQTT作为全局协议来扩展设备的范围,二者都起到了重要的作用。

相关新闻

联系我们

028-83268936
17780592430

在线咨询:点击这里给我发消息

邮件:11953460@qq.com

工作时间:周一至周五,9:00-18:00,节假日休息

QR code