4G DTU 模塊+傳感器上傳到 OneNET平臺 (MQTT新版)智慧農業解決方案

4G DTU 模塊+傳感器上傳到 OneNET平臺 (MQTT新版)智慧農業解決方案

在上一篇《Air724 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





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章