1. 程式人生 > >AliOS Things+阿裏雲 10分鐘搭建智慧農業解決方案

AliOS Things+阿裏雲 10分鐘搭建智慧農業解決方案

實時數據 direction click 3.6 主鍵 protocol val one mar

摘要: AliOS Things+阿裏雲 10分鐘搭建智慧農業解決方案 1.1 樣品介紹 在工業、農業物聯網布線場景中以MODBUS類型為主,樣品提供MODBUS類型傳感器硬件和軟件快速接入方案,並將傳感器數據上傳到阿裏雲物聯網平臺,在雲端table store數據庫存儲,在datav數據大屏上可視化展示。

AliOS Things+阿裏雲 10分鐘搭建智慧農業解決方案
1.1 樣品介紹
在工業、農業物聯網布線場景中以MODBUS類型為主,樣品提供MODBUS類型傳感器硬件和軟件快速接入方案,並將傳感器數據上傳到阿裏雲物聯網平臺,在雲端table store數據庫存儲,在datav數據大屏上可視化展示。

樣品主要特性

本地支持MODBUS工業控制協議的傳感器,有葉面濕度、葉面濕度、土壤含水率、土壤溫度、土壤酸堿度、光照、二氧化碳含量、大氣壓力、PM2.5、PM10、風向、風速、降水量等。
AliOS Things物聯網操作系統
阿裏雲物聯網平臺
雲端table Store數據庫數據存儲
datav數據大屏實時數據和歷史數據可視化展示
應用場景

氣象監測
農業大棚監測
MODBUS傳感器數據經過下面數據流

MODBUS傳感器->AliOS Things(uData)->阿裏雲物聯網平平臺->OTS規則引擎->TABLESTORE->DATAV數據大屏

1.2 樣品展示
數據大屏地址

https://datav.aliyun.com/share/b2eed2f4627cf281022bbb4f23c2b568
技術分享圖片
技術分享圖片

2 設備端側搭建
2.1 環境準備
Developerkit開發板一套
技術分享圖片
ttl轉485
技術分享圖片
MODBUS傳感器
技術分享圖片
485集線器(非必需)
技術分享圖片
2.2 設備連接
developerkit開發板上TTL串口RX,TX,GND(白線,灰線,黑線)分別連接轉換板的RX,TX,GND。
轉換板上485 A,B兩個端口連接到485集線器A,B端子上(紅線,橙線)

技術分享圖片

傳感器的485 A,B端口(黃線和綠線)連接到485集線器上,電源和地(紅線和黑線)接到電源接口上。
技術分享圖片

將developerkit、ttl轉485轉換板USB供電,傳感器和485集線器12V電源供電,至此硬件連線完畢。

技術分享圖片
2.3 uData傳感器框架

AliOS Things提供一套傳感器uData框架,將MODBUS傳感器抽象驅動節點,通過vfs接口open,read操作。
AliOS Things還提供MODBUS協議庫,MODBUS傳感器驅動調用MODBUS庫接口讀取傳感器數據。

2.4 代碼下載和修改
代碼托管在github上地址: https://github.com/alibabayf/AliOS_modbus
分支weather

git clone https://github.com/alibabayf/AliOS_modbus
git checkout weather
代碼編譯

aos make uDataapp@developerkit
2.4.1 傳感器驅動
MODBUS傳感器驅動添加通過下面配置表修改
device/sensor/drv/sensor_drv_conf.h

技術分享圖片

modbus_sensor_t 中分別指廠商名,型號,名稱,設備節點路徑,傳感器類型,驅動是否支持,從設備地址,寄存器地址,寄存器數量,是否數據反轉,讀數據超時時間。
大部分參數已經配置好了,需要開發者修改的是用戶自己設置的傳感器從設備地址和驅動是否支持。本例中以JHFS-W1、JHFX-W1、JHYL-W1這三款傳感器為例,可以獲取到風速、風向、總降水、當日降水量等數據。

2.4.2 uData service註冊
在文件framework/uData/service/service_process.c中註冊四類傳感器服務
技術分享圖片
2.4.3 四元組修改
修改framework/protocol/linkkit/iotkit/sdk-encap/imports/iot_import_product.h中四元組信息,為雲端創建設備後獲得
技術分享圖片
2.4.4 uDataapp-example
文件example/uDataapp/uData-example.c
訂閱四類傳感器數據
技術分享圖片
example中拿到傳感器數據會按照下面json格式發送給雲端。
{"WINDSPD":xxx,"WINDDIR":xxx,"RAIN":xxx,"TODAYRAIN":xxx}

3 雲端配置
3.1 創建產品
阿裏雲物聯網平臺創建產品
https://cn.aliyun.com/product/iot?spm=5176.cniot.loT.1.40721ba6VeAQwS
技術分享圖片

在創建的產品中定義新Topic類
技術分享圖片
3.2 創建設備
技術分享圖片

技術分享圖片

生成的三元組信息需要和設備端一致。

3.3 創建規則引擎
技術分享圖片

3.4 編寫規則引擎SQL語句
用於解析topic收到的json payload。
技術分享圖片

3.5 創建Table Store數據庫實例
https://cn.aliyun.com/product/ots?spm=5176.cniot.cloudEssentials.78.19b81ba6dHx6op

技術分享圖片

3.6 創建Table Store數據表
設置time為主鍵,為字符串

技術分享圖片

3.7 編寫規則轉發數據目的地

實例、數據表、主鍵和 3.5和3.6中創建的實例、數據表、主鍵對應。

技術分享圖片

3.8 datav數據大屏添加數據
阿裏雲數據大屏地址
https://data.aliyun.com/visual/datav?spm=5176.7968328.dataTechnology.6.69631232y6lNwp

技術分享圖片

3.9 創建可視化大屏
左側提供一些模板供參考
技術分享圖片

3.10 datav獲取數據實例
創建一個儀表盤組件

技術分享圖片

以風向數據為例,用getRange操作方式指定“direction”從後往前查找,“limit”:1 查找最新的一個數據。將WINDDIR字段值給value
技術分享圖片

至此就可以實現風向數據實時更新。

原文鏈接

本文為雲棲社區原創內容,未經允許不得轉載。

AliOS Things+阿裏雲 10分鐘搭建智慧農業解決方案