李明澤 崔海青 謝俊偉 齊鶴 黃彥章
1.中國民航大學(xué)空中交通管理學(xué)院;2.中國民航大學(xué)電子信息與自動化學(xué)院
為了更好地應(yīng)對現(xiàn)代工業(yè)化工作環(huán)境的多樣性和復(fù)雜性,實時有效地監(jiān)測場景的環(huán)境參數(shù),及時獲取其最新數(shù)據(jù),本系統(tǒng)設(shè)計了一種基于STM32的環(huán)境監(jiān)測控制系統(tǒng)。該系統(tǒng)以STM32F103ZET6單片機為主控芯片,以無線通信模塊作為傳輸介質(zhì),集成多種傳感器設(shè)備(包括溫度傳感器、紅外線傳感器模塊、氣體源傳感器等),并制作出可移動的環(huán)境監(jiān)測控制系統(tǒng),將采集到的環(huán)境信息實時上傳至服務(wù)器端平臺供使用者查詢使用。經(jīng)過測驗,本系統(tǒng)可以全天候?qū)崟r上傳數(shù)據(jù)信息,由中心平臺集中管理,輔助監(jiān)控者獲取目標(biāo)場景信息進行判斷。
現(xiàn)代工業(yè)化生產(chǎn)生活中,諸如居室、實驗室、工廠車間、電力機房等場景的環(huán)境安全問題逐漸成為人們關(guān)注的焦點。無論是大型企業(yè)、小型公司和商場,還是居民區(qū)室,人民對高質(zhì)量的生活提出了要求,而且保障人員和財產(chǎn)安全亦是重中之重,要時刻放在心上,滿足用戶需求[1]。針對當(dāng)前市場銷售情況,市面大多采取分離式的傳感器監(jiān)測單元獲取室內(nèi)煙霧、火災(zāi),溫度等環(huán)境參數(shù),在出現(xiàn)險情時發(fā)出聲光等警報信號,提醒室內(nèi)人員撤離[2]。至今存在著監(jiān)測設(shè)備大多國外化,先進性和自主性未能得到保障,企業(yè)和政府在該領(lǐng)域投入力度不夠,產(chǎn)品質(zhì)量參差不齊,使用標(biāo)準不規(guī)范等[3]。
然而室內(nèi)并不會一直都有人值守,互聯(lián)網(wǎng)時代的到來和網(wǎng)絡(luò)技術(shù)的完善,為改進環(huán)境監(jiān)測和預(yù)警播報提供了新的技術(shù)支撐。本系統(tǒng)采用了集成式的硬件終端監(jiān)測裝置采集數(shù)據(jù),利用STM32中央微處理器可以提高監(jiān)測的精度[4],同時使用無線通信技術(shù)傳輸數(shù)據(jù)至云平臺,傳輸、記錄和展示信息,高效準確地完成警報信息的發(fā)布。
本研究實現(xiàn)了一種環(huán)境監(jiān)測控制系統(tǒng)。系統(tǒng)總體框架如圖1所示。該系統(tǒng)運用物聯(lián)網(wǎng)技術(shù)將監(jiān)測端與接收端聯(lián)系起來,在監(jiān)測端用STM32單片機作為控制核心,控制多個傳感器的數(shù)據(jù)收發(fā)和初級處理,利用無線通信技術(shù)WiFi,實時快捷地將收集到的環(huán)境參數(shù)發(fā)送到服務(wù)器接收端,通過后臺管理平臺呈現(xiàn)到管理人員面前,實現(xiàn)對監(jiān)控區(qū)域環(huán)境信息的實時監(jiān)控。

圖1 系統(tǒng)總體框架Fig.1 Overall framework of the system
為了適應(yīng)室內(nèi)多樣的監(jiān)測環(huán)境,使本控制系統(tǒng)能夠滿足搭載多個傳感器、降低使用功耗、合理地利用流量資源、開發(fā)和可操作性簡單等需求,本系統(tǒng)的監(jiān)測終端采用控制板STM32F103ZET6為核心,是基于Arm Cortex-M3內(nèi)核的32位單片微型計算機,具備睡眠、停機和待機模式,可以在要求快速啟動、多頻次多類型喚醒和功耗低三種需求中達到合理的平衡。具有高性能、低成本、低功耗等特點[5],適用于實際應(yīng)用過程中室內(nèi)環(huán)境參數(shù)信息多頻次喚醒數(shù)據(jù)上傳,同時可以向外擴展硬件功能,開發(fā)系統(tǒng)配套的硬件和軟件。
該微處理器具有3個12位模數(shù)轉(zhuǎn)換器、轉(zhuǎn)換電壓范圍在0V~3.6V之間,擁有雙通道12位D/A轉(zhuǎn)換器、13個通信接口、12通道DMA控制器和112個I/O端口,可用于連接外設(shè)定時器、USART、SPI、ADC和DAC等接口,方便使用??刂坪诵陌宓闹骺匦酒屯鈬娐啡鐖D2所示。

