0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MQTT和Modbus协议的区别

strongerHuang 来源:博客园 2023-12-08 15:21 次阅读

来源 | 博客园

物联网 (IoT) 不只是新技术,还是与旧技术的集成,其关键在于通信。可用的通信方法各不相同,但是,各种不同的协议在将海量 “事物” 连接到互联网时发挥着重要的作用。

本文介绍了两种物联网补充协议:用于短距离设备连接的本地协议 Modbus 以及支持物联网进行全局通信的可扩展互联网协议 “消息队列遥测传输 (MQTT)”。

Modbus 是一个串行通信协议,首次出现于 1979 年,是连接行业设备实际使用的标准协议。MQTT 早在 20 年前便已出现,但是将这两个协议结合在一起使用,能够为深度嵌入式设备提供物联网的规模和连接性。

图 1. 物联网 (IoT) 网关作为物联网通信的支持解决方案 我们来看一下 Modbus 和 MQTT,以了解其区别以及如何在物联网中互相补充。

wKgZomVyxFmAI38hAAAhDRXzon8249.png

1、Modbus

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

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

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

2、消息队列遥测传输

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

图 2. 消息队列遥测传输网络中的作用因素

wKgaomVyxFmAB3nSAAA4Q23ALLs850.png

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. 消息队列遥测传输代理之间的简单交互

wKgaomVyxFmAFdE9AAAm9MJVepg001.png

请注意此处分享的主题结构。它与文件系统层次结构相似,这可简化主题的结构。这种资源层次形式也常见于协议架构中,如 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*、蜂窝网络、蓝牙USBWi-Fi,当然还有 MQTT 和 Modbus 等协议。

英特尔根据市场需求提供了三个版本的英特尔 物联网网关,分别包含不同的输入 / 输出选项,并针对工业和能源、交通运输以及综合产业等不同领域。虽有不同之处,但它们无一例外都包括通用的可管理性和供应、数据和端点安全性以及运行时环境。它们分别运行在安全且稳定的 Wind River* Linux* 上。

英特尔 物联网网关的主要优势是 McAfee 嵌入式控制安全技术。McAfee 嵌入式控制可根据策略处理设备变化,同时能够追踪所有变化,提供完整的可视性和可说明性,以便进行持续的审计跟踪。

总结

MQTT 和 Modbus 能够互相补充提高物联网的性能。使用 Modbus 作为本地接口来管理设备,使用 MQTT 作为全局协议来扩展设备的范围,二者都起到了重要的作用。英特尔 物联网网关可为现在以及未来构建物联网提供一个简单、安全的方式。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信协议
    +关注

    关注

    28

    文章

    737

    浏览量

    39745
  • 物联网
    +关注

    关注

    2869

    文章

    41622

    浏览量

    358372
  • MODBUS
    +关注

    关注

    27

    文章

    1437

    浏览量

    75691
  • MQTT
    +关注

    关注

    5

    文章

    537

    浏览量

    21975

原文标题:MQTT 和 Modbus 协议对比

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是Modbus协议?如何写稳定的Modbus代码?

    什么是Modbus协议Modbus协议有哪些分类?使用Modbus时有哪些注意事项?如何写稳定的Modbus代码?
    发表于 07-02 06:54

    modbus协议笔记

    1 Modbus协议概要​ Modbus通信协议由Modicon公司(现在的施耐德电气Schneider Electric)于1979年为可编程逻辑控制(即PLC)通信而发表。目前,Modbu
    发表于 07-02 07:17

    Modbus协议是什么?Modbus协议主要有哪些应用?

    请问一下Modbus协议是什么?Modbus协议主要有哪些应用?
    发表于 07-15 12:04

    Modbus协议的特点是什么

    Modbus协议的特点是什么?Modbus协议有哪几类功能码?
    发表于 09-26 08:13

    Modbus协议地址与协议层次

    Modbus协议地址是什么意思?Modbus协议层次有何优势?
    发表于 09-28 06:27

    Modbus协议是什么

    Modbus协议是什么?MODBUS功能码有哪些?MODBUS协议有哪几种传输模式?
    发表于 09-29 07:06

    Modbus是什么?Modbus协议有哪些优点

    Modbus是什么?Modbus协议有哪些优点?Modbus协议包括哪些?
    发表于 09-30 08:40

    Modbus协议简介及其特点

    Modbus协议是什么,Modbus协议的特点,本文针对Modbus协议的概况加以阐述。
    发表于 11-02 15:00 4465次阅读

    浅谈MQTTModbus协议区别

    MQTT协议(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。 它工作在TCP/IP协议上,是为硬件性能低下的远程设备以及网络状况
    发表于 04-07 11:09 1.5w次阅读
    浅谈<b class='flag-5'>MQTT</b>与<b class='flag-5'>Modbus协议</b>的<b class='flag-5'>区别</b>

    物联网网关协议MQTTModbus区别

    物联网网关协议MQTTModbus:用于短距离设备连接的本地协议Modbus以及支持物联网进行全局通信的可扩展互联网
    发表于 06-15 14:23 1853次阅读

    工业物联网关将MODBUS协议转换成MQTT协议上云(4G)

    。当前的主流物联网云平台对现场设备数据采集大多都支持mqtt协议进行数据通信。 那么如何进行数据的转换处理,将modbus协议转换成MQTT协议
    发表于 01-31 15:29 402次阅读
    工业物联网关将<b class='flag-5'>MODBUS协议</b>转换成<b class='flag-5'>MQTT</b><b class='flag-5'>协议</b>上云(4G)

    modbus协议应用指南

    modbus协议
    发表于 12-04 09:45 1次下载

    modbus协议与485协议区别

    Modbus协议与485协议是工业通信领域中常用的两种协议,它们在不同的层面上具有不同的功能和设计理念。本文将对Modbus协议与485协议
    的头像 发表于 01-11 11:06 5440次阅读

    modbus协议功能码分类 modbus协议功能码是什么,有什么作用

    Modbus协议是一种用于工业领域常见的通信协议,它基于主从结构,用于在不同设备之间实现数据交换。Modbus协议的功能码是决定数据交换类型和操作的重要部分。下面将详细介绍Modbus协议
    的头像 发表于 01-31 14:47 1486次阅读

    Modbus协议网关是什么?Modbus协议网关的功能

    Modbus协议网关是一种专门用于工业自动化环境中的网络设备,其主要功能是实现不同通信协议之间的转换,尤其是将基于Modbus协议的设备或系统与使用其他协议的设备、控制系统或信息系统连
    的头像 发表于 04-11 15:51 127次阅读