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

實物連接圖如下。
風(fēng)機的控制根據(jù)所選風(fēng)機的類型,有多種方式,如直接DO開關(guān)、RS485通信控制等。此處選用DO輸出,直接控制風(fēng)機開關(guān)。
1. 節(jié)點介紹1.1 gpio_outgpio_out 節(jié)點,提供了 GPIO 輸出節(jié)點,可以根據(jù)需求輸出對應(yīng)電平信號。
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ū)動外部風(fēng)機。
2.1 添加節(jié)點
在已有的流圖中添加 timer、fscript、gpio_out 節(jié)點到畫布中。

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

gpio_out 配置如下。

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

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

3. 風(fēng)機智能控制
風(fēng)機智能化控制,主要實現(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 流圖測試

/*初始化高溫預(yù)警環(huán)境變量*/
global.high_temp=30
/*初始化低溫預(yù)警環(huán)境變量*/
global.low_temp=15
/*高溫異常信號*/
global.high_temp_anomaly=false
/*低溫異常信號*/
global.low_temp_anomaly=false
3.2.1.2 運行階段
增加對高低溫異常標(biāo)志的處理,如下所示。
/*實際溫度與高溫預(yù)警溫度溫差*/
temp_diff=msg.temperature-global.high_temp
/*溫度超過高溫預(yù)警值,標(biāo)記高溫異常*/
if(temp_diff>=0.3){
global.high_temp_anomaly=true
}elseif(temp_diff<=?-0.3)?{
global.high_temp_anomaly=false
}
/*實際溫度與低溫預(yù)警溫度溫差*/
temp_diff=msg.temperature-global.low_temp
/*溫度低于低溫預(yù)警值,標(biāo)記低溫異常*/
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 完善風(fēng)機控制邏輯為了后續(xù)更好地接收遠程控制請求,需要將風(fēng)機控制模塊的業(yè)務(wù)邏輯進一步完善。3.2.2.1 初始階段
聲明一個 global.fan_control 全局控制標(biāo)志,用于控制風(fēng)機運轉(zhuǎn)狀態(tài),總共包括以下3個狀態(tài):
-
on:手動啟動風(fēng)機;
-
off:手動關(guān)閉風(fēng)機
-
auto:根據(jù)溫度自動控制。
腳本如下:
global.fan_control="auto"
3.2.2.2 運行階段
根據(jù) global.fan_control 的值,執(zhí)行不同的風(fēng)機控制邏輯。
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
}
}
當(dāng)控制標(biāo)志不為 on 或 off 時,即為 auto 模式,此時,根據(jù) global.high_temp_anomaly 高溫異常標(biāo)志來決定是否啟動風(fēng)機。
3.2.3 添加complete節(jié)點
配置如下,添加節(jié)點名稱 abnormal_monitoring。
同時為異常監(jiān)測節(jié)點添加一個節(jié)點名稱 abnormal_monitoring。
3.2.4 下載流圖
默認控制模式為 auto,并且默認高溫預(yù)警溫度為 30℃,通過外部熱風(fēng)機加熱空氣溫度,觀察運行情況。
上一期已經(jīng)實現(xiàn)了數(shù)據(jù)上報至物聯(lián)網(wǎng)云平臺,本期為系統(tǒng)添加遠程控制功能,其中包括3個控制命令:
- 高溫預(yù)警值配置(high_temp)
- 低溫預(yù)警值配置(low_temp)
- 風(fēng)機控制(fan_control)
4.1 云端添加命令
需要在物聯(lián)網(wǎng)云平臺(ZWS)添加所需控制命令,登錄到:
https://www.zlgcloud.com4.1.1 添加風(fēng)機控制命令打開設(shè)備類型頁面。
點擊編輯 iot_mpc_zc1 類型。

選擇設(shè)備控制設(shè)置頁面,并添加 fan_control 風(fēng)機控制命令,如下所示。
為風(fēng)機控制命令添加參數(shù),如下所示。

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

高溫預(yù)警命令參數(shù)

添加低溫預(yù)警命令
低溫預(yù)警命令參數(shù)
4.1.3 所有新增命令如下

4.2響應(yīng)遠程控制

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

進入設(shè)備詳情。

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

點擊發(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 對象修改對應(yīng)的全局變量。同時為風(fēng)機控制數(shù)據(jù)流的 complete 節(jié)點添加一個監(jiān)測節(jié)點名稱 fan_control,如下所示。
云端下發(fā)風(fēng)機啟動命令,效果如下。
停止命令。

配置為自動模式。
外部施加熱風(fēng),觀察風(fēng)機變化。

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

審核編輯:湯梓紅
-
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6780瀏覽量
112161 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2931文章
46242瀏覽量
392377
原文標(biāo)題:EsDA MPC-ZC1 應(yīng)用——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)申請】智能娛樂學(xué)習(xí)控制系統(tǒng)
求一種物聯(lián)網(wǎng)傳感器的解決方案
設(shè)備聯(lián)網(wǎng)、數(shù)據(jù)監(jiān)測和采集、傳感控制等信息化整體解決方案
(畢業(yè)設(shè)計資料)基于單片機智能液位水位監(jiān)測控制系統(tǒng)設(shè)計

基于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 應(yīng)用——IoT 監(jiān)測控制系統(tǒng)(二)

基于藍蜂物聯(lián)網(wǎng)關(guān)的智慧農(nóng)業(yè)遠程監(jiān)控與管理控制系統(tǒng)解決方案

評論