圖2 主控芯片和外圍電路Fig.2 Master chip and peripheral circuitry
鑒于火災(zāi)的多發(fā)性,本設(shè)計采用的是對環(huán)境溫濕度較為靈敏的DHT11溫濕度傳感器來反映室內(nèi)溫濕度的變化過程,此傳感器的電路圖如圖3所示。DHT11是溫濕度集于一體的數(shù)字型傳感器,內(nèi)含電阻式測濕元件和NTC測溫元件。采用單總線協(xié)議與STM32單片機進行通信,每次單片機讀取DHT11傳感器的數(shù)據(jù)時,一次性讀取40次,利用DATA進行STM32和DHT11的數(shù)據(jù)傳輸,在第一次發(fā)送信號時,將模式從低耗向高速轉(zhuǎn)變。此傳感器所能測量的溫濕度范圍比較廣泛,溫度和濕度的測量范圍、分辨率和進度如表1所示,且內(nèi)部達40Bit的濕度和溫度數(shù)據(jù)可一次性傳給單片機,數(shù)據(jù)采用校驗方式,有效保證數(shù)據(jù)傳輸?shù)臏蚀_性[6]。DHT11相較于其他的同類傳感器,功耗很低且價格廉價,其工作電壓為3.3V~5V,工作平均最大電流為0.5mA。

圖3 溫濕度傳感器電路圖Fig.3 Temperature and humidity sensor circuit diagram
DHT11的技術(shù)參數(shù)如表1所示。

表1 溫濕度傳感器參數(shù)Tab.1 Anomaly detection results of different models
采用MQ-2型煙霧傳感器來檢測環(huán)境數(shù)據(jù),該傳感器的電路圖如圖4所示。此傳感器的特點是高靈敏性,短暫時間內(nèi)快速響應(yīng)恢復(fù),并且它的靈敏度會隨著氣體濃度的不斷增加而越發(fā)靈敏,元件的電阻值會不斷地變小,并且此傳感器受溫濕度變化影響較小,而且穩(wěn)定性較為優(yōu)良,使用壽命長。此外,它具有廣泛的探測范圍,可以探測液化氣、丙烷、甲烷、丁烷和氫氣等多種氣體,穩(wěn)定性良好,壽命長且驅(qū)動電路簡單,適于家庭和工廠的氣體泄漏監(jiān)測和安全保障預(yù)警[7]。傳感器將采集到的模擬信號輸入到單片機中進行處理,由單片機的模數(shù)轉(zhuǎn)換程序?qū)⑵滢D(zhuǎn)換為數(shù)字信號值輸出,進而獲得環(huán)境氣體濃度ppm值。

圖4 煙霧傳感器電路圖Fig.4 Smoke sensor circuit diagram
模擬輸出電壓值公式為:

MQ-2煙霧傳感器探測濃度范圍如表2所示。

