STM32L4 4G通信下基于MQTT协议的Modbus-RTU数据帧传输简述

1.简述

MCU通过485串口与4G DTU模块进行数据中转,然后4G DTU模块与平台之间通过MQTT客户端之间的数据传输。发布方发送数据,订阅方接收数据。

1.1.框架图

transmit the Modbus-RTU
transmit the Modbus-RTU
transmit the Modbus-RTU
Publish the Modbus-RTU
Subscribe the Modbus-RTU
Send Data
Send Order
传感器1
MCU+DTU
传感器2
传感器3
Server
App

1.2.MQTT通信的数据帧结构

可用字符串类型的JSON、十六进制的数组列表也行,本文采用十六进制的Modbus-RTU数据帧。

2.数据打包

2.1.小数普通规范

一般小数放大到整数倍然后转十六进制进行发送

2.2.小数浮点数规范

对于小数精度有要求的会采用IEEE754浮点数规范,该规范在Modbus-RTU中一般使用四个字节。

地址码操作码字节数数据高数据低校验高校验低
01030N00010CA9

3.数据解析

该操作属于数据打包的逆向操作,用于平台接收数据帧并根据说明书进行解析。

4.总结

代码基本上就是串口收发和解析后续添加。
思路是环环相扣的,如果代码出现了未知错误,基本上是代码本身的问题(尤其是指针)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AzusaFighting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值