<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于MPC-ZC1工控單板的物聯網監測控制系統設計

AGk5_ZLG_zhiyua ? 來源:ZLG致遠電子 ? 作者:ZLG開發者社區 ? 2022-09-15 12:06 ? 次閱讀

本文將基于 MPC-ZC1 工控單板,通過 EsDA 設計工具,分享如何搭建出一個常用的物聯網監測控制系統。



簡介


在大多數嵌入式物聯網應用場景中,溫度、濕度、電壓、電流等基本數據的采集是必不可少的。且需將數據上報至物聯網平臺,并支持云端遠程控制。對于安全性、實時性要求較高的場合,還需要支持本地數據處理和及時響應。本文將基于MPC-ZC1工控單板,通過EsDA設計工具,搭建出一個常用的物聯網監測控制系統。



前期準備

可通過 EsDA MPC-ZC1 系列文章,掌握 EsDA 開發流程:




一、項目需求

項目開發前,先對項目需求進行梳理和拆解,主要有以下幾點:

  • 采集溫濕度數據;

  • 溫度異常報警;

  • 數據上報云端物聯網平臺;

  • 控制風機降溫;

  • 接收云端控制命令。

二、業務框圖

根據項目需求,大致將系統劃分為以下幾大模塊:

fd3a043a-34a7-11ed-ba43-dac502259ad0.png

1. 溫濕度采集

  • 采集環境溫濕度;
  • 可配置周期性采集。
2. 異常警報
  • 可配置警報溫度閾值;

  • 輸出高溫異常警報提示;

  • 輸出低溫異常警報提示。

3. 云端監控
  • 接入物聯網平臺;

  • 上報數據至云平臺;

  • 接收云平臺控制命令;

  • 組態設計。
4. 風機降溫
  • 可配置降溫溫度閾值;
  • 控制風機開關。
業務開發

一、溫濕度采集

本項目選用通用的 RS485 接口溫濕度變送器來實現溫濕度采集,該設備使用 Modbus RTU 通信協議。AWFlow 集成了通用的 RS485 溫濕度變送器節點,包括 modbus_master_rtu 、th_transmitter_in 2個節點。

1. 節點介紹

1.1 modbus_master_rtuModbus RTU 主機(客戶端)配置節點,屬于隱式節點,不會被顯示在畫布中,需要配套對應的功能節點一起使用。該節點提供了Modbus RTU 主機通信服務。


1.1.1 屬性

fd68d22e-34a7-11ed-ba43-dac502259ad0.png

  • 名稱(name):節點名稱,用于索引查找本節點;

  • 顯示名稱(displayName):用于畫布上顯示的名稱;

  • 端口(port):用于索引串口設備;

  • 波特率(baudrate):串口波特率參數;

  • 數據位(bytesize):數據位參數;

  • 校驗位(parity):串口奇偶校驗位參數;

  • 停止位(stopbits):串口停止位參數;

  • 響應超時(respond_timeout):通信應答超時時間。

* 配置節點(config類型)只存在節點屬性,不具備輸入輸出功能。

1.2 th_transmitter_in

通用 Modbus RTU 溫濕度變送器節點,負責讀取指定從機設備溫濕度數據。

1.2.1 屬性

fd98af62-34a7-11ed-ba43-dac502259ad0.png
  • 名稱(name):節點名稱,用于索引查找本節點;

  • 顯示名稱(displayName):用于畫布上顯示的名稱;

  • modbus配置參數(modbus):綁定一個Modbus RTU配置節點;

  • 從機ID(slave_id):從機(服務端)地址;

  • 溫度寄存器地址(temp_addr):溫度數據所在的寄存器地址;

  • 濕度寄存器地址(humidity_addr):濕度數據所在的寄存器地址;

  • 輸出周期(period):輪詢讀取寄存器數據的周期。

1.2.2 輸入

* pump類型節點通常不具備數據輸入。

1.2.3 輸出
  • slaveID:從機(服務端)地址,通常用于后級節點區別設備;
  • temperature:溫度數據,float 類型;
  • humidity:濕度數據,float 類型。

1.3 to_json

由于 th_transmitter_in 節點是以 temperature 和 humidity 屬性輸出數據,不能直接使用 log 節點輸出到調試窗口,所以我們通過 to_json 將屬性轉換成 json 數據進行輸出。


1.3.1 屬性

