0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

fc1e0bfa-f937-11ed-90ce-dac502259ad0.jpg??應(yīng)用場景

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

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

fc2b5670-f937-11ed-90ce-dac502259ad0.jpg統(tǒng)計(jì)數(shù)據(jù)準(zhǔn)備首先,需要在ZWS云平臺中創(chuàng)建設(shè)備并上報設(shè)備數(shù)據(jù):

fc371d70-f937-11ed-90ce-dac502259ad0.png

fc2b5670-f937-11ed-90ce-dac502259ad0.jpg統(tǒng)計(jì)算法ZWS云平臺的統(tǒng)計(jì)算法有兩種,分別是內(nèi)置統(tǒng)計(jì)算法自定義統(tǒng)計(jì)算法。
  1. 內(nèi)置算法為云平臺定義好的算法,可以直接關(guān)聯(lián)設(shè)備進(jìn)行統(tǒng)計(jì),無需關(guān)心統(tǒng)計(jì)算法內(nèi)容和過程。
  2. 自定義算法可以自己擬定數(shù)據(jù)統(tǒng)計(jì)的方式(例如取某段時間的最大最小值、總和等等)來統(tǒng)計(jì)設(shè)備數(shù)據(jù)。

fc2b5670-f937-11ed-90ce-dac502259ad0.jpg創(chuàng)建自定義統(tǒng)計(jì)算法不同于內(nèi)置算法,自定義算法從請求參數(shù)、統(tǒng)計(jì)過程、統(tǒng)計(jì)結(jié)果均由用戶自定義,需要開發(fā)者編寫腳本。目前自定義統(tǒng)計(jì)中支持了Groovy和JavaScript兩種腳本語言解析。

fc5e5afc-f937-11ed-90ce-dac502259ad0.png

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

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

  • devType:設(shè)備類型;

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

  • dataSource:設(shè)備類型功能塊中的某一個字段;

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

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

  • group:軟件分組,可以對一整個軟件分組進(jìn)行統(tǒng)計(jì)。
2.算法代碼

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

3.返回參數(shù)

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

這里以統(tǒng)計(jì)一小時內(nèi)設(shè)備的某個數(shù)據(jù)的總和為例,編寫一個JavaScript腳本:
// 載入需要實(shí)現(xiàn)的接口
var DataStatisticScriptMethod = Java.type("com.zlgcloud.iotplatform.iotdata.service.data.statistics.DataStatisticScriptMethod");
// 創(chuàng)建繼承實(shí)現(xiàn)接口的類
var JsDataStatisticScriptMethod = Java.extend(DataStatisticScriptMethod);


// 創(chuàng)建func對象
var func = new JsDataStatisticScriptMethod() {
    execute: function(param) {


        //獲取創(chuàng)建算法頁面的請求參數(shù),參數(shù)值會由云平臺根據(jù)算法實(shí)例的選擇項(xiàng),進(jìn)行自動填充
        var thirdThingsId = param.get("devId");
        var infoModelId = param.get("devType");
        var property = param.get("property");


        //可以自定義統(tǒng)計(jì)時間范圍,如果查詢條件沒有range,則會根據(jù)算法實(shí)例的數(shù)據(jù)開始時間和數(shù)據(jù)結(jié)束時間范圍進(jìn)行統(tǒng)計(jì)
        var currentTime = new Date().valueOf();
        var anHourAgo = currentTime - 3600000;


        // 拼裝elasticseach 查詢的dsl
        // 這里根據(jù)業(yè)務(wù)需要設(shè)置數(shù)據(jù)范圍. 查詢時會限制租戶和用戶管理的設(shè)備.
        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)計(jì)結(jié)果
        var result = Java.super(func).queryEs(infoModelId, esParam);
        var rtn = {"result_in_hour":result['aggregations']['result_in_hour']['value']};
        return rtn;
    }
}

將腳本復(fù)制到自定義算法中。

fc6df69c-f937-11ed-90ce-dac502259ad0.png

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

fc7f4c6c-f937-11ed-90ce-dac502259ad0.png

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

fc8b8c0c-f937-11ed-90ce-dac502259ad0.png

fc2b5670-f937-11ed-90ce-dac502259ad0.jpg 關(guān)聯(lián)產(chǎn)品

fc2b5670-f937-11ed-90ce-dac502259ad0.jpg技術(shù)交流長按識別如下二維碼可加入“EsDA嵌入式系統(tǒng)設(shè)計(jì)自動化交流群”,與志同道合的朋友交流,并有專業(yè)技術(shù)人員為您答疑解惑,如有問題可以咨詢小致微信zlgmcu-888。

