MQTT和Modbus的物联网网关协议区别分析

物联网 (iot) 不只是新技术,还是与旧技术的集成,其关键在于通信。可用的通信方法各不相同,但是,各种不同的协议在将海量 “事物” 连接到互联网时发挥着重要的作用。 本文介绍了两种物联网补充协议:用于短距离设备连接的本地协议 modbus 以及支持物联网进行全局通信的可扩展互联网协议 “消息队列遥测传输 (mqtt)”。 modbus 是一个串行通信协议,首次出现于 1979 年,是连接行业设备实际使用的标准协议。mqtt 早在 20 年前便已出现,但是将这两个协议结合在一起使用,能够为深度嵌入式设备提供物联网的规模和连接性。 图 1. 物联网 (iot) 网关作为物联网通信的支持解决方案 我们来看一下 modbus 和 mqtt,以了解其区别以及如何在物联网中互相补充。
1、modbus
自 1979 年首次出现至今,modbus 已经演变为一套全面的支持多种物理链接的协议集(如 rs-485)。modbus 的核心是一个串行通信协议,采用主从模式。主机向从机发送请求,从机予以回复。在标准 modbus 网络中,有一台主机以及最多 247 台从机(但是,如果采用 2 字节寻址,则可显著提高这一界限)。 借助 rs-485,主从机之间的通信发生在指示功能码的帧中。该功能码可识别要操作的功能,如读取独立输入;读取先进先出队列;或执行诊断函数。然后,从机根据收到的功能码进行响应,该响应较为简单,由一组字节指示。因此,从机可以是智能设备,也可以是只有一个传感器的简单设备。 从该描述中,您可以看到 modbus 协议非常简单,但是其作为协议的开放性使其成为整个行业或 scada 系统的实际通信协议。
2、消息队列遥测传输
mqtt 是一个开放的轻量级机器对机器协议,专为物联网交互设计。mqtt 网络包含一个 mqtt 经纪人 (broker),负责协调 mqtt 代理之间的交互。代理是发布器,负责发布供用户使用的信息(参见图 2)。 图 2. 消息队列遥测传输网络中的作用因素
mqtt 的要求非常少,因为它专为资源有限的嵌入式设备设计。除了占地空间少之外,mqtt 还可提供出色的通信高效性(即使通过低带宽网络进行通信)和非常少的开销(较之 http 等协议)。在 3g 网络中,mqtt 的吞吐量速度是使用 http 的表述性状态转移 (rest) 的 93 倍。 mqtt 可使用最少的方法指示要在特定主题上实施的操作,进而实施发布 / 订阅模式。代理先连接到经纪人,然后再发布或订阅主题。完成后,代理将从经纪人上断开连接。mqtt 方法定义: 连接 - 建立与 mqtt 经纪人之间的连接。 断开连接 - 断开与 mqtt 经纪人之间的连接。 发布 - 在 mqtt 经纪人上发布主题。 订阅 - 从 mqtt 经纪人上订阅主题。 退订 - 从 mqtt 经纪人上退订主题。 图 3 展示了发布者与订阅者使用 mqtt 经纪人进行的简单交互。如图所示,信息创建者 (producer) 连接至 mqtt 经纪人。同样,信息消费者 (consumer) 连接至 mqtt 经纪人。消费者订阅主题(此处定义为 /home/alarms/1/status)。本示例主题可识别主页上针对区域 1 的警报系统的状态变化。当创建者有信息要分享时,它会向经纪人发布一条消息,然后经纪人将会将信息分享给所有订阅该主题的用户。 图 3. 消息队列遥测传输代理之间的简单交互
请注意此处分享的主题结构。它与文件系统层次结构相似,这可简化主题的结构。这种资源层次形式也常见于协议架构中,如 rest。 mqtt 甚至允许使用通配符的形式,以简化订阅流程。如果用户想要获取所有警报的状态,则可直接订阅 /home/alarms/+/status,该主题可通知用户所有的警报状态变化。整个子树还可使用主题 /home/# 进行订阅,该主题可以订阅 /home 下的所有事件。
2.1 服务质量
mqtt 允许定义服务质量 (qos)。mqtt 中有三个等级的 qos: qos 0。该等级表示 “最多一次” 交付(最佳状况)。消息不会得到确认,因而,这是一种一劳永与的方法。 qos 1。该等级表示 “至少一次” 交付。用户可能不止一次获得消息,但是允许收到的人确认已经收到。 qos 2。最慢但是最有保障的服务质量等级即为等级 2。qos 2 表示 “只有一次”,并包含四个阶段的交付握手。该等级最慢,但是最安全。 您选择的 qos 等级将取决于数据及其交付的重要性。
2.2 消息队列遥测传输经纪人
随着越来越多的物联网采用 mqtt 作为支持协议,您将会发现许多开源应用和产品中出现了 mqtt。英特尔 物联网网关解决方案则是其中一款采用 mqtt 的全面物联网解决方案。 该系列产品支持传感器、设备和云之间安全交互。这些预验证的应用就绪型平台支持出色的可管理性、安全性和多种连接选项,如 zigbee*、蜂窝网络、蓝牙 *、usb、wi-fi*,当然还有 mqtt 和 modbus 等协议。 英特尔根据市场需求提供了三个版本的英特尔 物联网网关,分别包含不同的输入 / 输出选项,并针对工业和能源、交通运输以及综合产业等不同领域。虽有不同之处,但它们无一例外都包括通用的可管理性和供应、数据和端点安全性以及运行时环境。它们分别运行在安全且稳定的 wind river* linux* 上。 英特尔 物联网网关的主要优势是 mcafee 嵌入式控制安全技术。mcafee 嵌入式控制可根据策略处理设备变化,同时能够追踪所有变化,提供完整的可视性和可说明性,以便进行持续的审计跟踪。 总结 mqtt 和 modbus 能够互相补充提高物联网的性能。使用 modbus 作为本地接口来管理设备,使用 mqtt 作为全局协议来扩展设备的范围,二者都起到了重要的作用。英特尔 物联网网关可为现在以及未来构建物联网提供一个简单、安全的方式。


如何选购生活常用电池?
解决噪声问题的PCB注意事项
5G时代区块链技术的发展还面临哪些困难
乐视手机2017年的首部旗舰机就要来了!骁龙835,1300万三摄,整机无实体按键
基于X25165芯片在8051单片机中的应用
MQTT和Modbus的物联网网关协议区别分析
fpc和pcb的区别与应用
高通推出新的C-V2X芯片 目的直指自动驾驶
亚马逊将投资28亿美元,在印度修建多个数据中心
Linux中的kill 和 killall 命令介绍
广东首个用户侧商用分布式储能正式落地,一般工商业电价第5次降价
苹果暂停与现代汽车合作谈判,日本汽车厂商是否会成为苹果造车工具
比较器IC数据手册中的参数和规格
怎么认识广播电视发射机
国际首部完整讲授当代深度学习计算系统软硬件技术栈的教材
华米科技竟用类金刚石镀膜保护智能手表的3D玻璃镜面
大族封测IPO进程再进一步
冰箱电机驱动该如何设计
恩智浦SmartMX安全芯片出货量超五亿,缔造新纪录
中国电信实践证明了不换卡不换号也可以打5G电话