• 正文
    • ??應用場景
    • ??統(tǒng)計數(shù)據(jù)準備
    • ??統(tǒng)計算法
    • ??創(chuàng)建自定義統(tǒng)計算法
  • 推薦器件
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

【產(chǎn)品應用】如何利用IoT云平臺統(tǒng)計設備數(shù)據(jù)?— 進階篇

2023/08/11
1446
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

設備數(shù)據(jù)上云,解析后的設備數(shù)據(jù)一般是時序存儲,但純粹的設備時序數(shù)據(jù)無法給用戶帶來更大的業(yè)務價值,需要根據(jù)業(yè)務需求進行額外的數(shù)據(jù)統(tǒng)計分析。本文將介紹如何利用ZWS云平臺的自定義統(tǒng)計算法對數(shù)據(jù)進行統(tǒng)計。

??應用場景

上一篇《如何利用IoT云平臺統(tǒng)計設備數(shù)據(jù)?—?基礎篇》介紹了如何運用ZWS云平臺中的內置統(tǒng)計算法進行數(shù)據(jù)統(tǒng)計,這次將介紹如何創(chuàng)建自定義統(tǒng)計算法。

為什么需要自定義統(tǒng)計算法?由于業(yè)務需求各式各樣,有的需要求平均值,有的需要求累加值,不同維度需要不同統(tǒng)計算法,開發(fā)者可以通過自定義統(tǒng)計算法來滿足對應的項目需求。

??統(tǒng)計數(shù)據(jù)準備

首先,需要在ZWS云平臺中創(chuàng)建設備并上報設備數(shù)據(jù):

??統(tǒng)計算法

ZWS云平臺的統(tǒng)計算法有兩種,分別是內置統(tǒng)計算法自定義統(tǒng)計算法。

    1. 內置算法為云平臺定義好的算法,可以直接關聯(lián)設備進行統(tǒng)計,無需關心統(tǒng)計算法內容和過程。

自定義算法可以自己擬定數(shù)據(jù)統(tǒng)計的方式(例如取某段時間的最大最小值、總和等等)來統(tǒng)計設備數(shù)據(jù)。

??創(chuàng)建自定義統(tǒng)計算法

不同于內置算法,自定義算法從請求參數(shù)、統(tǒng)計過程、統(tǒng)計結果均由用戶自定義,需要開發(fā)者編寫腳本。目前自定義統(tǒng)計中支持了Groovy和JavaScript兩種腳本語言解析。

1. 請求參數(shù)

    • 類別:云平臺提供給自定義算法的參數(shù);參數(shù)名:參數(shù)的別名。

在云平臺中,提供了6種參數(shù)給自定義算法的開發(fā)者使用:

devType:設備類型;

devId:創(chuàng)建設備定義的ID,可以用于選取一個設備進行統(tǒng)計;

dataSource:設備類型功能塊中的某一個字段;

dataCompareOperation:字段的比較條件,有大于、小于和等于;

dataValue:需要比較的數(shù)據(jù)值;

group:軟件分組,可以對一整個軟件分組進行統(tǒng)計。

2.?算法代碼

統(tǒng)計數(shù)據(jù)的過程代碼,可以使用Groovy或者JavaScript語言編寫。

3.?返回參數(shù)

定義統(tǒng)計后結果顯示的字段。

這里以統(tǒng)計一小時內設備的某個數(shù)據(jù)的總和為例,編寫一個JavaScript腳本:

// 載入需要實現(xiàn)的接口var DataStatisticScriptMethod = Java.type("com.zlgcloud.iotplatform.iotdata.service.data.statistics.DataStatisticScriptMethod");// 創(chuàng)建繼承實現(xiàn)接口的類var JsDataStatisticScriptMethod = Java.extend(DataStatisticScriptMethod);
// 創(chuàng)建func對象var func = new JsDataStatisticScriptMethod() {    execute: function(param) {
        //獲取創(chuàng)建算法頁面的請求參數(shù),參數(shù)值會由云平臺根據(jù)算法實例的選擇項,進行自動填充        var thirdThingsId = param.get("devId");        var infoModelId = param.get("devType");        var property = param.get("property");
        //可以自定義統(tǒng)計時間范圍,如果查詢條件沒有range,則會根據(jù)算法實例的數(shù)據(jù)開始時間和數(shù)據(jù)結束時間范圍進行統(tǒng)計        var currentTime = new Date().valueOf();        var anHourAgo = currentTime - 3600000;
        // 拼裝elasticseach 查詢的dsl        // 這里根據(jù)業(yè)務需要設置數(shù)據(jù)范圍. 查詢時會限制租戶和用戶管理的設備.        var esParam = {            "aggregations": {                "result_in_hour": {                    "sum": {                        "field": "data." + property                    }                }            },            "query": {                "bool":{                    "must": [                        {                            "term": {                                    "third_things_id.keyword": thirdThingsId                            }                        },                        {                           "range": {                             "timestamp": {                               "gte": anHourAgo,                               "lt": currentTime                             }                           }                        }                    ]                }            }        };        //獲取統(tǒng)計結果        var result = Java.super(func).queryEs(infoModelId, esParam);        var rtn = {"result_in_hour":result['aggregations']['result_in_hour']['value']};        return rtn;    }}

將腳本復制到自定義算法中。

同時創(chuàng)建實例,給設備的數(shù)據(jù)進行統(tǒng)計。

執(zhí)行算法過后,可以看到自定義統(tǒng)計結果。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
NCV7321D12R2G 1 onsemi LIN Transceiver, Stand-alone ESD Improved, 3000-REEL
$1.11 查看
BT121-A-V2 1 Silicon Laboratories Inc Telecom Circuit, 1-Func, MODULE-33

ECAD模型

下載ECAD模型
$27.77 查看
TCAN1042VDRBRQ1 1 Texas Instruments Automotive fault-protected CAN transceiver with I/O level shifting and flexible data-rate 8-SON -55 to 125

ECAD模型

下載ECAD模型
$7.05 查看
致遠電子

致遠電子

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術認證企業(yè),廣州市高端工控測量儀器工程技術研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術認證企業(yè),廣州市高端工控測量儀器工程技術研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