fdcdcf8a-34a7-11ed-ba43-dac502259ad0.png

  • 名稱(name):節點名稱,用于索引查找本節點;

  • 顯示名稱(displayName):用于畫布上顯示的名稱;

  • 模板(template):可指定字符進行替換操作。

1.3.2 輸入
  • msg:用于轉換的對象

1.3.3 輸出
  • payload:轉換后的 json 字符串數據;

  • payloadType:數據類型,json;

  • payloadLength:數據長度。

2.采集測試

我們將溫濕度數據采集并打印到調試窗口,驗證數據的正確性。

2.1 添加節點

添加 th_transmitter_in、to_json、log 節點到畫布上。

fde2f57c-34a7-11ed-ba43-dac502259ad0.png

2.2 配置節點

雙擊 th_transmitter_in 節點,打開屬性面板。


fe083d32-34a7-11ed-ba43-dac502259ad0.png

選擇“添加新的 modbus_master_rtu 節點”,點擊編輯配置,進入配置節點屬性面板。

fe1f41c6-34a7-11ed-ba43-dac502259ad0.png

  • 端口:Uart1

  • 波特率:9600

  • 數據位:8bits

  • 校驗位:None

  • 停止位:1bits

  • 響應時間:0

完成串口參數配置,回到 th_transmitter_in 配置界面。


fe4b266a-34a7-11ed-ba43-dac502259ad0.png
  • 從機ID:1

  • 溫度寄存器地址:0

  • 濕度寄存器地址:1

  • 輸出周期:1000

可以看到已經創建了一個新的配置節點,名為 modbus_master_rtu。同時配置傳感器從機地址和寄存器地址,點擊完成,完成節點配置。

* 傳感器從機ID、寄存器地址可根據實際產品手冊進行配置。

2.3 繪制流圖

連接 th_transmitter_in、to_json、log 節點。

fe62adc6-34a7-11ed-ba43-dac502259ad0.png

2.4 下載驗證

確保硬件正確連接。


fe810c08-34a7-11ed-ba43-dac502259ad0.jpg

選擇流圖下載接口,并點擊運行按鈕。

fe9dd93c-34a7-11ed-ba43-dac502259ad0.jpg

feba715a-34a7-11ed-ba43-dac502259ad0.png

完成流圖下載,通過調試窗口可以看到讀回的傳感器數據。

fecd0504-34a7-11ed-ba43-dac502259ad0.png

二、異常警報

這里以實現對高溫、低溫2個閾值的監測,作為異常警報條件,以一個紅色LED作為警報提示。此處,需要用到 fscript、led 2個節點來實現異常警報業務。

* fscript、led 節點使用可參考以往教程。

1. 添加節點添加 fscript、led 節點到畫布上。fee2beda-34a7-11ed-ba43-dac502259ad0.png

2. 配置節點

雙擊 fscript 節點,打開屬性面板,這里需要配置 Initialize、Function 2個階段的腳本。ff252c16-34a7-11ed-ba43-dac502259ad0.png

/* 初始化高溫預警環境變量*/

global.high_temp = 30

/* 初始化低溫預警環境變量*/

global.low_temp = 15

在腳本加載階段,初始化了2個變量,分別為 high_temp 和 low_temp,用于保存高溫預警和低溫預警的溫度判定值。

此處使用 global 對象的屬性來做為變量,相當于全局的環境變量。后續可以通過其他腳本來訪問和修改此2個變量,為后續可以動態修改這2個參數做準備。

ff455fd6-34a7-11ed-ba43-dac502259ad0.png

/* 當溫度大于高溫閾值 或 低于低溫閾值,則屬于異常 */

if (msg.temperature >= global.high_temp ||

msg.temperature <= global.low_temp) {

/* 點亮警報信號 */

output.payload = 1

} else {

/* 熄滅報警信號 */

output.payload = 0

}

腳本運行階段,通過判斷輸入的溫度值 msg.temperature 是否超過預警值邊界,如超過,則向后級節點輸出有效預警信號,否則輸出無效信號。

led 節點配置為紅色LED。


ff84fdda-34a7-11ed-ba43-dac502259ad0.png

3.繪制流圖

連接 th_transmitter_in、fscript、led節點。


ffa14e22-34a7-11ed-ba43-dac502259ad0.png

4. 下載驗證

選擇流圖下載接口,并點擊運行按鈕。

fe9dd93c-34a7-11ed-ba43-dac502259ad0.jpg

feba715a-34a7-11ed-ba43-dac502259ad0.png

完成流圖下載,通過外部暖風機加熱周圍空氣,可以看到溫度值逐漸上升。

0006b3c0-34a8-11ed-ba43-dac502259ad0.png

當超過高溫預警值(30℃)時,紅色LED被點亮。

003469aa-34a8-11ed-ba43-dac502259ad0.png

三、云端監控

云端監控業務,需要實現設備接入、上報數據、遠程控制 3部分功能。

本項目,選擇同為 EsDA 組成部分的 ZWS(ZLG物聯網平臺)作為云服務平臺。

* 可通過ZLG物聯網平臺教程深入學習 ZWS 的應用:

https://www.zlgcloud.com/index.html#/home/service

1.接入云端

登錄https://www.zlgcloud.com/

1.1 ZWS-創建設備

1.1.1 創建設備類型

打開設備類型管理頁面。

00783e14-34a8-11ed-ba43-dac502259ad0.png

點擊添加類型。

00b2322c-34a8-11ed-ba43-dac502259ad0.png

選擇basic模板,并將新設備類型命名為iot_mpc_zc1 。

00df8e70-34a8-11ed-ba43-dac502259ad0.png

點擊確定,完成設備類型的創建。

1.1.2 添加設備

打開設備列表頁面。

011176ce-34a8-11ed-ba43-dac502259ad0.png

點擊添加設備。

012410d6-34a8-11ed-ba43-dac502259ad0.png

選擇新建的 iot_mpc_zc1 類型,并將設備的名稱和ID命名為 mpc_zc1_0。

014b2d88-34a8-11ed-ba43-dac502259ad0.png

*設備名稱和設備ID并不一定要一致,此處僅為了方便描述。

點擊保存,完成設備添加。

01886680-34a8-11ed-ba43-dac502259ad0.png

返回設備列表。

01a0c964-34a8-11ed-ba43-dac502259ad0.png

可以在設備列表中看到新添加的設備,并且設備處于離線狀態。

01bacc10-34a8-11ed-ba43-dac502259ad0.png

1.2 ZC1-連接云端

接入 ZWS 并上報數據需要使用到 zws_iot、zws_iot_data_out 2個節點。

1.2.1 zws_iot

zws_iot 配置節點,屬于隱式節點,不會被顯示在畫布中,需要配套對應的功能節點一起使用,主要用于配置 ZWS 服務所需參數,并提供與 ZWS 云平臺通信的服務

1.2.1.1 屬性

01f5eba6-34a8-11ed-ba43-dac502259ad0.png
  • 名稱(name):節點名稱,用于索引查找本節點;

  • 顯示名稱(displayName):用于畫布上顯示的名稱;

  • 是否連接(connection_status):使能立即連接;

  • 設備類型(dev_type):ZWS 三元組-設備類型;

  • 設備ID(dev_id):ZWS 三元組-設備ID;

  • 設備密鑰(dev_secret):ZWS 三元組-設備密鑰;

  • 固件版本(firmware_version):設備固件版本,產品自定;

  • 設備心跳周期(keep_alive_interval):心跳周期。

*配置節點(config類型)只存在節點屬性,不具備輸入輸出功能。

1.2.2 zws_iot_data_out

ZWS 數據上報節點,提供ZWS數據點上報服務。

1.2.2.1 屬性

022544b4-34a8-11ed-ba43-dac502259ad0.png
  • 名稱(name):節點名稱,用于索引查找本節點;
  • 顯示名稱(displayName):用于畫布上顯示的名稱;
  • 設備配置(config):綁定一個 zws_iot 配置節點;
  • 數據上報方式(output_type):選擇上報數據方式;
  • 目標鍵值對(key_names):指定上報的數據點名稱。
1.2.2.2輸入
  • payload:當上報方式為 RAW 類型時有效;

  • 其他屬性:當與 key_names 匹配時有效。

① 添加節點

添加 zws_iot_data_out 節點到畫布上。

0272612c-34a8-11ed-ba43-dac502259ad0.png

② 配置節點

雙擊 zws_iot_data_out 節點,打開屬性面板。

02ad2ab4-34a8-11ed-ba43-dac502259ad0.png

選擇“添加新的 zws_iot 節點”,點擊編輯配置,進入配置節點屬性面板。

02c7f43e-34a8-11ed-ba43-dac502259ad0.png

  • 是否連接:conncected

  • 設備類型:iot_mpc_zc1

  • 設備ID:mpc_zc1_0

  • 設備密鑰:以個人創建的設備密鑰為準

* 只需配置立即連接和ZWS三元組(類型、ID、密鑰)即可,其他默認。三元組信息必須與云端設備一致。

02ecdccc-34a8-11ed-ba43-dac502259ad0.png

完成 zws_iot 參數配置,回到 zws_iot_data_out 配置界面。

032d4640-34a8-11ed-ba43-dac502259ad0.png

選擇創建的配置 zws_iot,其他參數保持默認。

③ 繪制流圖連接 th_transmitter_in、zws_iot_data_out節點。

03479612-34a8-11ed-ba43-dac502259ad0.png

④ 下載驗證

選擇流圖下載接口,并點擊運行按鈕。

fe9dd93c-34a7-11ed-ba43-dac502259ad0.jpgfeba715a-34a7-11ed-ba43-dac502259ad0.png

完成流圖下載,等待片刻,可以從ZWS平臺看到設備已經上線。

03e0f1ea-34a8-11ed-ba43-dac502259ad0.png

2. 上報數據

ZWS 平臺需要配置與設備上報的數據對應的數據點,才能正確展示接收到的數據內容。

2.1 ZWS-添加數據點2.1.1 添加溫度數據點打開設備類型頁面。



00783e14-34a8-11ed-ba43-dac502259ad0.png點擊編輯 iot_mpc_zc1 類型。

045bf67e-34a8-11ed-ba43-dac502259ad0.png

點擊添加新數據點。

046ad090-34a8-11ed-ba43-dac502259ad0.png

添加溫度數據點,點擊保存。

0491df46-34a8-11ed-ba43-dac502259ad0.png

2.1.2 添加濕度數據點

繼續添加濕度數據點。04d4b384-34a8-11ed-ba43-dac502259ad0.png2.2 ZC1-上報溫濕度

要在ZWS云平臺正確顯示出上報的數據,則需要上報與添加的的數據點匹配的數據。

2.2.1 配置節點

雙擊 zws_iot_data_out 節點,打開屬性面板。

04ecc05a-34a8-11ed-ba43-dac502259ad0.png

選擇 Key_Values 上報方式,同時配置 temperature,humidity 2個鍵名。

* temperature,humidity 鍵名必須與ZWS數據點一致。2.2.2 下載驗證

保存并下載流圖。

feba715a-34a7-11ed-ba43-dac502259ad0.png

完成流圖下載,等待設備上線。

03e0f1ea-34a8-11ed-ba43-dac502259ad0.png

進入設備詳情。

0529c5fe-34a8-11ed-ba43-dac502259ad0.png

查看實時數據。

0546a11a-34a8-11ed-ba43-dac502259ad0.png

可以看到,溫度、濕度數據已經可以正確上報。

至此,已經完成了溫濕度采集、異常警報、數據上報等業務,將在后續章節,繼續完成遠程控制、風機降溫、云端組態等業務。

最后整理已完成流圖,如下:

05624b7c-34a8-11ed-ba43-dac502259ad0.png05b57ef0-34a8-11ed-ba43-dac502259ad0.jpg05eee17c-34a8-11ed-ba43-dac502259ad0.jpg

審核編輯:湯梓紅


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制系統
    +關注

    關注

    41

    文章

    6059

    瀏覽量

    109501
  • 物聯網
    +關注

    關注

    2878

    文章

    42064

    瀏覽量

    360491
  • ESDA
    +關注

    關注

    0

    文章

    27

    瀏覽量

    7467

