温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MQTT协议和Modbus协议的比较

发布时间:2021-09-14 14:40:52 来源:亿速云 阅读:582 作者:chen 栏目:互联网科技

这篇文章主要介绍“MQTT协议和Modbus协议的比较”,在日常操作中,相信很多人在MQTT协议和Modbus协议的比较问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MQTT协议和Modbus协议的比较”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

协议就是通信双方的一个约定,即,表示第1位传输的什么、第2位传输的什么……。

Modbus协议主要构成是地址码/标识码,功能码,寄存器地址,数据报文等内容。由于modbus协议是请求/应答通信协议,其其中功能码主要用于表述该数据报文执行的功能,当服务器对客户机进行响应时,它使用功能码域来指示正常响应(无差错)或者异常响应(即出现某种差错),其中的modbus协议的功能码众多,在此不能一一列出。

我们以Modbus RTU协议为例,地址码为0x01,写操作0x10,寄存器地址为0x018E,CRC校验。如寄存器可读写的话,返回正常,如寄存器只读,返回异常。

下发指令:01 10 01 8E 00 01 02 00 00 69 BE(向寄存器0x018E写入一个数值为0的数据)

正确回应指令:01 10 01 8E 00 01 60 1E(向寄存器地址0x018E写操作一个寄存器)

错误回应指令:01 90 01 8D C0(写操作非法功能,可能是向输入寄存器写数据)

MQTT协议中,一个MQTT数据包由:固定头(Fixed header)、 可变头(Variable header)、 消息体(payload)三部分构成。

  1. MQTT固定头

    • 1.1 MQTT数据包类型

    • 1.2 标识位

    • 1.3 剩余长度(Remaining Length)

  2. MQTT可变头

  3. Payload消息体

MQTT 数据包结构

  • 固定头(Fixed header),存在于所有MQTT数据包中,表示数据包类型及数据包的分组类标识

  • 可变头(Variable header),存在于部分MQTT数据包中,数据包类型决定了可变头是否存在及其具体内容

  • 消息体(Payload),存在于部分MQTT数据包中,表示客户端收到的具体内容

到此,关于“MQTT协议和Modbus协议的比较”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI