嵌入式智能物聯(lián)網(wǎng)設(shè)備,不僅要采集上報數(shù)據(jù),還應該具備遠程控制、邊緣計算、自動響應事件等能力,達到智能化、快響應等效果。
簡介
業(yè)務(wù)擴展
本項目通過控制風機轉(zhuǎn)動,帶動空氣流動,從而達到降溫的效果,這也是最常用的降溫方案。常見于設(shè)備機柜、廠房等場景。
一、硬件連接
在原有的電路基礎(chǔ)上,增加了一個風機驅(qū)動電路,如下圖所示。

實物連接圖如下。

風機的控制根據(jù)所選風機的類型,有多種方式,如直接DO開關(guān)、RS485通信控制等。此處選用DO輸出,直接控制風機開關(guān)。
1. 節(jié)點介紹1.1 gpio_outgpio_out 節(jié)點,提供了 GPIO 輸出節(jié)點,可以根據(jù)需求輸出對應電平信號。
1.1.1 屬性

-
名稱(name):節(jié)點名稱,用于索引查找本節(jié)點;
-
顯示名稱(displayName):用于畫布上顯示的名稱;
-
GPIO序號(gpio_id):GPIO引腳ID;
-
模式(mode):GPIO輸出模式(推挽、開漏…);
-
初始狀態(tài)(init_stat):引腳初始輸出狀態(tài)。
1.1.2輸入
- msg.payload:指定輸出狀態(tài),0:低電平,1:高電平。
通過簡單的腳本控制 gpio_out 節(jié)點驅(qū)動外部風機。
2.1 添加節(jié)點
在已有的流圖中添加 timer、fscript、gpio_out 節(jié)點到畫布中。


fscript 配置如下,保持輸出高電平。

gpio_out 配置如下。

- GPIO序號(gpio_id):P4.9;
- 模式(mode):push pull(推挽輸出);
- 初始狀態(tài)(init_stat):low(初始低電平)。

可以看到風扇已經(jīng)被驅(qū)動起來。

3. 風機智能控制
風機智能化控制,主要實現(xiàn)兩個基礎(chǔ)功能:- 根據(jù)高溫信號,自動啟動進行降溫;
- 支持手動啟動。
3.1.1 屬性
-
名稱(name):節(jié)點名稱,用于索引查找本節(jié)點;
-
顯示名稱(displayName):用于畫布上顯示的名稱;
-
監(jiān)控節(jié)點(monitored_nodes):指定需要監(jiān)控的節(jié)點名稱(json格式)。
3.1.2 輸出
僅觸發(fā)向下一節(jié)點執(zhí)行,并不會傳遞任何數(shù)據(jù)。
3.2 流圖測試
/*初始化高溫預警環(huán)境變量*/
global.high_temp=30
/*初始化低溫預警環(huán)境變量*/
global.low_temp=15
/*高溫異常信號*/
global.high_temp_anomaly=false
/*低溫異常信號*/
global.low_temp_anomaly=false
3.2.1.2 運行階段
增加對高低溫異常標志的處理,如下所示。

