zoukankan      html  css  js  c++  java
  • MQTT协议和Modbus之间的区别是什么

           物联网网关协议MQTT和Modbus:用于短距离设备连接的本地协议Modbus以及支持物联网进行全局通信的可扩展互联网协议“消息队列遥测传输 (MQTT),两种网关协议有什么区别。

           Modbus协议

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

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

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

           消息队列遥测传输

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

           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。 QoS 2表示“只有一次”,并包含四个阶段的交付握手。该等级最慢,但是最安全。

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

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

  • 相关阅读:
    HDU2586 How far away?(tarjan的LCA)
    You Raise Me Up
    POJ2891 Strange Way to Express Integers(中国剩余定理)
    POJ2142 The Balance(扩展欧几里得)
    HDU 1166模仿大牛写的线段树
    NetWord Dinic
    HDU 1754 线段树裸题
    hdu1394 Minimum Inversion Number
    hdu2795 Billboard
    【完全版】线段树
  • 原文地址:https://www.cnblogs.com/zhongs/p/14885398.html
Copyright © 2011-2022 走看看