設備數據上云,解析后的設備數據一般是時序存儲,但純粹的設備時序數據無法給用戶帶來更大的業務價值,需要根據業務需求進行額外的數據統計分析。本文將介紹如何利用ZWS云平臺的自定義統計算法對數據進行統計。
統計數據準備首先,需要在ZWS云平臺中創建設備并上報設備數據:
統計算法ZWS云平臺的統計算法有兩種,分別是內置統計算法和自定義統計算法。
創建自定義統計算法不同于內置算法,自定義算法從請求參數、統計過程、統計結果均由用戶自定義,需要開發者編寫腳本。目前自定義統計中支持了Groovy和JavaScript兩種腳本語言解析。
技術交流群長按識別如下二維碼可加入“EsDA嵌入式系統設計自動化交流群”,與志同道合的朋友交流,并有專業技術人員為您答疑解惑,如有問題可以咨詢小致微信:zlgmcu-888。
??應用場景
上一篇《如何利用IoT云平臺統計設備數據?—基礎篇》介紹了如何運用ZWS云平臺中的內置統計算法進行數據統計,這次將介紹如何創建自定義統計算法。
為什么需要自定義統計算法?由于業務需求各式各樣,有的需要求平均值,有的需要求累加值,不同維度需要不同統計算法,開發者可以通過自定義統計算法來滿足對應的項目需求。
統計數據準備首先,需要在ZWS云平臺中創建設備并上報設備數據:

統計算法ZWS云平臺的統計算法有兩種,分別是內置統計算法和自定義統計算法。- 內置算法為云平臺定義好的算法,可以直接關聯設備進行統計,無需關心統計算法內容和過程。
-
自定義算法可以自己擬定數據統計的方式(例如取某段時間的最大最小值、總和等等)來統計設備數據。
創建自定義統計算法不同于內置算法,自定義算法從請求參數、統計過程、統計結果均由用戶自定義,需要開發者編寫腳本。目前自定義統計中支持了Groovy和JavaScript兩種腳本語言解析。

- 類別:云平臺提供給自定義算法的參數;
-
參數名:參數的別名。
在云平臺中,提供了6種參數給自定義算法的開發者使用:
-
devType:設備類型;
-
devId:創建設備定義的ID,可以用于選取一個設備進行統計;
-
dataSource:設備類型功能塊中的某一個字段;
-
dataValue:需要比較的數據值;
- group:軟件分組,可以對一整個軟件分組進行統計。
統計數據的過程代碼,可以使用Groovy或者JavaScript語言編寫。
3.返回參數
定義統計后結果顯示的字段。
這里以統計一小時內設備的某個數據的總和為例,編寫一個JavaScript腳本:
// 載入需要實現的接口
var DataStatisticScriptMethod = Java.type("com.zlgcloud.iotplatform.iotdata.service.data.statistics.DataStatisticScriptMethod");
// 創建繼承實現接口的類
var JsDataStatisticScriptMethod = Java.extend(DataStatisticScriptMethod);
// 創建func對象
var func = new JsDataStatisticScriptMethod() {
execute: function(param) {
//獲取創建算法頁面的請求參數,參數值會由云平臺根據算法實例的選擇項,進行自動填充
var thirdThingsId = param.get("devId");
var infoModelId = param.get("devType");
var property = param.get("property");
//可以自定義統計時間范圍,如果查詢條件沒有range,則會根據算法實例的數據開始時間和數據結束時間范圍進行統計
var currentTime = new Date().valueOf();
var anHourAgo = currentTime - 3600000;
// 拼裝elasticseach 查詢的dsl
// 這里根據業務需要設置數據范圍. 查詢時會限制租戶和用戶管理的設備.
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
}
}
}
]
}
}
};
//獲取統計結果
var result = Java.super(func).queryEs(infoModelId, esParam);
var rtn = {"result_in_hour":result['aggregations']['result_in_hour']['value']};
return rtn;
}
}
將腳本復制到自定義算法中。

同時創建實例,給設備的數據進行統計。

執行算法過后,可以看到自定義統計結果。

關聯產品
技術交流群長按識別如下二維碼可加入“EsDA嵌入式系統設計自動化交流群”,與志同道合的朋友交流,并有專業技術人員為您答疑解惑,如有問題可以咨詢小致微信:zlgmcu-888。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
致遠電子
+關注
關注
13文章
422瀏覽量
32549
發布評論請先 登錄
相關推薦
熱點推薦
智能家居體驗升級關鍵!物聯網云平臺靠跨設備數據關聯發力
在數字浪潮席卷全球的今天,物聯網云平臺已成為智能家居的“大腦”與“中樞”,正以前所未有的深度和廣度重新定義著我們的居住體驗,連接起分散的智能設備,實現數據互通與指令協同,讓智能家居從“
御控工業物聯網大數據解決方案:排水設備遠程監控與大數據統計系統
御控工業物聯網推出排水設備遠程監控與大數據統計系統,通過物聯網、大數據、云計算等技術構建“感知-傳輸-分析-決策”閉環管理體系,助力排水行業數字化轉型。
數據中臺可以接入哪些物聯網云平臺
數據中臺作為企業數字化轉型的核心樞紐,能夠通過標準化接口、協議適配及數據治理能力,接入多種類型的物聯網云平臺,實現設備
解鎖應用場景搭建新方式:IOT 物聯網平臺的跨設備數據關聯與零編程零成本
在物聯網技術深度滲透各行各業的今天,IOT云平臺已成為連接設備、數據與業務的核心樞紐。而低代碼組態開發的融入,更是打破了傳統物聯網開發的技術
從設備聯動到數據驅動:IoT物聯網管理平臺的核心應用場景
當田間的傳感器自動觸發灌溉,當城市的路燈隨車流調節亮度,當工廠的設備提前預警故障——這些看似獨立的智能場景,背后都依賴于同一個核心支撐:IoT物聯網管理平臺。作為連接設備、
低代碼物聯網云平臺功能解析:從設備接入到智能應用
設備、數據與應用的核心樞紐,其功能覆蓋了從設備接入到數據處理、應用開發的全流程。以下是其主要功能的詳細說明: 一、設備接入與管理 物聯網
數據中臺實現Modbus溫度傳感器對接到IOT平臺
為IoT平臺支持的格式(標準MQTT格式)。 實時性:溫度數據需實時低延遲傳輸,滿足監控或告警需求。 可擴展性:支持多設備接入,兼容不同廠商的Modbus傳感器。
智能工廠能耗數采統計分析平臺有哪些功能
智能工廠能耗數采統計分析平臺是一種基于物聯網、大數據、云計算和人工智能等技術的綜合性管理系統,旨在實現對工廠能源消耗的實時監測、數據采集、深
工業智能網關與MQTT物聯網云平臺的關系
Modbus 轉 MQTT)、邊緣計算(數據過濾、標準化)后,利用 MQTT 協議將數據上報至云平臺。同時,網關接收
【第二章 模型與設備連接】手把手教你玩轉新版正點原子云
【第二章 模型與設備連接】手把手教你玩轉新版正點原子云玩過物聯網的朋友們都知道,我們在接觸各大主流云平臺時會知道物模型的概念。
本實驗就是針對原子云中模型與
發表于 03-12 09:27
【產品應用】如何利用IoT云平臺統計設備數據?— 進階篇
評論