概述
ONENET新增應用開發(fā)環(huán)境后洋访,APP的開發(fā)功能豐富了很多。但是這套環(huán)境使用有些門檻津坑,特別是概念比較多(Flow、Script傲霸、Data Access等)疆瑰,一不小心就會被繞暈。本次是在應用開發(fā)環(huán)境中開發(fā)一個報表狞谱。
設備腳本配置
具體操作如下:首先需要在ONENET設備管理中創(chuàng)建一個設備乃摹,然后使用“上報數(shù)據(jù)點”的API實現(xiàn)設備數(shù)據(jù)上報,腳本參見文章:使用中國移動ONENET平臺實現(xiàn)樹莓派信息自動上報跟衅。
注意:最近ONENET的API調(diào)整過,現(xiàn)在改為json中的一個頂級key對應一個消息流的名稱播歼,因此為了合并到一個消息流伶跷,本次修改了json消息的嵌套格式,消息流名稱改為pi_info秘狞,消息體是:
{
"pi_info": {
"CPUUsage": 99,
"IntranetIP": "127.0.0.1",
"MemoryFree": 9.99,
"MemoryTotal": 9.99,
"MemoryUsage": 99
}
}
ONENET設備管理的上報數(shù)據(jù)點API文檔參見:上報數(shù)據(jù)點API
本次簡化起見叭莫,仍舊采用HTTP協(xié)議。
根據(jù)協(xié)議烁试,在postman模擬消息雇初,可以正常工作:
本次postman模擬的消息格式需要完全參考ONENET的API定義。在header中還需要配置api-key减响,這里略靖诗。
postman發(fā)送成功后郭怪,在ONENET中可以查到數(shù)據(jù),如下:
應用開發(fā)環(huán)境開發(fā)
然后可以在ONENET應用開發(fā)環(huán)境進行開發(fā)了刊橘。
創(chuàng)建項目
開發(fā)過程:首先點擊創(chuàng)建項目鄙才,按鈕,創(chuàng)建一個APP項目促绵,這里隨便起一個名字即可:
進入項目開發(fā)視圖
點擊進去后攒庵,按照下圖12345的順序,分別創(chuàng)建一個元素(這個系統(tǒng)中管這類東東叫資產(chǎn))败晴,創(chuàng)建順序是:
- 事件(Event)
- 數(shù)據(jù)接入(Data Access)
- 對象(Object)
- 流(Flow)
- 標準頁面(Standard Page)
創(chuàng)建事件
這個場景下浓冒,事件是數(shù)據(jù)接入(Data Access)到流(Flow)的紐帶,必須要先創(chuàng)建事件尖坤,后續(xù)才能成功創(chuàng)建數(shù)據(jù)接入稳懒。創(chuàng)建事件后只需要填幾個自定義參數(shù)即可,比較簡單糖驴,詳見下圖:
開發(fā)數(shù)據(jù)接入
數(shù)據(jù)接入簡單來說就是把開發(fā)環(huán)境外的數(shù)據(jù)接入進來僚祷。開發(fā)環(huán)境中默認有4個接入源,這里使用ONENET接入源贮缕。
從整個流程看來辙谜,應該是數(shù)據(jù)接入后,需要通過KAFKA進行緩沖感昼,估計這么設計是為了解決信令風暴問題装哆,不過感覺對于開發(fā)者而言拆得過細了。
點擊編輯ONENET輸入源定嗓,這里可以配置基本信息蜕琴,比較重要的就是協(xié)議和TOKEN了,這里的TOKEN跟ONENET平臺約定就好宵溅。本次填寫1234567890abcdef凌简。
這里需要注意的是,只有ONENET應用開發(fā)環(huán)境配置好這個輸入源后恃逻,才可以在ONENET環(huán)境中配置全局推送雏搂,否則會報TOKEN INVALID錯誤!
然后就是配置數(shù)據(jù)源的輸入消息體了寇损,這里要注意的是凸郑,ONENET的數(shù)據(jù)流起名為pi_info砸讳,但是這里需要以value開頭(好多坑逊移。。京办。)
接下來配置channel(這里略,我選擇了一個內(nèi)存通道而昨,沒有啥特別注意的)
最后配置輸出救氯,這里可以看到這個Data Access的輸出是輸出到一個事件,所以其實要先把事件配置好配紫,不然這里就沒有辦法選擇了径密,在事件屬性中配置好輸入源的各個值(因為輸入源的值有嵌套,所以本次都有value_前綴)跟事件屬性(之前創(chuàng)建事件時創(chuàng)建的自定義屬性)的映射關(guān)系躺孝。
創(chuàng)建對象
接下來創(chuàng)建對象享扔,對象可以理解為數(shù)據(jù)庫表,新建一些字段保存即可植袍。
創(chuàng)建流
接下來是創(chuàng)建流惧眠,本次流做一個小邏輯:
- 等待事件觸發(fā)
- 觸發(fā)后,如果是失敗的于个,發(fā)送告警email
- 觸發(fā)成功后氛魁,創(chuàng)建記錄。
這里需要用到4種assignment厅篓,分別是:
- 開始(start)
- 等待(wait)
- 郵件告警(alarm email)
-
記錄保存(record Create)
最后運行object中的record視圖秀存,并點擊預覽,就可以看到有數(shù)據(jù)了:
最后再用標準頁面做一個儀表盤展示界面即可羽氮,界面直接讀剛才新建的object中數(shù)據(jù)即可或链。