表2 煙霧傳感器探測氣體濃度范圍Tab.2 Smoke sensors detect the range of gas concentrations
本設(shè)計采用MQ-7傳感器來測量一氧化碳,該傳感器實物圖如圖5所示。此一氧化碳傳感器隨著氣體濃度的增加其元件電阻不斷減小,傳感器的電導(dǎo)率也隨著增大,傳感器越發(fā)靈敏。該傳感器在環(huán)境條件無一氧化碳氣體影響或未達到所設(shè)閾值時,該傳感器輸出高電平;當(dāng)環(huán)境一氧化碳濃度超過設(shè)定閾值時,該傳感器輸出低電平。也正是如此,STM32單片機可以監(jiān)測一氧化碳的高低電平來監(jiān)測環(huán)境一氧化碳含量。該傳感器具有較長的使用壽命和可靠的穩(wěn)定性,通過采集空氣中的模擬氣體信號輸入單片機內(nèi)進行模數(shù)轉(zhuǎn)換,進而輸出數(shù)字信號。主要應(yīng)用于家庭氣體泄漏報警裝置、工業(yè)用一氧化碳元器件以及便攜式的氣體檢測器的生產(chǎn)制作過程中。
本設(shè)計采用的是SGP30數(shù)字型傳感器,該傳感器的電路圖如圖6所示,它所測量的氣體包括兩種,二氧化碳與可揮發(fā)氣體TVOC。SGP30搭載多個金屬氧化物傳感元件,輸出的信號具有完全校準功能,相對于其他單一的二氧化碳傳感器有著抵抗外界污染氣體的能力,有著優(yōu)良的使用壽命和穩(wěn)定性,使得其較多的應(yīng)用在工廠、智能家居和居室等場景中。TVOC—總揮發(fā)性有機物,是一項衡量空氣質(zhì)量好壞的重要指標(biāo),SGP30傳感器同樣也能監(jiān)測TVOC。該傳感器在正常溫度和濕度分別為5℃~55℃和4~20g/m3時表現(xiàn)最佳。它可以監(jiān)測空氣中CO2和TVOC氣體的含量多少并上傳至處理系統(tǒng)對此做出分析,達到預(yù)警的目的。

圖6 二氧化碳傳感器電路圖Fig.6 Carbon dioxide sensor circuit diagram
二氧化碳濃度對人體影響如表3所示:

表3 二氧化碳濃度影響Tab.3 Effects of carbon dioxide concentration
語音報警模塊采用JQ8900-16P芯片,選用SOC方案進行集成,涵蓋了一個16位的MCU,以及一個專門面向音頻解碼的ADSP,采用硬解碼的方式,保證了系統(tǒng)的穩(wěn)定性和音質(zhì)。該芯片把SPI-FLASH直接模擬成U盤,可預(yù)先把語音文件拷貝到模塊內(nèi),省去了傳統(tǒng)語音芯片需要安裝上位機以更換語音的麻煩。具有7個觸發(fā)I/O口,最多支持19段語音觸發(fā)播放,滿足對不同危險進行報警的需求。對于用戶來說,該系統(tǒng)支持指定時間段復(fù)讀,可實現(xiàn)30級音量調(diào)節(jié),有利于將報警信息更好地傳遞給用戶。該模塊實物圖如圖7所示。

圖7 語音模塊實物圖Fig.7 Physical diagram of the voice module
本實驗采用具有優(yōu)良轉(zhuǎn)向性能,可以全向移動的麥克納姆小車[8],它可以沿著預(yù)定軌跡路線或者接受上層服務(wù)器指令控制運行,具有極大的靈活自由度,方便在指定目標(biāo)位置或全面搜查場景時采集環(huán)境參數(shù)信息。小車將實時運動方位和環(huán)境空氣數(shù)據(jù)獲取,由空間方位和氣體濃度成對組成的軌跡序列,通過循環(huán)神經(jīng)網(wǎng)絡(luò)、ADC轉(zhuǎn)換器和環(huán)境監(jiān)測傳感器聚類完成異常檢測,同時將對異常指標(biāo)氣體進行規(guī)劃尋源軌跡。
本系統(tǒng)通過Keil軟件對硬件終端進行指令輸入和編程,實現(xiàn)控制核心板對傳感器的控制使用和初始條件配置,進而實現(xiàn)本系統(tǒng)的環(huán)境監(jiān)測功能,之后通過WiFi無線傳輸模塊建立與云平臺之間的聯(lián)系,實現(xiàn)管理人員實時監(jiān)控目標(biāo)環(huán)境信息的作業(yè)。主程序流程圖如圖8所示。

圖8 主程序流程圖Fig.8 Main program flowchart
本設(shè)計采用的是ESP8266物聯(lián)網(wǎng)通信模塊,為成本較低的無線設(shè)備,它適用于TCP/IP協(xié)議和MQTT協(xié)議[9]。該模塊的工作電壓為3V~3.6V,電流為500mA以上,工作溫度范圍:-40℃~125℃,可以保證在極端環(huán)境下安全可靠地進行工作。此外,裝置占用更少的空間可以更好的契合PCB板。Esp8266作為WiFi模塊,由于此模塊擁有連接網(wǎng)絡(luò)進行無線透傳的能力,通過輸入AT控制指令就可以來完成相應(yīng)的動作。ESP8266 強大的片上處理和存儲能力,使得可通過GPIO口集成傳感器及其他應(yīng)用的特定設(shè)備,具備最低的前期開發(fā)和運行中最少地占用系統(tǒng)資源的特點。
ESP8266除了傳統(tǒng)的串口燒錄方式,還支持云端升級的方式來更新固件。只需將新版固件上傳至服務(wù)器,在ESP8266聯(lián)網(wǎng)的情況下,服務(wù)器會推送更新消息到用戶,用戶可自行選擇是否升級。對于項目有極大的便捷。ESP8266通信模塊芯片和外圍電路圖如圖9所示。

