实现RS485采集温湿度并通过4G 无线 Mqtt 上报云服务

基于 FlexLua 《DTU01万能采集器》实现对市面上常见的 RS485 温湿度传感器的采集,并可通4G 无线 Mqtt通信方式将传感器数据上报至云平台服务器。

faae93720ba80de04824a51e81100936.jpeg
60bc32823276874b14ee1894b512e5ad.jpeg

DTU01 万能采集器介绍

基于《DTU01采集器》实现采集市面上常见的 RS485 Modbus 温湿度传感器数据,并将采集到的传感器数据以 Json 字符串的形式通过可选的 4G/WiFi/以太网/Lora 其中一种方式发送给网关或云服务器。在需要电池供电的场景下,还可通过给 DTU01 增加低功耗模块以实现周期性休眠采集,休眠电流可低至 3uA 以内,以实现在电池供电场景下的几个月甚至几年的周期性长期采集。

4b037f71f7be35aa749795a0d1ed8ef2.jpeg

关于 DTU01 万能采集器:

《DTU01万能采集器》内部核心主控采用 ShineBlink C2M 低代码物联网核心模组,使用该主控核心模组可轻松采集大量市面上常见的传感器数据,并可自由选择通过 4G/WiFi/以太网/Lora 中的一种方式进行数据通信。本采集器硬件资料和源代码开放且源码极其精简,所以开发者无论是否有嵌入式单片机开发经验,皆可轻松基于源码进行二次开发(例如:新功能增加、边缘数据处理、逻辑判断、特殊协议解析等)。当然如果使用者对编程不感兴趣也可直接参考下面的技术指导文章即可实现大部分场景的需求。

传感器采集核心代码

参考传感器资料中的 RS485 通信参数以及 Modbus 寄存器点位表,可得如下代码,将以下代码覆盖至对应的 main.lua 源代码文件中即可实现传感器的采集。

--读取RS485温湿度传感器
--获取到的Json数据形如:{"Humi":79.7,"Temp":26.8}
function ModbusToJson()
--配置RS485 Modbus转Json功能,并设置将要生成的Json字符串最大长度为150字节
LIB_ModbusToJsonConfig(150)--必须小于255
--湿度值寄存器地址0x0000,类型为16bit带符号AB型,小数点个数1个,Json Key名称"Humi"
LIB_ModbusToJsonAdd(0x0000,"S_AB",1,"Humi")
--温度值寄存器地址0x0001,类型为16bit带符号AB型,小数点个数1个,Json Key名称"Temp"
LIB_ModbusToJsonAdd(0x0001,"S_AB",1,"Temp")

--参数设置(4800,无校验,1位停止位,功能码"03",从机地址0x01,应答最长等待1000ms,包与包最短间隔100ms)
LIB_ModbusToJsonSend("BAUDRATE_4800","NoneParity","StopBit_1","03",0x01,1000,100)
end

4G Mqtt 主动传输(直流供电+电池供电)

81ef5c7c415e7bf2650ffbf9de00b524.jpeg

周期性采集 RS485 Modbus 温湿度传感器数据并转换成可读性更强的 Json 字符串,然后通过 4G Mqtt 发送至云端,Json 字符串示例如下:

{"Dev":"TH","Data":{"Humi":79.7,"Temp":26.8},"Err":null}

实现方法如下:

  • 请仔细阅读参考 DTU01 的《软件使用指导书(RS485_4G_MQTT)》,并在 main.lua 源代码文件中修改好"配置信息"
  • 将第五节中提供的"传感器采集核心代码"覆盖至相应的 main.lua 源代码文件中
  • 注意:如果需要使用低功耗电池供电功能,还需在配置信息中配置 SysSleepEn 参数

指导书文件和main.lua源代码文件均位于:

{FlexLua开源网盘} -> {Software} -> {DTU01万能采集器}-> {RS485} -> {4G主动发送} -> {MQTT} 文件夹中

完整实现资料可以在 www.flexlua.com 参看 S000A 文档

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值