Modbus 是一个串行通信协议,首次出现于 1979 年,是连接行业设备实际使用的标准协议。 MQTT 早在 20 年前便已出现,但是将这两个协议结合在一起使用,能够为深度嵌入式设备提供物联网的规模和连接性。 图 1 展示了这些协议之间的一般关系,同时介绍了连接的支持解决方案:物联网网关。
图 1 物联网 (IoT) 网关作为物联网通信的支持解决方案 我们来看一下 Modbus 和 MQTT,以了解其区别以及如何在物联网中互相补充。
Modbus
自 1979 年首次出现至今,Modbus 已经演变为一套全面的支持多种物理链接的协议集(如 RS-485)。 Modbus 的核心是一个串行通信协议,采用主从模式。 主机向从机发送请求,从机予以回复。 在标准 Modbus 网络中,有一台主机以及最多 247 台从机(但是,如果采用 2 字节寻址,则可显著提高这一界限)。
借助 RS-485,主从机之间的通信发生在指示功能码的帧中。 该功能码可识别要 *** 作的功能,如读取独立输入;读取先进先出队列;或执行诊断函数。 然后,从机根据收到的功能码进行响应,该响应较为简单,由一组字节指示。 因此,从机可以是智能设备,也可以是只有一个传感器的简单设备。
从该描述中,您可以看到 Modbus 协议非常简单,但是其作为协议的开放性使其成为整个行业或 SCADA 系统的实际通信协议。
消息队列遥测传输MQTT是非常流行的设备的接入协议,包括IBM、亚马逊、微软的IoT托管服务都有支持,而CoAP在这方面几乎没有露面的机会。感觉以下几点是MQTT优于CoAP的主要原因:
MQTT基于TCP,在做反控设备的时候比UDP更可靠,比如CoAP走3G、4G的时候甚至需要实现CoAP over TCP,否则反控很不稳定甚至无法联通。
MQTT异步Pub/Sub实现,好比发个微信,无需等待对方确认便可以继续,而不像CoAP那样必须等待对方应答才能返回的同步模式。
MQTT为物联网提供了许多体贴的设计,比如QoS,比如“遗言”的设计。
篇幅有限,无法完全枚举MQTT的优越性,建议参考以下文章:
MQTT入门篇
MQTT进阶篇
MQTT安全篇
MQTT实战篇
当然,CoAP在功耗方面有优势,不过随着物联网设备特别是网管的计算能力加强,这点应该不是主要矛盾。
常见的有以下几种协议
(1)>
(2)>
(3)TCP协议(传输控制协议)
主要用于网间传输的协议,分割处理报文并把结果包传到IP层,并接收处理IP曾传到的数据包
(4)IP协议(网络互连协议)
(5)FTP协议(文件传输协议)
(6)SMTP协议(简单邮件传输协议)
(7)Telnet协议
Telnet是TCP/IP中的一种应用协议,可以为终端仿真提供支持。
AR7091
爱陆通的工业网关支持MQTT协议以及华为/阿里/电信/移动等主流IOT物联网平台,满足工控 OPCUA 协议与 MODBUS 协议转换。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)