圖9 ESP8266通信模塊芯片和外圍電路圖Fig.9 ESP8266 communication module chip and peripheral circuit diagram
傳感器采集到環(huán)境數(shù)據(jù)后,通過串口發(fā)送至ESP8266模塊,將數(shù)據(jù)以AT指令的形式發(fā)送至服務(wù)器數(shù)據(jù)庫中。當(dāng)環(huán)境數(shù)據(jù)異常時,管理者可以遠程控制設(shè)備解決隱患或預(yù)處理,如“AT+MIPLWRITE”為下行寫操作請求消息,服務(wù)器下發(fā)寫數(shù)據(jù)操作,即從平臺下發(fā)數(shù)據(jù)到終端,模組收到服務(wù)器數(shù)據(jù)后,將通過串口上報該消息。
在進行信息配置時“ref”代表硬件設(shè)備實例ID;“msgid”代表消息ID;“Objid”代表Object ID;“insid”代表Instance ID,如果為1,需要讀取該Object下的所有資源;“Resid”代表Resource ID,如果為1,需要讀取該Instance下的所有資源;“type”代表待寫入的數(shù)據(jù)類型;“l(fā)en”代表本次報文寫入的數(shù)據(jù)值長度;“value”代表寫入的數(shù)據(jù)值,當(dāng)value為1時。即打開Objecct ID對應(yīng)的電氣設(shè)備,比如小燈,空調(diào),空凈化器,加濕器等設(shè)備;當(dāng)value為0時。即關(guān)閉。
單片機接收(平臺發(fā)送)數(shù)據(jù)格式如下:

當(dāng)完成設(shè)備的遠程控制操作,需要給服務(wù)器端反饋,不然會造成操作無效或延時,如“AT+MIPLWRITERSP”為下行寫操作請求回復(fù),該命令用于MCU完成相應(yīng)Write操作后,向平臺回復(fù) Write 操作結(jié)果。
在進行信息配置時,“ref”代表硬件設(shè)備實例ID;“msgid”代表收到的“AT+MIPLWRITE”消息攜帶的msgid;“result”2代表操作正確完成、11代表Bad Request、12代表Unauthorized、13代表Not Found、14代表Method Not Allowed。服務(wù)器接收后返回ok,即發(fā)送成功,則本次遠程操控完成。
其命令格式如下:

