千家信息网

MQTT协议和Modbus协议的比较

发表于:2024-10-02 作者:千家信息网编辑
千家信息网最后更新 2024年10月02日,这篇文章主要介绍"MQTT协议和Modbus协议的比较",在日常操作中,相信很多人在MQTT协议和Modbus协议的比较问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"M
千家信息网最后更新 2024年10月02日MQTT协议和Modbus协议的比较

这篇文章主要介绍"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协议的比较"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0