4G 模块DTU网关+传感器接入OneNET平台 (MQTT新版)智慧农业解决方案

本文主要是介绍4G 模块DTU网关+传感器接入OneNET平台 (MQTT新版)智慧农业解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 / 10log.info("modbus sub2", data.temp)return dataelsereturn nilend
end-- 上行消息的钩子,在这里构造onejson
-- cid: 网络通道
-- msg: 数据内容,table
local function msgPubHook(msg)-- 包装上行数据local buff = {id= 123, dp= {}}for key, value in pairs(msg) doif key == "temp" or key == "humi" thenbuff.dp[key] = {{v=value * 0.1}}elsebuff.dp[key] = {{v=value}}endend-- 转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

这篇关于4G 模块DTU网关+传感器接入OneNET平台 (MQTT新版)智慧农业解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/777516

相关文章

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

MYSQL事务死锁问题排查及解决方案

《MYSQL事务死锁问题排查及解决方案》:本文主要介绍Java服务报错日志的情况,并通过一系列排查和优化措施,最终发现并解决了服务假死的问题,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录问题现象推测 1 - 客户端无错误重试配置推测 2 - 客户端超时时间过短推测 3 - mysql 版本问

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

IDEA运行spring项目时,控制台未出现的解决方案

《IDEA运行spring项目时,控制台未出现的解决方案》文章总结了在使用IDEA运行代码时,控制台未出现的问题和解决方案,问题可能是由于点击图标或重启IDEA后控制台仍未显示,解决方案提供了解决方法... 目录问题分析解决方案总结问题js使用IDEA,点击运行按钮,运行结束,但控制台未出现http://

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危