原文標題:【Z站推薦】EsDA MPC-ZC1 應用——IoT 監測控制系統(一)

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MPC-ZC1工控單板如何快速搭建出產線車間的智能風機控制系統

    EsDA 為智慧工廠系統賦能,MPC-ZC1 工控單板 搭配 ZLM3100S 大功率電機驅動器,快速搭建出產線車間的智能風機控制系統。
    發表于 09-28 15:09 ?679次閱讀

    基于PAC的核能發電廠的維護和監測控制系統(國外)

    基于PAC的核能發電廠的維護和監測控制系統(國外)
    發表于 08-03 23:41

    【Tisan聯網申請】聯網跑步機控制系統

    申請理由:我們準備開發新款物聯網跑步機控制系統,前期用過上海漢楓的wifi模塊、慶科的EMW3162模塊。新項目對wifi模塊的成本有要求,想了解一下你們的產品!項目描述:開發項目:聯網
    發表于 10-15 10:09

    【Tisan聯網申請】基于聯網小車控制系統

    申請理由:我是武漢理工大學的學生,我們學校正在進行校創申報。我的項目是基于聯網小車控制系統,我現在正在做這個項目?,F在由于我的經費不夠,恰好這里有免費的
    發表于 10-15 10:09

    【GoKit申請】基于聯網技術的無線智能家居控制系統

    申請理由:近來報名參加了市里的一個科技創新大賽,項目名稱即為基于聯網技術的無線智能家居控制系統,希望GoKit開發套件能夠助我們一臂之力。項目描述:通過手機app實現網絡實時監測
    發表于 11-02 10:48

    【WRTnode2R申請】基于聯網技術的無線智能家居控制系統

    申請理由:近來報名參加了市里的一個科技創新大賽,項目名稱即為基于聯網技術的無線智能家居控制系統,希望WRTnode 2R能夠助我們一臂之力。項目描述:通過手機app實現網絡實時監測
    發表于 11-02 10:55

    鴻蒙軟、硬件綜合案例——農業大棚溫濕度監測控制系統

    農業大棚溫濕度監測控制系統,包括三部分:鴻蒙手表應用端:實時顯示土壤濕度、空氣溫濕度,可控制風扇與水泵華為云ECS:提供MQTT服務Hi3861開發板:進行通過MQTT發布實現信息,接收來至手表端的控制命令注:中軟國際教育科技股
    發表于 12-11 10:01

    怎樣去設計一種基于聯網和STM32的智能溫室大棚控制系統

    基于聯網和STM32的智能溫室大棚控制系統有何功能?怎樣去設計一種基于聯網和STM32的智能溫室大棚
    發表于 10-14 07:14

    基于單片機智能液位水位監測控制系統設計相關資料分享

    037【畢設課設】基于單片機智能液位水位監測控制系統設計,通過傳感器檢測水位液位大小,設定范圍,當超過范圍則報警,并有出水閥和進水閥。以保持水位在某個范圍自動調節。包括的電路有傳感器電路、液晶顯示電路、單片機控制電路、按鍵電路、進出水電磁閥電路、電源電路。
    發表于 11-19 06:35

    什么是MPC模型預測控制?

    什么是MPC模型預測控制?
    發表于 11-22 06:10

    通過EsDA工具和MPC-ZC1平臺實現串口MQTT服務器

    本文以實現串口MQTT服務器為項目目標,展開講解,介紹如何通過EsDA工具和MPC-ZC1平臺,進行應用開發,逐步完成項目需求。
    的頭像 發表于 08-25 10:03 ?859次閱讀

    EsDA MPC-ZC1 應用——串口服務器(一)

    本文以實現串口MQTT服務器為項目目標,展開講解,介紹如何通過EsDA工具和MPC-ZC1平臺,進行應用開發,逐步完成項目需求。簡介工業串口服務器,以提供串口與網絡服務器之間的雙向數據透明傳輸為核心
    的頭像 發表于 08-26 16:49 ?545次閱讀
    EsDA <b class='flag-5'>MPC-ZC1</b> 應用——串口服務器(一)

    【Z站推薦】EsDA MPC-ZC1 應用——IoT 監測控制系統(一)

    本文將基于MPC-ZC1工控單板,通過EsDA設計工具,分享如何搭建出一個常用的物聯網監測控制系統。簡介在大多數嵌入式物
    的頭像 發表于 09-16 10:38 ?533次閱讀
    【Z站推薦】EsDA <b class='flag-5'>MPC-ZC1</b> 應用——IoT <b class='flag-5'>監測控制系統</b>(一)

    EsDA MPC-ZC1 應用——IoT 監測控制系統(二)

    嵌入式智能物聯網設備,不僅要采集上報數據,還應該具備遠程控制、邊緣計算、自動響應事件等能力,達到智能化、快響應等效果。簡介物聯網監測控制系統,不僅需要
    的頭像 發表于 09-22 11:52 ?386次閱讀
    EsDA <b class='flag-5'>MPC-ZC1</b> 應用——IoT <b class='flag-5'>監測控制系統</b>(二)

    【Z站推薦】EsDA MPC-ZC1 應用——IoT 監測控制系統(三)

    EsDA為智慧工廠系統賦能,MPC-ZC1工控單板搭配ZLM3100S大功率電機驅動器,快速搭建出產線車間的智能風機控制系統。簡介本文基于E
    的頭像 發表于 09-29 11:11 ?654次閱讀
    【Z站推薦】EsDA <b class='flag-5'>MPC-ZC1</b> 應用——IoT <b class='flag-5'>監測控制系統</b>(三)
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>