背景
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為主鍵,擴充資訊為裝置目前狀态。
3.規則引擎配置
裝置上報資料後,通過規則引擎實時流轉到表格存儲中。
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 資料轉發
4.裝置運作
4.1 裝置基本資訊,和裝置标簽
4.2 裝置上報的消息日志
4.3 消息流轉日志
4.4 表格存儲中裝置資訊
結束語
通過以上方案,裝置狀态上報時,自動更新到表格存儲中。我們就可以提供deviceName在表格存儲中查到裝置目前運作狀态。