天天看點

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

本次分享實戰的能耗和環境的實時監測,首先需要對主要用能設施、裝置進行能耗分項計量。通過對空調機組、插座、風機、照明回路等安裝分項能耗計量表,可以實時、準确、詳細地掌握每個用能終端的能源消耗資料。在此基礎上通過有線、序列槽或無線NB網路,将實時資料傳送系統中,背景通過裝置消息訂閱方式對資料進行分發處理,資料按照能耗資料模型進行分析多個角度進行統計、分析、評判,采用動态曲線、圖表的形式,并結合場景模式實作控制具體裝置達到節能減排效果。整個方案實戰内容比較多,因為硬體環境達不到,本次主要分享光線傳感器、溫濕度傳感器、PM2.5傳感器、電表、紅外線裝置通信采集為實戰例子,并且資料展現已可視化方式完成配置實作。

一、整體系統由三級裝置、二級通道以及一套系統構成。

1、三級裝置指的是電能表,資料采集終端和裝置。

2、二級通道指的是邊緣計算網關(裝置資料采集、控制)與電能表、空調、燈等傳感器裝置的資料下行和上行通道。

3、一套系統指的是能耗資料采集系統。

二、建設内容

1、對空調機組、插座、風機、照明回路等安裝分項電能表。

2、安裝資料采集終端,并在資料采集終端與電能表直接進行485總線連接配接。

3、将資料采集終端通過有線以太網/RS485總線或無線通訊方式接入系統。

4、在系統設定檔案及通訊資訊,對上述裝置進行聯調,對建築能耗資料進行采集。

5、可通過系統進行建築能耗資料分析并提出節能政策方案和控制指令。

總體流程如下圖:

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

前期準備

硬體(因條件有限本次分享主要如下裝置為主)

光線傳感器(用于燈光控制政策,資料分析來源)

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

溫濕度傳感器(用于空調控制政策,資料分析來源)

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

PM2.5傳感器(用于空氣品質分析,并且根據政策模型控制排風等裝置)

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

電表(該電表采用的是Modbus協定,目前主流電表品牌都支援,這裡做為一個采集實戰例子)

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

紅外線裝置(應用于不支援通信協定的空調裝置)

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

海創微聯系統

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

資料可視化,底層原理采用canvas矢量圖形渲染引擎,失量圖繪制資料采用JSON來表達,美勞工員圖檔繪制可以線上繪制完成,并且由配置人員完成疊代開發,整體應用效率大大提高,在性能上比傳統的DOM渲染方式更佳明顯。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

看闆整體結構如下圖,使用者可根據需求編輯看闆,自定義添加删除功能子產品。這裡我們将辦公室分為A、B、C 3個區域,每個區域都能對區域内的各種名額進行實時監測,溫濕度、光照度、PM2.5、實時電壓電流值和能耗,資料可視化,直覺,一目了然。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

繪制一個控制互動效果

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

由設計人員線上繪制可組合N種不規則形态完成繪制效果,傳統方式可能是直接采用一張PNG圖檔,但設計後無法根據業務場景需求進行靈活變化,我們采用矢量圖繪制可靈活調整

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

移動端互動

基于canvas原理,我們同樣可以完成移動端的互動效果,并且一次實作多端相容

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

首頁設有裝置一鍵關閉按鈕,防止下班樓内無人時裝置還在運作的情況,一鍵遠端關閉裝置,減少不必要的能耗。同時可以對辦公室區域進行選擇和自定義增減,實作分區域管理,條理清晰。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

手機APP除了能夠對資料進行實時顯示外,還能對區域内的裝置進行遠端控制,基本頁面如下圖。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

區域頁

區域頁中顯示目前區域的溫度、濕度、光照強度和PM2.5空氣值,同時還能對區域内的裝置進行添加,顯示裝置目前的運作狀态。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

二、資料采集

連線

首先我們要把傳感器和海創智能網關按照下圖所示連接配接起來,這裡以一台光線傳感器為例,(溫濕度傳感器、PM2.5傳感器和電表連接配接方法大緻相同)光線傳感器通過RS485連接配接序列槽伺服器,需要注意正負。然後将序列槽伺服器和海創智能網關用網線連接配接交換機,如下圖。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

接着打開海創微聯開發平台在左側導航欄中分别拖出定時器、Modbus和調試節點。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

按下圖連接配接。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

節點配置

定時器設定成周期性觸發,主要當觸發流程使用,這裡設定成每30s一次,具體配置如下圖。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

Modbus需要設定序列槽伺服器對應裝置設定的相應端口以及IP,協定選擇Modbus-TCP,通訊模式選擇Telnet,使用功能碼FC3讀取資料,電表功能碼為FC4,添加相應的寄存器位址、單元ID以及資料類型和相應的算法即可。

光線傳感器

光線傳感器的單元ID為255,位址為1,長度為1,資料類型為lnt16BE。配置如下圖。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

溫濕度傳感器

溫濕度傳感器的單元ID為1,溫度讀取位址為0,長度為1,資料類型為lnt16BE,算法為%s/100;濕度讀取位址為1,長度為1,資料類型為lnt16BE,算法為%s/100(輸出數除100)。配置如下圖。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

PM2.5傳感器

PM2.5傳感器的單元ID為2,PM2.5取位址為4,長度為1,資料類型為lnt16BE;PM10讀取位址為9,長度為1,資料類型為lnt16BE。配置如下圖。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

調試節點在右側調試視窗輸出調試結果,無需配置。

電表