小車根據(jù)隨動氣體濃度的變化情況,預(yù)訓(xùn)練時空偏移向量,通過rnn(循環(huán)神經(jīng)網(wǎng)絡(luò))預(yù)測下一個時空點檢測氣體的濃度概率分布,計算和實際氣體濃度概率分布的kl離散度,kl越小異常成分越高。則說明小車軌跡偏離氣體源的軌跡方位誤差越小,
執(zhí)行代碼如下:
python data_preprocessing.py
python data_loader.py
python pre_embedding.py
python main.py
python predict.py
經(jīng)過對環(huán)境數(shù)據(jù)變化率的分析,得到氣體源的模擬方位,輸出時空坐標(biāo)軌跡的格式為:hour_location hour_location
[1]6_10101 7_10094 8_10096 9_10102 10_10097
[2]6_10094 8_10103 10_10101 11_10103 11_10095 14_10097
[3]12_10094 12_10094 12_10097 13_10096 13_10094 14_10097 16_10096 18_10102
軌跡、氣體變化綜合檢測部分數(shù)據(jù)如下:
cardno,loss
be4fqkgr66n89gdna5cg,0.000996691407635808
be4d5d0r66n89gdldnj0,0.0009965329663828015
be4ct7or66n89gdl8760,0.000997029128484428
be4d12or66n89gdlat3g,0.0010041424538940191
be4d4ogr66n89gdldac0,0.0009971902472898364
be4fdogr66n89gdn0rh0,0.0009968323865905404
be4crt8r66n89gdl79cg,0.0009975525317713618
服務(wù)器端用于實現(xiàn)監(jiān)測環(huán)境信息的體現(xiàn)和數(shù)據(jù)歷史回溯的功能,采用MQTT協(xié)議將數(shù)據(jù)上傳至云平臺,通過驗證核實進入獲取信息,利用曲線圖的方式展現(xiàn)當(dāng)前環(huán)境變化情況[10]。此外,服務(wù)器管理人員也可以利用操作指令向硬件終端發(fā)布命令。
將硬件終端接上外部電源,通電后待其與服務(wù)器建立連接后,觀測此時的正常情況下的環(huán)境數(shù)據(jù),如下為服務(wù)器端數(shù)據(jù)截取部分:
2022-05-12 04:07:17pm -- push dataArray|[
{"at":1652342831246,"imei":"860618043200078","type":1,"ds_id":"3304_0_5700","value":36,"dev_id":760513321},
{"at":1652342831246,"imei":"860618043200078","type":1,"ds_id":"3303_0_5700","value":25,"dev_id":760513321},
{"at":1652342831273,"imei":"860618043200078","type":1,"ds_id":"3325_0_5700","value":470,"dev_id":760513321},
{"at":1652342831887,"imei":"860618043200078","type":1,"ds_id":"3316_1_5700","value":1.12,"dev_id":760513321},
{"at":1652342831901,"imei":"860618043200078","type":1,"ds_id":"3316_2_5700","value":2.15,"dev_id":760513321}]。
Value為各傳感器數(shù)值,ds_id則為傳感器類型。從中可觀察到在2022年5月12日下午的04時07分17秒,濕度(3304)為36%,溫度(3303)為25℃,二氧化碳濃度(3325)為470ppm,一氧化碳電壓輸出(3316_1)為1.12V,煙霧電壓輸出(3316_2)為2.15V。
基于STM32單片機和服務(wù)器等物聯(lián)網(wǎng)技術(shù),開發(fā)設(shè)計了環(huán)境監(jiān)測控制系統(tǒng),系統(tǒng)設(shè)計結(jié)構(gòu)完備可用,穩(wěn)定可靠,可以全天候監(jiān)測室內(nèi)環(huán)境信息,方便快捷地傳輸數(shù)據(jù)信息,有利于提前獲知室內(nèi)信息,減少室內(nèi)危險災(zāi)害對人員財產(chǎn)的損失。此外,通過多種傳感器集成開發(fā)設(shè)計,使之成為一個獨立的可以同時監(jiān)測多種環(huán)境參數(shù)的設(shè)備,提高了判斷的準確性。
引用
[1]毛劍武.居住建筑物聯(lián)網(wǎng)室內(nèi)健康環(huán)境實時監(jiān)測系統(tǒng)構(gòu)建和運用[J].四川水泥,2021(3):69-70.
[2]陳志飛.可燃有毒氣體報警儀系統(tǒng)設(shè)置現(xiàn)狀及應(yīng)用探討[J].安全、健康和環(huán)境,2020,20(3):12-15.
[3]王強.新時期我國室內(nèi)環(huán)境檢測的發(fā)展現(xiàn)狀與思考[J].綠色環(huán)保建材,2020(3):62-63.
[4]高紀男,高治軍,韓忠華.室內(nèi)有害物質(zhì)監(jiān)測與控制系統(tǒng)的設(shè)計[J].電子設(shè)計工程,2022,30(11):89-93+98.
[5]劉德鐵.基于STM32F103ZET6智能梯控系統(tǒng)的設(shè)計與實現(xiàn)[D].廣州:華南理工大學(xué),2019.
[6]王志宏,白翠珍.基于DHT11的實驗室多點溫濕度報警系統(tǒng)設(shè)計[J].山西電子技術(shù),2011(4):45-46.
[7]蔡俊豪,曹廣忠,彭業(yè)萍,等.基于CC2530與CC3200的室內(nèi)環(huán)境監(jiān)測系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2019,42(10):71-74+78.
[8]張曉,張楠楠.基于麥克納姆輪和Arduino的避障小車設(shè)計[J].現(xiàn)代電子技術(shù),2022,45(4):30-34.
[9]丘源,經(jīng)本欽,李精華.基于ESP8266WiFi模塊和MQTT協(xié)議的物聯(lián)網(wǎng)傳感節(jié)點設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2019,9(6):24-26+29.
[10]崔文巖,康明,梁書溢,等.基于LoRa的室外環(huán)境監(jiān)測系統(tǒng)設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2022,12(6):16-19.