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

相关文章

4G/5G全网通! FiberHome烽火5G CPE Air路由器拆机评测

《4G/5G全网通!FiberHome烽火5GCPEAir路由器拆机评测》烽火5GCPE已经使用一段时间了,很多朋友想要知道这款路由器怎么样?今天我们就来看看拆机测评... 我想大家都听说过、了解过5G。 5G是具有高速率、低时延和大连接特点的新一代宽带移动通信技术,5G通讯设施是实现人机物互联的网络基础设

Seata之分布式事务问题及解决方案

《Seata之分布式事务问题及解决方案》:本文主要介绍Seata之分布式事务问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Seata–分布式事务解决方案简介同类产品对比环境搭建1.微服务2.SQL3.seata-server4.微服务配置事务模式1

IDEA接入Deepseek的图文教程

《IDEA接入Deepseek的图文教程》在本篇文章中,我们将详细介绍如何在JetBrainsIDEA中使用Continue插件接入DeepSeek,让你的AI编程助手更智能,提高开发效率,感兴趣的小... 目录一、前置准备二、安装 Continue 插件三、配置 Continue 连接 DeepSeek四

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd