基于STM32的室內環(huán)境檢測調節系統*
*指導老師:王迷迷
本文引用地址:http://dyxdggzs.com/article/202110/428815.htm0 引言
隨著(zhù)科技與經(jīng)濟的發(fā)展,大多數人對生活環(huán)境質(zhì)量開(kāi)始有了更高的追求。因此,家庭室內環(huán)境的檢測與調節技術(shù)成為了一個(gè)重要項目。傳統的檢測裝置和調節設備,不僅設備成本高,而且對家庭環(huán)境的適用性不是很強?,F在物聯(lián)網(wǎng)技術(shù)發(fā)展迅速,但大多數傳統裝置卻無(wú)法實(shí)現遠程檢測與調控。因此,我們通過(guò)ESP8266 以及MQTT 協(xié)議實(shí)現單片機與云平臺OneNET 的交互,以此來(lái)達到人們對環(huán)境參數的實(shí)時(shí)檢測與調節的功能。在數據被OneNET 物聯(lián)網(wǎng)開(kāi)放平臺所部署的產(chǎn)品(服務(wù)器)成功接收并存儲后,用戶(hù)可通過(guò)PC 或智能手機登錄在OneNET 物聯(lián)網(wǎng)開(kāi)放平臺開(kāi)發(fā)的監測界面,實(shí)現對室內環(huán)境數據的實(shí)時(shí)監測。
1 系統設計
系統方案如圖1 所示,主要以STM32F103 芯片為核心,利用傳感器為外設,圍繞STM32 完成對環(huán)境信息的采集。利用繼電器完成對環(huán)境信息調節。利用MQTT協(xié)議,通過(guò)ESP8266 模塊,使環(huán)境信息上傳到OneNET 平臺,可以通過(guò)設備云遠程監控和調節系統所在的室內環(huán)境。
圖1 系統方案
2 系統硬件/數據采集
本系統采用的是瑞士Sensirion 公司生產(chǎn)的SHT20溫濕度傳感器,其在高溫、高濕環(huán)境下性能更加穩定。溫度誤差在0.3 ℃,濕度誤差在3.0%RH,在本系統中已經(jīng)達到使用標準。SHT20 溫濕度傳感器采用的是I2C總線(xiàn)通信,基本命令如表1 所示。
表1 基本命令
有害氣體檢測使用的是MQ-135 模塊,鼠標靠近一個(gè)紅色文字,可以直接查看與分句相似的情況,dout輸出都是數碼信號,ttl 輸出的有效電壓通常是一個(gè)小的低電平,aout 輸出的都是模仿信號,模仿輸出的電流會(huì )隨著(zhù)濃度的增加而逐漸減少和增加,濃度也就會(huì )變得更高,而且電壓也會(huì )隨之變得更高。aout 可以用來(lái)當做1個(gè)模擬信號的輸入和引腳。ttl 輸出的有效信號是一個(gè)較低的電平,aout 輸出的是1 個(gè)模擬信號,仿真后的輸出就會(huì )隨著(zhù)濃度的改變而逐漸增加,濃度也就越高,那么電壓就會(huì )逐漸變得更高。aout 可以作為1 個(gè)模擬信號的輸出引腳。aout 引腳直接與STM32 的AD 轉換和輸入引腳相連,ADC 將采集后得到的模擬信號轉換成1 個(gè)數字信號。在正常環(huán)境(即沒(méi)有收到檢測氣體)下,將該傳感器所需的輸入和參考電壓設置為正常輸入和參考電壓。此時(shí)aout 端的檢測電壓大約為1 V,當傳感器檢測到被檢測氣體時(shí),檢測電壓額定值增加為0。在正常環(huán)境下,即沒(méi)有檢測到氣體的情況下,將該傳感所需的輸入和參考電壓設置為正常輸入和參考電壓。此時(shí)aout 端的模擬濃度電壓約為1 V,當單片機傳感器在模擬濃度檢測時(shí)得到被用于模擬濃度檢測的氣體時(shí),當模擬濃度電壓額定值變化增加0.1 V 時(shí),被用于模擬濃度檢測氣體的實(shí)際濃度額定值將會(huì )增加2×10-5。根據該參數,單片機可以把測量出來(lái)的模擬濃度電壓額定值自動(dòng)變成模擬濃度額定值。這個(gè)模塊的濃度變換公式定義為:
使用2 路繼電器模塊來(lái)控制風(fēng)扇等溫度調節設備和蜂鳴器。在STM32 上定義出2 個(gè)輸出口用于判斷溫濕度是否達到給定閾值。第1 個(gè)繼電器的常閉觸點(diǎn)接升溫設備,第2 個(gè)繼電器的常開(kāi)觸點(diǎn)為降溫設備。當溫度低于最低溫度時(shí),2 個(gè)輸出口均輸出低電平,2 個(gè)繼電器都處在常閉觸點(diǎn)上,第1 個(gè)繼電器控制升溫設備;當溫度處于閾值給定的區間內,第1 個(gè)輸出口為高電平,第1 個(gè)繼電器處在常開(kāi)觸點(diǎn)上,提供電源給第2 個(gè)繼電器,第2 個(gè)輸出口為低電平,處于常閉觸點(diǎn),沒(méi)有設備打開(kāi);當溫度高于最高溫度時(shí),兩個(gè)輸出口輸出高電平,繼電器都處在常開(kāi)觸點(diǎn)上,第1 個(gè)繼電器提供第2 個(gè)繼電器的電源,使第2 個(gè)繼電器可以打開(kāi)降溫設備。無(wú)線(xiàn)網(wǎng)絡(luò )模塊使用的ESP8266 芯片,運用AT 指令選擇運行模式即可實(shí)現無(wú)線(xiàn)網(wǎng)絡(luò )和單片機之間的數據連接。為了存儲環(huán)境數據變送器所采集上傳的室內環(huán)境數據,接入OneNET 流程時(shí),需要對OneNET 物聯(lián)網(wǎng)開(kāi)放平臺進(jìn)行相應的部署,具體可分為創(chuàng )建產(chǎn)品、添加設備和數據上傳3 個(gè)步驟。首先,登錄OneNET 物聯(lián)網(wǎng)開(kāi)放平臺進(jìn)入控制臺,在OneNET 產(chǎn)品目錄選擇“多協(xié)議接入”服務(wù),并創(chuàng )建一個(gè)用于接收和存儲監測數據的產(chǎn)品。值得注意的是,一個(gè)產(chǎn)品可以擁有多個(gè)設備。產(chǎn)品創(chuàng )建成功后點(diǎn)擊進(jìn)入該產(chǎn)品,并打開(kāi)該產(chǎn)品的設備列表,使用“添加設備”功能為該產(chǎn)品添加設備。然后使用AT 指令將ESP8266連接到自己設定的路由器上,根據說(shuō)明文檔,接入AP的AT 指令為:
AT + CWJAP = ssid,pswd;
其中ssid 為路由器名稱(chēng),pswd 為路由器密碼。設備登陸的AT 指令為:
AT + IOTCFG = devide.proiduct,auth_info;
其中devide 為設備DI,proiduct 為產(chǎn)品ID,auth_info 為鑒權信息。在燒錄完成后刷新設備頁(yè)面,可以發(fā)現設備已經(jīng)在線(xiàn)。之后就要上傳數據,可以在平臺建立一個(gè)數據,數據類(lèi)似程序中的一個(gè)變量,用來(lái)存數值,也可以使用固件上報功能,若這個(gè)數據不存在,會(huì )自動(dòng)新建一個(gè),根據手冊:
嘗試自己定義一個(gè)數字,輸入指令AT+IOTSEND=0,test,125;此時(shí)可以發(fā)現,設備數據流(設備列表→數據流)中新增1 個(gè)數據125。由此可以實(shí)現定周期向云平臺上傳數據。
3 系統軟件設計
本系統采用OneNET 云平臺服務(wù)實(shí)現網(wǎng)絡(luò )監控室內環(huán)境數據。云平臺也提供了相應的手機APP,幫助實(shí)現遠程監測的功能。本系統使用MQTT 協(xié)議實(shí)現數據上傳。需要用到安信可ESP8266 IDE、ESP8266 官方SDK等官方提供的文件,需要注意的是,要在云平臺上創(chuàng )建產(chǎn)品并選擇協(xié)議,得到設備認證三元組:ProductKey、DeviceName 和DeviceSecret,在官方提供的文件中改變相應的部分。進(jìn)行編譯、燒錄,即可連接到OneNET平臺。關(guān)于ESP8266 傳輸數據的格式,MQTT 協(xié)議中給出了與數據相關(guān)的基本內容,其基本格式分別為:固定報文頭(fixed header)、可變報文頭(variable header)、有效負荷(payload)。其中,有效負荷為實(shí)際檢測的數據。由于設備原因,我們采用的是網(wǎng)絡(luò )帶寬占用較低的QoS0。
4 系統實(shí)際效果
在打開(kāi)電源后,可以在PC 端或手機上看到設備已連接在無(wú)線(xiàn)網(wǎng)中。通過(guò)手指按壓測溫濕度模塊可以看到OneNET 平臺和移動(dòng)端的設備云上監測數據的變化。但由于MQTT數據傳輸質(zhì)量問(wèn)題,有些數據不會(huì )實(shí)時(shí)更新,但總體上可以看出溫度的大致走向,在網(wǎng)絡(luò )較好的地方會(huì )體現得更加明顯。
5 結束語(yǔ)
本文設計了以STM32F103 為核心的室內環(huán)境信息監測和調節系統。測試結果表明,系統能夠準確檢測出室內的溫度、濕度、一氧化碳等環(huán)境量,可以利用繼電器操控風(fēng)扇和制冷片,制熱片對對環(huán)境量進(jìn)行調節。利用OneNET 物聯(lián)網(wǎng)平臺,通過(guò)MQTT 協(xié)議,完成了對環(huán)境量的遠程操控和報警功能。該設計符合系統設計的最初目標,給遠程環(huán)境監控和調節提供了新的思路,有一定實(shí)用價(jià)值。
參考文獻:
[1] 劉萬(wàn)元,黃連清,黃方連,等.基于OneNET物聯(lián)網(wǎng)開(kāi)放平臺的智慧農業(yè)監測系統設計[J].農業(yè)科技與信息,2021(05):82-85.
[2] 王鵬,王發(fā)言,劉龍龍.基于物聯(lián)網(wǎng)的“OneNET病房”監測與信息反饋平臺[J].數碼世界,2021(1):218-219.
[3] 李麗榮,薄立康.STM32技術(shù)下單片機的通信技術(shù)實(shí)驗系統設計與實(shí)現[J].電子測試,2021(7):30-31.
[4] 李威,王宏濤.基于NB-IoT的酒窖環(huán)境遠程監測系統[J].應用科技,2020,47(4):32-36.
[5] 張晨,王玉槐,韓齊,等.基于OneNET云平臺的智能家居遠程控制系統設計[J].信息技術(shù)與信息化,2020(10):223-226.
(本文來(lái)源于《電子產(chǎn)品世界》雜志2021年9月期)
評論