天天看點

IoT場景中檢視裝置目前運作狀況實作方案

背景

IoT場景中,裝置往往會定時上報自己目前的運作狀态參數,供運維人員檢視裝置狀态。

架構方案

IoT場景中檢視裝置目前運作狀況實作方案

開發實戰

1.水泵定時上報業務消息

水泵監控場景中,每10分鐘會定時上報運作狀态到IoT平台,具體通信Topic和payload如下:

// 定時上報運作狀态的Topic
/${productKey}/${deviceName}/user/bizHeart/post
// 對應payload結構體
{
    status: 'RUNNING', //運作狀态 RUNNING,STOP,SHUTDOWN
    speed: 3000, //目前轉速
    waterOutput: 125,//目前出水量
    workingTime: 72//工作時長 xx分鐘
}
           

2.表格存儲設計

建立一個資料表,以裝置deviceName為主鍵,擴充資訊為裝置目前狀态。

IoT場景中檢視裝置目前運作狀況實作方案
IoT場景中檢視裝置目前運作狀況實作方案

3.規則引擎配置

裝置上報資料後,通過規則引擎實時流轉到表格存儲中。

IoT場景中檢視裝置目前運作狀況實作方案

3.1 資料處理SQL

SELECT 
deviceName() as deviceName,
attribute('coordinate') as coordinate, 
attribute('city') as city, 
timestamp('yyyy-MM-dd HH:mm:ss') as currentTime,
status,speed,waterOutput,workingTime 
FROM 
"/a1vYwzHjT6p/+/user/bizHeart/post"           

3.2 資料轉發

IoT場景中檢視裝置目前運作狀況實作方案

4.裝置運作

4.1 裝置基本資訊,和裝置标簽

IoT場景中檢視裝置目前運作狀況實作方案

4.2 裝置上報的消息日志

IoT場景中檢視裝置目前運作狀況實作方案

4.3 消息流轉日志

IoT場景中檢視裝置目前運作狀況實作方案

4.4 表格存儲中裝置資訊

IoT場景中檢視裝置目前運作狀況實作方案

結束語

通過以上方案,裝置狀态上報時,自動更新到表格存儲中。我們就可以提供deviceName在表格存儲中查到裝置目前運作狀态。

IoT場景中檢視裝置目前運作狀況實作方案

繼續閱讀