fcaa4818-f937-11ed-90ce-dac502259ad0.png


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 致遠(yuǎn)電子
    +關(guān)注

    關(guān)注

    13

    文章

    406

    瀏覽量

    31320
收藏 人收藏

    評論

    相關(guān)推薦

    IoT平臺設(shè)備遠(yuǎn)程運(yùn)維中的應(yīng)用

    IoT平臺 是物聯(lián)網(wǎng)技術(shù)的核心組成部分,實(shí)現(xiàn)了設(shè)備、數(shù)據(jù)、應(yīng)用之間的無縫連接與交互。通過提供統(tǒng)一的設(shè)備管理、
    的頭像 發(fā)表于 10-31 15:52 ?217次閱讀

    告別繁瑣的平臺開發(fā)!IoT_CLOUD之 百度

    ?眾所周知,市面上有很多云平臺,并且每家平臺都有自己的協(xié)議,工程師要移植不同的SDK代碼或基于各家的手冊文檔對接不同的協(xié)議,看著都頭大!?。?為解決繁瑣的
    的頭像 發(fā)表于 10-31 07:23 ?208次閱讀
    告別繁瑣的<b class='flag-5'>云</b><b class='flag-5'>平臺</b>開發(fā)!<b class='flag-5'>IoT</b>_CLOUD之 百度<b class='flag-5'>云</b>

    告別繁瑣的平臺開發(fā)!IoT_CLOUD之百度

    文檔對接不同的協(xié)議,看著都頭大?。。?為解決繁瑣的平臺開發(fā)困擾, 合宙IoT_CLOUD應(yīng)運(yùn)而生,一庫打通所有平臺! 本文將以Air78
    的頭像 發(fā)表于 10-21 07:05 ?727次閱讀
    告別繁瑣的<b class='flag-5'>云</b><b class='flag-5'>平臺</b>開發(fā)!<b class='flag-5'>IoT</b>_CLOUD之百度<b class='flag-5'>云</b>

    IOT數(shù)據(jù)采集平臺的功能特點(diǎn)

    的深遠(yuǎn)影響。 IOT數(shù)據(jù)采集平臺的定義 IOT數(shù)據(jù)采集平臺是一種專門用于物聯(lián)網(wǎng)
    的頭像 發(fā)表于 09-25 13:28 ?569次閱讀

    設(shè)備數(shù)據(jù)接入運(yùn)維管理平臺實(shí)現(xiàn)什么功能

    維方式,還為企業(yè)帶來了前所未有的運(yùn)維效率與智能化水平。本文將深入探討設(shè)備數(shù)據(jù)接入運(yùn)維管理平臺所實(shí)現(xiàn)的主要功能及其對企業(yè)運(yùn)維管理的深遠(yuǎn)影響。 1. 實(shí)時監(jiān)控與故障預(yù)警
    的頭像 發(fā)表于 09-24 14:14 ?226次閱讀

    智慧農(nóng)業(yè)IOT平臺有什么功能

    隨著科技的飛速發(fā)展,智慧農(nóng)業(yè)已成為現(xiàn)代農(nóng)業(yè)的重要發(fā)展方向。智慧農(nóng)業(yè)IOT平臺,作為集數(shù)據(jù)采集、分析、處理、存儲、展示于一體的云端服務(wù)平臺
    的頭像 發(fā)表于 09-20 14:44 ?352次閱讀

    工業(yè)物聯(lián)網(wǎng)(IOT平臺是什么

    隨著信息技術(shù)的飛速發(fā)展,工業(yè)互聯(lián)網(wǎng)(IoT平臺已成為推動制造業(yè)數(shù)字化轉(zhuǎn)型的重要力量。這一平臺基于計(jì)算、物聯(lián)網(wǎng)技術(shù)、大
    的頭像 發(fā)表于 09-19 14:16 ?501次閱讀

    利用鋇錸Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)實(shí)現(xiàn)數(shù)據(jù)高效上傳至華為平臺

    西門子PLC通常通過Modbus協(xié)議進(jìn)行數(shù)據(jù)傳輸,但平臺更傾向于使用MQTT等輕量級、高效的數(shù)據(jù)傳輸協(xié)議。為此,鋇錸技術(shù)推出了 Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)實(shí)現(xiàn)西門子PLC
    的頭像 發(fā)表于 07-30 13:53 ?358次閱讀
    <b class='flag-5'>利用</b>鋇錸Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)實(shí)現(xiàn)<b class='flag-5'>數(shù)據(jù)</b>高效上傳至華為<b class='flag-5'>云</b><b class='flag-5'>平臺</b>

    ZWS平臺應(yīng)用(4)-設(shè)備數(shù)據(jù)上報

    智能設(shè)備連接到物聯(lián)網(wǎng),會產(chǎn)生大量的數(shù)據(jù),可以說:物聯(lián)網(wǎng)最大的價值,其實(shí)是數(shù)據(jù),那么設(shè)備數(shù)據(jù)是如何上報到
    的頭像 發(fā)表于 04-12 08:25 ?645次閱讀
    ZWS<b class='flag-5'>云</b><b class='flag-5'>平臺</b>應(yīng)用(4)-<b class='flag-5'>設(shè)備</b><b class='flag-5'>數(shù)據(jù)</b>上報

    產(chǎn)品應(yīng)用】ZWS平臺應(yīng)用(3)-設(shè)備基于DTU接入

    傳統(tǒng)設(shè)備要接入物聯(lián)網(wǎng),選擇什么方式比較好?本文將介紹通過DTU智能網(wǎng)聯(lián)終端CATCOM-100接入ZWS物聯(lián)網(wǎng)平臺的功能。對于一些工業(yè)制造、機(jī)械設(shè)備對溫度有特殊的要求,我們就需要控制
    的頭像 發(fā)表于 03-29 08:23 ?409次閱讀
    【<b class='flag-5'>產(chǎn)品應(yīng)用</b>】ZWS<b class='flag-5'>云</b><b class='flag-5'>平臺</b>應(yīng)用(3)-<b class='flag-5'>設(shè)備</b>基于DTU接入

    RT-Thread驅(qū)動開發(fā)指南進(jìn)階篇-動手驅(qū)動先楫未適配的外設(shè)LCD

    經(jīng)過上一的《《RT-Thread設(shè)備驅(qū)動開發(fā)指南》基礎(chǔ)--以先楫bsp的hwtimer設(shè)備為例》闡述,可以大致了解到RT-thread設(shè)備
    的頭像 發(fā)表于 02-25 11:04 ?2593次閱讀
    RT-Thread驅(qū)動開發(fā)指南<b class='flag-5'>進(jìn)階篇</b>-動手驅(qū)動先楫未適配的外設(shè)LCD

    RK3568驅(qū)動指南|驅(qū)動基礎(chǔ)進(jìn)階篇-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)

    RK3568驅(qū)動指南|驅(qū)動基礎(chǔ)進(jìn)階篇-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)
    的頭像 發(fā)表于 02-20 14:10 ?712次閱讀
    RK3568驅(qū)動指南|驅(qū)動基礎(chǔ)<b class='flag-5'>進(jìn)階篇</b>-<b class='flag-5'>進(jìn)階</b>5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)

    RK3568驅(qū)動指南|驅(qū)動基礎(chǔ)進(jìn)階篇-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)

    RK3568驅(qū)動指南|驅(qū)動基礎(chǔ)進(jìn)階篇-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)
    的頭像 發(fā)表于 01-31 14:58 ?1172次閱讀
    RK3568驅(qū)動指南|驅(qū)動基礎(chǔ)<b class='flag-5'>進(jìn)階篇</b>-<b class='flag-5'>進(jìn)階</b>8 內(nèi)核運(yùn)行ko文件總結(jié)

    LoRa ZWS應(yīng)用(4)-環(huán)境監(jiān)測設(shè)備接入

    在環(huán)境監(jiān)測系統(tǒng)中,要將監(jiān)測設(shè)備接入物聯(lián)網(wǎng)平臺,才能進(jìn)行對環(huán)境數(shù)據(jù)實(shí)現(xiàn)實(shí)時監(jiān)測、統(tǒng)計(jì)分析等操作。本文將介紹通過LoRa網(wǎng)關(guān)將環(huán)境監(jiān)測
    的頭像 發(fā)表于 01-26 08:25 ?765次閱讀
    LoRa  ZWS<b class='flag-5'>云</b>應(yīng)用(4)-環(huán)境監(jiān)測<b class='flag-5'>設(shè)備</b>接入<b class='flag-5'>篇</b>

    PLC設(shè)備接入網(wǎng)關(guān)實(shí)現(xiàn)工廠PLC接入物聯(lián)網(wǎng)IOT平臺

    管理方面存在一些困難。物通博聯(lián)提供PLC設(shè)備接入網(wǎng)關(guān),可以將PLC設(shè)備接入物聯(lián)網(wǎng)IOT平臺。 物通博聯(lián)PLC
    的頭像 發(fā)表于 01-24 16:43 ?1043次閱讀
    PLC<b class='flag-5'>設(shè)備</b>接入網(wǎng)關(guān)實(shí)現(xiàn)工廠PLC接入物聯(lián)網(wǎng)<b class='flag-5'>IOT</b><b class='flag-5'>云</b><b class='flag-5'>平臺</b>