4G 模块DTU网关+传感器上传到 OneNET平台 (MQTT新版)智慧农业解决方案
在上一篇《4G模块 DTU网关 ZL-LTE系列 OneNET平台连接教程(MQTT新版)》的基础上,今天介绍DEVELOPLINK设备 DTU ZL-LTE-300 如何通过MQTTS,MODBUS网关功能实现多个传感器接入OneNET平台的智慧农业解决方案。之后更新阿里云、腾讯云、百度云的接入教程。
本文使用到的设备为:DTU ZL-LTE-300、温湿度光照传感器、二氧化碳传感器、氨气传感器
————————————————————————————————————————
对物联网技术感兴趣请加入我们交流群,欢迎各种技术交流,QQ群: 830407941
对我们产品感兴趣请查看淘宝,免费定制项目
DEVELOPLINK ____DTU
DEVELOPLINK ____各类传感器
————————————————————————————————————————
一、 设备准备
1.硬件准备
DTU ZL-LTE-300、温湿度光照三合一传感器、二氧化碳传感器、氨气传感器
2.软件准备
DevelopLink_DTU1.0.9 上位机
Developlink Web配置端
ZLIOT_Sensor 传感器上位机
二、 Modbus网关
在上次的教程中我们已经成功使用MQTTS功能接入OneNET平台,并成果测试了收发数据。下面我们将使用Modbus网关功能,使传感器数据传送到OneNET平台,并简单制作显示界面。
1.调试传感器
1.1 需要重点注意的是串口、波特率、传感器地址(ID)
这里我们将温湿度光照三合一传感器ID设为1,二氧化碳传感器ID设为2,氨气传感器ID设为3。波特率统一设为9600。
2 DevelopLink_DTU上位机配置MODBUS
以温湿度光照三合一传感器为例,上文其ID设为1,因此这里DTU参数对应也设置为1,监测参数的寄存器地址需要看对应的传感器手册。这里我们可以看到,温度寄存器地址为8,湿度9,光照10。
温度数据占一个寄存器,湿度占一个,光照占两个寄存器(设计上可能考虑了光照0-20W Lux需占两位)所以需要读取的寄存器总长度为4。相应的温湿度数据类型选Short,光照选Long。
(支持多种寄存器格式,包含Short,Long,Float及字节顺序,和Modbus Slave软件一致)
以此类推设置CO2,NH3传感器Modbus参数,如图
设置串口参数
写入配置,DTU会自动重启,Modbus配置完成。
3 转换数据格式
DTU默认转换后的数据为Json,需要转换成的OneJson格式才能被平台识别。接下来在远程脚本里面通过Modbus钩子函数来构造我们自定义的数据包。
新建脚本,输入以下代码:
require "log"
require "default"
require "modbus"
-- 这一句非常重要
module("remotedbg", package.seeall)
-- 下行数据的钩子
local function msgSubHook(data, uid)
log.info("modbus sub1", data.temp)
-- 下行数据我们把“temp” 改变一下
if data.temp then
data.temp = data.temp / 10
log.info("modbus sub2", data.temp)
return data
else
return nil
end
end
-- 上行消息的钩子,在这里构造onejson
-- cid: 网络通道
-- msg: 数据内容,table
local function msgPubHook(msg)
-- 包装上行数据
local buff = {
id= 123, dp= {
}}
for key, value in pairs(msg) do
if key == "temp" or key == "humi" then
buff.dp[key] = {
{
v=value * 0.1}}
else
buff.dp[key] = {
{
v=value}}
end
end
-- 转json上传
buff = json.encode(buff)
log.info("modbus pub msg", buff)
return buff
end
-- 设置钩子
modbus.setPubHook(msgPubHook)
modbus.setSubHook(msgSubHook)
在Web配置端上传脚本
三、 数据查看及简单可视化界面
1.数据查看
温度数据详情
2. 简单可视化界面编辑
点击应用管理,添加应用
选择设计组件,对应设备及数据流
至此:传感器 对接到onenet平台成功,搭建简易可视化界面
&后面还做了个有收费版的大屏显示界面(果然是人名币的魅力,功能丰富了很多,也美观了)
————————————————————————————————————————
对物联网技术感兴趣请加入我们交流群,欢迎各种技术交流,
QQ群: 830407941
对我们产品感兴趣请查看淘宝,免费定制项目:
DEVELOPLINK
Air724 DTU