/*實際溫度與高溫預警溫度溫差*/
temp_diff=msg.temperature-global.high_temp
/*溫度超過高溫預警值,標記高溫異常*/
if(temp_diff>=0.3){
global.high_temp_anomaly=true
}elseif(temp_diff<=?-0.3)?{
global.high_temp_anomaly=false
}
/*實際溫度與低溫預警溫度溫差*/
temp_diff=msg.temperature-global.low_temp
/*溫度低于低溫預警值,標記低溫異常*/
if(temp_diff<=?-0.3)?{
global.low_temp_anomaly=true
}elseif(temp_diff>=0.3){
global.low_temp_anomaly=false
}
/*輸出報警信號*/
if(global.high_temp_anomaly||global.low_temp_anomaly){
output.payload=1
}else{
output.payload=0
* 其中±0.3 的溫差幅度,是為了擴大判定邊界,起到軟件濾波的效果,避免邊緣狀態(tài)引起頻繁開關(guān)的情況。
3.2.2 完善風機控制邏輯為了后續(xù)更好地接收遠程控制請求,需要將風機控制模塊的業(yè)務(wù)邏輯進一步完善。3.2.2.1 初始階段
聲明一個 global.fan_control 全局控制標志,用于控制風機運轉(zhuǎn)狀態(tài),總共包括以下3個狀態(tài):
-
on:手動啟動風機;
-
off:手動關(guān)閉風機
-
auto:根據(jù)溫度自動控制。
腳本如下:

global.fan_control="auto"
3.2.2.2 運行階段
根據(jù) global.fan_control 的值,執(zhí)行不同的風機控制邏輯。
if(global.fan_control=="on"){
/*手動啟動*/
msg.payload=1
}elseif(global.fan_control=="off"){
/*手動停止*/
msg.payload=0
}else{
if(global.high_temp_anomaly==true){
/*高溫異常自動啟動*/
msg.payload=1
}else{
/*常溫自動停止*/
msg.payload=0
}
}
當控制標志不為 on 或 off 時,即為 auto 模式,此時,根據(jù) global.high_temp_anomaly 高溫異常標志來決定是否啟動風機。
3.2.3 添加complete節(jié)點

配置如下,添加節(jié)點名稱 abnormal_monitoring。

同時為異常監(jiān)測節(jié)點添加一個節(jié)點名稱 abnormal_monitoring。

3.2.4 下載流圖

默認控制模式為 auto,并且默認高溫預警溫度為 30℃,通過外部熱風機加熱空氣溫度,觀察運行情況。

上一期已經(jīng)實現(xiàn)了數(shù)據(jù)上報至物聯(lián)網(wǎng)云平臺,本期為系統(tǒng)添加遠程控制功能,其中包括3個控制命令:
- 高溫預警值配置(high_temp)
- 低溫預警值配置(low_temp)
- 風機控制(fan_control)
4.1 云端添加命令
需要在物聯(lián)網(wǎng)云平臺(ZWS)添加所需控制命令,登錄到:
https://www.zlgcloud.com4.1.1 添加風機控制命令打開設(shè)備類型頁面。

點擊編輯 iot_mpc_zc1 類型。

選擇設(shè)備控制設(shè)置頁面,并添加 fan_control 風機控制命令,如下所示。

為風機控制命令添加參數(shù),如下所示。

總共3個參數(shù)選項 on、off、auto,與風機控制腳本的控制標志一致。4.1.2 添加高低溫預警配置命令
同樣的操作,繼續(xù)添加高溫、低溫預警配置命令,如下所示。
添加高溫預警命令
高溫預警命令參數(shù)
添加低溫預警命令

低溫預警命令參數(shù)

4.1.3 所有新增命令如下
4.2響應遠程控制

4.2.2 配置節(jié)點
為 zws_iot_data_in 綁定一個配置,選擇 zws_iot,與 zws_iot_data_out 使用同一個配置。



進入設(shè)備詳情。

進入設(shè)備控制頁面,并下發(fā)風機啟動命令,如下所示。

點擊發(fā)送,確保發(fā)送成功。

此時,可以看到接收到云端下發(fā)的命令和參數(shù)。
4.2.5 添加解析節(jié)點
添加一個新的 fscript 節(jié)點,用于解析云端命令。

4.2.6 添加解析腳本
if(msg.name=="high_temp"){
global.high_temp=f32(msg.value)
}elseif(msg.name=="low_temp"){
global.low_temp=f32(msg.value)
}elseif(msg.name=="fan_control"){
global.fan_control=msg.value
}else{
aborted=1
}
腳本通過判斷命令名稱 msg.name,來解析下發(fā)的命令,同時通過 global 對象修改對應的全局變量。同時為風機控制數(shù)據(jù)流的 complete 節(jié)點添加一個監(jiān)測節(jié)點名稱 fan_control,如下所示。


云端下發(fā)風機啟動命令,效果如下。


停止命令。

配置為自動模式。

外部施加熱風,觀察風機變化。

4.2.8 完成
至此,完成了遠程控制、智能降溫等業(yè)務(wù)。為了可以更加深入的體會 MPC-ZC1 和 EsDA 的應用開發(fā),在下一期文章中,計劃將風機更換為大功率的廠房風機設(shè)備,真正地應用到實際場景中。
整理本期流圖如下。

審核編輯:湯梓紅
-
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6959瀏覽量
114121 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2945文章
47826瀏覽量
415206
原文標題:EsDA MPC-ZC1 應用——IoT 監(jiān)測控制系統(tǒng)(二)
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
基于PAC的核能發(fā)電廠的維護和監(jiān)測控制系統(tǒng)(國外)
【Tisan物聯(lián)網(wǎng)申請】物聯(lián)網(wǎng)跑步機控制系統(tǒng)
【Tisan物聯(lián)網(wǎng)申請】基于物聯(lián)網(wǎng)小車控制系統(tǒng)
【Tisan物聯(lián)網(wǎng)申請】基于智能家居遠程控制系統(tǒng)
【GoKit申請】基于物聯(lián)網(wǎng)技術(shù)的無線智能家居控制系統(tǒng)
【W(wǎng)RTnode2R申請】基于物聯(lián)網(wǎng)技術(shù)的無線智能家居控制系統(tǒng)
【Tisan物聯(lián)網(wǎng)申請】智能家電控制系統(tǒng)
【Tisan物聯(lián)網(wǎng)申請】智能娛樂學習控制系統(tǒng)
求一種物聯(lián)網(wǎng)傳感器的解決方案
設(shè)備聯(lián)網(wǎng)、數(shù)據(jù)監(jiān)測和采集、傳感控制等信息化整體解決方案
基于MPC-ZC1工控單板的物聯(lián)網(wǎng)監(jiān)測控制系統(tǒng)設(shè)計
基于工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)的鹽田遠程監(jiān)測控制系統(tǒng)解決方案
EsDA MPC-ZC1 應用——IoT 監(jiān)測控制系統(tǒng)(二)
基于藍蜂物聯(lián)網(wǎng)關(guān)的智慧農(nóng)業(yè)遠程監(jiān)控與管理控制系統(tǒng)解決方案
物聯(lián)網(wǎng)監(jiān)測控制系統(tǒng)解決方案
評論