MQTT 和 MODBUS 协议有什么区别?

Suy*_*shi 5 modbus mqtt

我最近一直在阅读有关这两个协议的内容,但不太明白为什么当我们有 MODBUS 时要使用 MQTT(反之亦然)。

因为,MODBUS 用于在低带宽下通过 PLC 之间的串行通信传输数据,但据我了解,MQTT 使用其发布/订阅方法执行相同的操作(我知道 MQTT 使用代理而 MODBUS 不使用,但事实并非如此)点)。

有人可以明确区分它们吗?

小智 5

它们截然不同,但都在各自的时代流行。

Modbus最初发布于1979年,主要设计用于控制/监控软件与有限规模的现场设备(例如工厂/建筑物)进行通信。所以它有以下几个关键考虑因素,

  • 一对多拓扑,总是有一个master轮询多个slave
  • 简单性高于灵活性,它仅支持请求-响应模式
  • 确定性时序优于性能,支持控制系统严格的实时性要求

MQTT始于 1999 年,从那时起,大规模网络和互联网变得更加流行,软件和设备之间需要更复杂的通信方式,例如基于事件的机器对机器通信。所以MQTT的出现是为了满足以下需求,

  • 多对多拓扑,所有参与者都可以通过公共代理相互通信。
  • 规模大,适用于大型网络,例如互联网。
  • 灵活性,所有参与者解耦,并提供QoS以满足不同的交付协议。

简而言之

  • 如果您是软件架构师,请尽可能使用MQTT ,因为它是为现代物联网世界精心设计的,
  • 如果您正在设计智能设备,您可以考虑使用Modbus来与传统 PLC/SCADA 系统兼容。

额外好处:您可以考虑将Modbus桥接到MQTT世界,就像这个modpoll工具一样。


pan*_*pan 3

Normal Modbus 是一种串行通信协议,通常用于连接工业电子设备。

MQTT 是一种在 TCP/IP 协议之上使用的消息传递协议,通常用于将测量结果从电子设备发送到另一方。

也许这个链接有一点帮助。 物联网网关协议的比较:MQTT 和 Modbus