電表的單元ID為,電壓讀取位址為0,長度為2,資料類型為FloatBE;電流讀取位址為8,長度為2,資料類型為FloatBE,更多位址配置如下圖。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

采集

配置好後點選部署按鈕進行部署。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

之後就能在調試視窗看到采集到的溫濕度、PM2.5、PM10和光照強度了,這裡的溫度為28℃,濕度為60.65%RH;光照為4lux;PM2.5為27μg/m³,PM10為28μg/m³;電壓為238V,電流為0.04A,總電能61.83。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

三、上報阿裡雲IOT

在使用海創智能網關采集裝置的資料後,需要将采集到的資料上報到阿裡雲IoT上。

首先打開阿裡雲物聯網平台(網址

https://account.aliyun.com

),建立産品,輸入産品名稱,所屬分類我們選擇自定義品類。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

建立好之後我們點選功能定義,添加我們所需要的功能,這裡我們選擇添加光照強度、PM25、PM10、溫濕度。具體如下圖。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

之後在産品中建立裝置,建立完成後會生成三個唯一的辨別,ProductKey(産品key)、DeviceSecret(産品密鑰)、DeviceName(裝置名稱)。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

接下來回到海創微聯開發平台在左側導航欄中拖出阿裡雲IOT。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

在阿裡雲節IOT輸入之前生成好的三個唯一辨別和地域(地域為cn-shanghai),插入在modbus和調試節點之間,如下圖。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

點選部署,這樣就成功将資料上傳到阿裡雲IOT了,我們在裝置的運作狀态中就能檢視到采集的資料了。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

四、資料對接

執行個體分析-空調控制

将紅外線裝置通過RS485連接配接序列槽伺服器,再将序列槽伺服器用網線連接配接交換機,最後将紅外線裝置對準空調。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

打開海創微聯開發平台,從左側拖出mqtt、function、request和調試節點。

mqtt用于與前端進行資料對接,接收包體,配置中填入前端的主題和服務端位址即可。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

function節點用于對包體中的内容進行識别,具體函數内容見末尾附錄。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

request節點中輸入序列槽伺服器的IP位址和端口。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

連接配接如下圖,手機APP發出指令後經過mqtt傳給function,function對指令進行判斷後控制紅外線裝置對空調進行控制,實作遠端控制。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

前端資料同時會上傳到阿裡雲IOT,我們在産品的功能定義中可以自己對指令進行枚舉,如對于空調狀态:0為關閉,1為開啟;對于風速:0為自動檔,1為低檔,2為中檔,3為高檔;對于模式:0為制冷,1為制熱。如下圖。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

然後在裝置中就能看到空調目前的運作狀态了。

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

此時室内溫為26.98℃,空調開啟、溫度為25、風速自動、模式為制冷。

五、總結

基于海創微聯系統與阿裡雲端的內建,可以很輕松的完成各種感覺層裝置通信和資料上雲端的場景,并且結合資料可視化開發平台,進行各種看闆、組态、移端應用的配置,如果你對該分享感興趣可以通過掃碼下方聯系我

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

附錄

空調控制 Function節點函數

//執行個體一個buffer用于存放控制空調指令,長度為8位元組
let buf = Buffer.alloc(8);
//寫入紅外控制協定頭
buf.write('A114', 0, 2, 'hex');
//判斷電源是否為關閉,如果為關閉發送預設關閉代碼即可,不必理會溫度以及模式和風速
if (!msg.payload.PowerSwitch) {
    buf = Buffer.from('a11400001400006c', 'hex');
}
//判斷是否為制冷模式
else if (!msg.payload.WorkMode) {
    if (msg.payload.PowerSwitch) {
        //判斷風速
        switch (msg.payload.WindSpeed) {
            case 0: buf.write('10', 2, 1, 'hex'); break;
            case 3: buf.write('11', 2, 1, 'hex'); break;
            case 2: buf.write('12', 2, 1, 'hex'); break;
            case 1: buf.write('13', 2, 1, 'hex'); break;
            default:
                {
                    node.error('WindSpeed參數有誤!');
                    return;
                }
        }
    }
    else {
        node.error('PowerSwitch參數有誤!');
        return;
    }

}
//判斷是否為制熱模式
else if (msg.payload.WorkMode) {
    if (msg.payload.PowerSwitch) {
        //判斷風速
        switch (msg.payload.WindSpeed) {
            case 0: buf.write('30', 2, 1, 'hex'); break;
            case 3: buf.write('31', 2, 1, 'hex'); break;
            case 2: buf.write('32', 2, 1, 'hex'); break;
            case 1: buf.write('33', 2, 1, 'hex'); break;
            default:
                {
                    node.error('WindSpeed參數有誤!');
                    return;
                }
        }
    }
    else {
        node.error('PowerSwitch參數有誤!');
        return;
    }

}
else {
    node.error('WorkMode參數有誤!');
    return;
}
//控制空調溫度,輸入為10進制的整數溫度
buf.writeInt8(msg.payload.TargetTemperature, 4);
//空調型号,請參考協定表,為整數
buf.writeInt16BE(msg.payload.merchant, 5);
let cont = 0;
for (let i = 0, len = Buffer.byteLength(buf) - 1; i < len; i++) {
    cont += buf[i];
}
let CheckSum = cont ^ 0xa5;
buf[7] = CheckSum;
msg.payload = buf;
return msg;           

紅外線裝置協定說明

實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結
實戰能耗和環境的實時監測和控制二、資料采集三、上報阿裡雲IOT四、資料對接五、總結

繼續閱讀