摘? 要: 為了對(duì)室內(nèi)溫度、濕度、毒氣濃度、PM2.5等環(huán)境參數(shù)實(shí)時(shí)監(jiān)測(cè)與調(diào)控,設(shè)計(jì)一種基于STM32與Zigbee的室內(nèi)環(huán)境調(diào)控系統(tǒng)。利用Zigbee自組網(wǎng)技術(shù)實(shí)現(xiàn)對(duì)室內(nèi)溫度、濕度、毒氣濃度及PM2.5等信息采集,并通過協(xié)調(diào)器上傳至STM32網(wǎng)關(guān),經(jīng)處理后在LCD屏上顯示,同時(shí)可提供web站點(diǎn)用戶通過瀏覽器查看,另外,可根據(jù)實(shí)際情況下對(duì)終端設(shè)備下發(fā)操作的指令。從而為用戶對(duì)室內(nèi)環(huán)境參數(shù)監(jiān)測(cè)與調(diào)控提供了更好的解決方案。
關(guān)鍵詞: 室內(nèi)環(huán)境調(diào)控;系統(tǒng);信息上傳;STM32網(wǎng)關(guān)
中圖分類號(hào): TP273+.5 ???文獻(xiàn)標(biāo)識(shí)碼: A??? DOI:10.3969/j.issn.1003-6970.2020.07.042
本文著錄格式:余正軍. 基于STM32與ZigBee的室內(nèi)環(huán)境調(diào)控系統(tǒng)設(shè)計(jì)[J]. 軟件,2020,41(07):206-209
Design of Indoor Environment Regulation System Based on STM32 and ZigBee
YU Zheng-jun
(Shantou Polytechnic, Shantou 515078)
【Abstract】: An indoor environment regulation system based on STM32 and Zigbee is designed to realize real-time monitoring and regulation of indoor temperature, humidity, toxic gas concentration, PM2.5 and other environmental parameters. Use Zigbee self-organizing network technology to collect indoor temperature, humidity, toxic gas concentration, PM2.5 and other information, which is uploaded to STM32 gateway through the coordinator and displayed on the LCD screen after processing. At the same time, it can provide web site users to view through the browser. 7In addition, it can issue operation instructions to the terminal equipment according to the actual situation.so as to provide a better way for users to monitor and regulation the indoor environmental parameters.
【Key words】: Indoor environment regulation; System; Information upload; STM32 gateway
0? 引言
隨著全面小康社會(huì)的實(shí)現(xiàn),室內(nèi)環(huán)境因素嚴(yán)重威脅人類的健康,然而藍(lán)牙、Zigbee、紅外線、WiFi等無線通信技術(shù)在環(huán)境監(jiān)測(cè)系統(tǒng)中得到了廣泛應(yīng)用。例如基于Zigbee技術(shù)和GPRS通信技術(shù)實(shí)現(xiàn)對(duì)室內(nèi)環(huán)境參數(shù)的遠(yuǎn)程傳輸與監(jiān)測(cè)[1],基于Gainspan平臺(tái)利用wifi技術(shù)實(shí)現(xiàn)是對(duì)室內(nèi)環(huán)境參數(shù)監(jiān)測(cè)[2], 基于CC2530與CC3200的室內(nèi)環(huán)境監(jiān)測(cè)[3]。但上述系統(tǒng)只利用相關(guān)的無線技術(shù)將室內(nèi)環(huán)境信息上傳至服務(wù)器存儲(chǔ),并沒有對(duì)數(shù)據(jù)邊緣處理,也沒有對(duì)室內(nèi)環(huán)境進(jìn)行實(shí)時(shí)調(diào)控。
針對(duì)這一缺陷,結(jié)合他們的研究經(jīng)驗(yàn),本文提出一種基于STM32與ZigBee的室內(nèi)環(huán)境調(diào)控系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)對(duì)室內(nèi)環(huán)境信息實(shí)時(shí)監(jiān)測(cè)與調(diào)控,并能將室內(nèi)環(huán)境信息在stm32網(wǎng)關(guān)的LCD屏動(dòng)態(tài)顯示,同時(shí)也能讓用戶在web站點(diǎn)上通過瀏覽器實(shí)時(shí)查看。
1 ?系統(tǒng)總體方案
系統(tǒng)的zigbee協(xié)調(diào)器和終端節(jié)點(diǎn)模組的MCU采用TI公司生產(chǎn)的CC2530F256。此芯片使用8051內(nèi)核,建立在適應(yīng)2.4 GHz IEEE802.15.4標(biāo)準(zhǔn)協(xié)議上,內(nèi)置RF收發(fā)器,8 KB的SRAM,256 KB閃存快、能對(duì)18個(gè)中斷源管理的中斷控制器,21個(gè)通用的I/O引腳,5通道DAM,32kHz睡眠計(jì)數(shù)器等豐富的外設(shè)接口[4]。
系統(tǒng)的STM32網(wǎng)關(guān)除了對(duì)系統(tǒng)中信息實(shí)時(shí)處理并在觸摸屏上顯示外,還作為一個(gè)小型的web服務(wù)器使用,以達(dá)到數(shù)據(jù)邊緣處理的目的,從而減少數(shù)據(jù)的上傳和下發(fā)的網(wǎng)絡(luò)延時(shí)。網(wǎng)關(guān)主控芯片為意法半導(dǎo)體公司生產(chǎn)的STM32F767XX系列控制器——STM32F767IG76,該芯片集成ARM Cottex-M7內(nèi)核,工作頻率高達(dá)216MHz,6級(jí)流水線技術(shù),1MB閃存容量,512 kB SRAM內(nèi)存容量,140個(gè)I/O,12個(gè)16位計(jì)時(shí)器數(shù)量,24個(gè)12位A/D轉(zhuǎn)換器數(shù)量,2個(gè)12位D/A轉(zhuǎn)換器數(shù)量,2個(gè)32位計(jì)時(shí)器數(shù)量,擁有CAN x 3,DCMI,I2C x4,I2S x3,QSPI,SDIO,SPI x6,UART x4,USART x4,USB OTG,USB high-speed等豐富的接口[5]。
基于stm32和zigbee的室內(nèi)環(huán)境管理系統(tǒng)的總體結(jié)構(gòu)如圖1所示。
該系統(tǒng)由zigbee終端節(jié)點(diǎn)(帶有傳感器節(jié)點(diǎn)和繼電器節(jié)點(diǎn))、zigbee協(xié)調(diào)器及STM32網(wǎng)關(guān)組成。Zigbee終端節(jié)點(diǎn)利用相應(yīng)傳感器對(duì)室內(nèi)溫度、濕度、毒氣濃度、PM2.5等環(huán)境信息進(jìn)行采集[6]并發(fā)送至zigbee協(xié)調(diào)器。繼電器作為控制開關(guān),根據(jù)zigbee協(xié)調(diào)器轉(zhuǎn)發(fā)的指令打開或關(guān)閉相應(yīng)的外部設(shè)備。Zigbee協(xié)調(diào)器負(fù)責(zé)建立星型網(wǎng)絡(luò)傳輸方式,將接受到的各終端節(jié)點(diǎn)上傳的數(shù)據(jù),并將數(shù)據(jù)以定義好的協(xié)議通過串口將數(shù)據(jù)發(fā)送各stm32網(wǎng)關(guān),同時(shí)將網(wǎng)關(guān)下發(fā)的指令數(shù)據(jù)送至對(duì)應(yīng)的繼電器節(jié)點(diǎn)。STM32網(wǎng)關(guān)將接收到數(shù)據(jù)經(jīng)過處理后顯示在觸摸屏上,同時(shí)可提供web站點(diǎn)用戶查看;另外,stm32網(wǎng)關(guān)可根據(jù)實(shí)際情況向終端節(jié)點(diǎn)下發(fā)操作指令。
2 ?終端硬件選型
終端硬件是獲取室內(nèi)環(huán)境數(shù)據(jù)的感知層,其性能直接影響整個(gè)系統(tǒng)的性能。本系統(tǒng)選擇帶有傳感器或繼電器的zigbee模組。傳感器在本系統(tǒng)中主要是是對(duì)室內(nèi)環(huán)境新系統(tǒng)的采集,故選用了DH11溫濕度傳感器、MQ-2煙霧傳感器、PM2.5傳感器;繼電器在本系統(tǒng)中作為調(diào)節(jié)室內(nèi)環(huán)境設(shè)備的開關(guān),故選用了SRD-5VDC-SL-C。
2.1 ?DH11溫濕度傳感器
DH11具有易驅(qū)動(dòng),低功耗,高可靠,單向串行傳輸方式。每次傳送40bit數(shù)據(jù),即8bit濕度整數(shù)部分+8bit濕度小數(shù)部分+8bit溫度整數(shù)部分+8bit溫度小數(shù)部分+8bit校驗(yàn)和[6]。
2.2 ?MQ-2毒氣傳感器
MQ-2毒氣傳感器利用二氧化錫(SnO2)在清潔空氣中電導(dǎo)率低的特性[7]。當(dāng)該傳感器所處環(huán)境中存在有毒氣體時(shí),它的導(dǎo)電性能隨毒氣濃度的增加而提高;并具有長(zhǎng)壽命、高靈敏性、易驅(qū)動(dòng)等特點(diǎn)。本系統(tǒng)通過其輸出的0~5 V電壓值判定室內(nèi)有毒氣體濃度。
2.3 ?PM2.5傳感器
PM2.5傳感器是利用激光束入射到被測(cè)環(huán)境中,通過探測(cè)器接收散射光,根據(jù)產(chǎn)生的光電流大小來判定室內(nèi)粉塵濃度。FM-PN具有分辨率高、誤差小、響應(yīng)快,易驅(qū)動(dòng)等特點(diǎn)。本系統(tǒng)通過其輸出電流4~20 mA電流值判定室內(nèi)PM2.5的值。
2.4 ?繼電器
繼電器在本系統(tǒng)中作為調(diào)控設(shè)備的開關(guān)使用,當(dāng)需要調(diào)控室內(nèi)環(huán)境時(shí),將繼電器線圈兩端加上規(guī)定電壓,否則斷開線圈兩端電壓。據(jù)低成本、易實(shí)現(xiàn)的原則本系統(tǒng)選用SRD-5VDC-SL-C作為環(huán)境信息調(diào)控設(shè)備的開關(guān)。
3 ?系統(tǒng)軟件
系統(tǒng)軟件分為Zigbee自組網(wǎng)的軟件和STM32網(wǎng)關(guān)軟件兩部分。
3.1 ?Zigbee自組網(wǎng)的軟件
Zigbee自組網(wǎng)中的節(jié)點(diǎn)只含終端節(jié)點(diǎn)和協(xié)調(diào)器,終端節(jié)點(diǎn)主要功能是對(duì)室內(nèi)環(huán)境進(jìn)行監(jiān)測(cè)與調(diào)控,本系統(tǒng)的終端節(jié)點(diǎn)為帶有傳感器或繼電器的Zigbee模組。其軟件是對(duì)模組中的時(shí)鐘、定時(shí)器、RF射頻、傳感器、繼電器進(jìn)行驅(qū)動(dòng);并查找四圍是否存在由zigbee協(xié)調(diào)器建立的網(wǎng)絡(luò),若存在則請(qǐng)求入網(wǎng)并獲取zigbee協(xié)調(diào)器分配的PAN ID,同時(shí)向zigbee協(xié)調(diào)器發(fā)送綁定請(qǐng)求進(jìn)行綁定,綁定成功后周期性收發(fā)數(shù)據(jù)。終端節(jié)點(diǎn)程序流程圖如圖2所示。協(xié)調(diào)器是zigbee自組網(wǎng)的組網(wǎng)節(jié)點(diǎn)。其軟件包括時(shí)鐘、定時(shí)器、RF射頻、UART串口等模塊驅(qū)動(dòng)、zigbee協(xié)議棧初始化、掃描并選擇合適的信道,設(shè)定網(wǎng)絡(luò)標(biāo)識(shí)為自己分配一個(gè)PAN ID,對(duì)終端節(jié)點(diǎn)的入網(wǎng)以及數(shù)據(jù)收發(fā)等功能。協(xié)調(diào)器程序流程圖如圖3所示。
3.2 ?STM32網(wǎng)關(guān)軟件
STM32網(wǎng)關(guān)是整個(gè)系統(tǒng)的的大腦,其軟件分為3個(gè)部分即STM32相關(guān)驅(qū)動(dòng)軟件、人機(jī)交互界面軟件和以太網(wǎng)相關(guān)軟件。
由于stm32網(wǎng)關(guān)要實(shí)現(xiàn)與zigbee協(xié)調(diào)器的通信、人機(jī)交互功能和webServer功能,即要實(shí)現(xiàn)串口、LCD、Touch及為系統(tǒng)擴(kuò)展的SRAM、和Flash、以太網(wǎng)外設(shè)及SD卡的驅(qū)動(dòng)。串口驅(qū)動(dòng)主要完成STM32與Zigbee之間通信協(xié)議的定義、STM32獲取zigbee串口數(shù)據(jù)即數(shù)據(jù)解析等功能;LCD和外部SRAM掛接在STM32的FSMC接口,Touch和外部Flash掛接在STM32的SPI接口,以太網(wǎng)外設(shè)通過STM32的RMII接口連接,SD卡通過STM32的SDIO接口連接,故要要對(duì)FSMC、SPI、RMII和SDIO接口中寄存器進(jìn)行配置,LCD硬件初始化、畫點(diǎn)及填充等功能。系統(tǒng)將stm32作為web服務(wù)器使用,需用LWIP驅(qū)動(dòng)網(wǎng)卡實(shí)現(xiàn)HttpServer、通過FatFS驅(qū)動(dòng)SD卡實(shí)現(xiàn)web頁面文件的存儲(chǔ)。其程序流程圖如4所示。
在系統(tǒng)移植Stem Win和中文字庫,實(shí)現(xiàn)人機(jī)交互控制界面的設(shè)計(jì),交互界面主要實(shí)現(xiàn)GUI顯示任務(wù)(環(huán)境信息的顯示及調(diào)控設(shè)備的打開與關(guān)閉)和Touch檢測(cè)任務(wù),其效果如圖5所示。
利用HTML5+CSS+js技術(shù)完成web頁面的設(shè)計(jì),頁面主要分為兩個(gè)部分一部分用于顯示室內(nèi)環(huán)境信息,另一部分模擬系統(tǒng)調(diào)控設(shè)備的運(yùn)行狀態(tài)。其效果如圖6所示。
4 ?驗(yàn)證測(cè)試
驗(yàn)證測(cè)試的主要是驗(yàn)證整個(gè)系統(tǒng)的穩(wěn)定性和實(shí)時(shí)響應(yīng)的靈敏性。測(cè)試要求:一測(cè)試zigbee網(wǎng)絡(luò)的終端設(shè)備能否準(zhǔn)確的將室內(nèi)環(huán)境信息上報(bào)給zigbee協(xié)調(diào)器,協(xié)調(diào)器通過zibee串口上傳至stm32網(wǎng)關(guān),最后經(jīng)過stm3處理后再在網(wǎng)關(guān)的LCD屏上顯示同時(shí)根據(jù)用戶設(shè)置的參數(shù),對(duì)終端相關(guān)設(shè)備作出實(shí)時(shí)響應(yīng);二測(cè)試stm32作為web服務(wù)器,系統(tǒng)能否及時(shí)響應(yīng)web客戶端用戶通過瀏覽器查看室內(nèi)環(huán)境系統(tǒng)、設(shè)備運(yùn)行狀態(tài)及用戶向系統(tǒng)下發(fā)的指令操作。
測(cè)試結(jié)果:通過繼電器工作狀態(tài)模擬室內(nèi)調(diào)控設(shè)備工作狀態(tài),即繼電器開代表設(shè)備正常工作,繼電器關(guān)代表設(shè)備停止工作。通過多次試驗(yàn)當(dāng)室內(nèi)溫度采集到的溫度、濕度、毒氣濃度及PM2.5的值其中有一項(xiàng)值大于用戶所設(shè)置的值時(shí)繼電器打開的準(zhǔn)確率高達(dá)99.3%;瀏覽器與LCD屏上顯示的環(huán)境信息幾乎同步。系統(tǒng)達(dá)到了預(yù)定設(shè)計(jì)的目標(biāo)。
5 ?結(jié)束語
本文設(shè)計(jì)一種基于stm32與zigbee的室內(nèi)環(huán)境調(diào)控系統(tǒng),利用zigbee自組網(wǎng)技術(shù)實(shí)現(xiàn)對(duì)室內(nèi)溫度、濕度、毒氣濃度及PM2.5等信息采集,并通過協(xié)調(diào)器上傳至stm32網(wǎng)關(guān),經(jīng)處理后在LCD屏上顯示,同時(shí)可提供web站點(diǎn)用戶通過瀏覽器查看,另外,可根據(jù)實(shí)際情況下對(duì)終端設(shè)備下發(fā)操作的指令。該系統(tǒng)實(shí)現(xiàn)了對(duì)室內(nèi)環(huán)境參數(shù)信息的監(jiān)測(cè)與調(diào)控。下一步工作是對(duì)室內(nèi)參數(shù)實(shí)時(shí)上傳至云端存儲(chǔ),利用云計(jì)算和人工智能技術(shù)對(duì)上傳數(shù)據(jù)進(jìn)行訓(xùn)練,進(jìn)一步象網(wǎng)關(guān)推送更為合理的調(diào)控模型。
參考文獻(xiàn)
王驥, 林杰華, 謝仕義. 基于無線傳感網(wǎng)的環(huán)境監(jiān)測(cè)系統(tǒng)[J]. 傳感技術(shù)學(xué)報(bào), 2015, 28(11): 1732-1740.
王麗偉, 鄔迎. 基于wifi技術(shù)的家居環(huán)境監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與研究[J]電腦知識(shí)與技術(shù), 2016, 12(13): 49-50.
蔡俊豪, 曹廣忠, 彭業(yè)萍, 周受欽. 基于CC2530與CC3200的室內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J]. 2019, 42(10): 71-74, 78.
Texas instruments. CC2530[2011-02-01]. http://www.ti. com/ lit/ds/symlink/cc2530. pdf
STMicroelectronics.https://www.st.com/content/st_com/en/search. html#q=stm32f767-t=tools-page=1
楊淳清. 基于嵌入式的zigbee無線傳感網(wǎng)智能家居系統(tǒng)硬件設(shè)計(jì)[J]. 電子技術(shù)與軟件工程. 2019, 3: 164.
晏勇. 物聯(lián)網(wǎng)智能家居開放型實(shí)驗(yàn)平臺(tái)開發(fā)與設(shè)計(jì)[J]. 中國(guó)優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫, 2014.
趙勇. 基于arm和zigbee的智能家居遠(yuǎn)程控制監(jiān)控系統(tǒng)設(shè)計(jì)[J], 測(cè)控技術(shù), 2012. 31(11): 52-54, 59.
梁鐵, 李凱, 王付強(qiáng), 郝真鳴. 基于STM32和LwIP協(xié)議棧的web網(wǎng)頁控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 測(cè)控技術(shù). 2015, 32(9): 134-137.
RTOS: Design How is Your Application Affected. Ed Klein. 1998.
耿樹芳, 王寧, 張雪瑩, 展先彪. 一種基于STM32的智能家居無線網(wǎng)關(guān)設(shè)計(jì)[J]. 廊坊師范學(xué)院學(xué)報(bào)(自然科學(xué)版). 2018, 31(12): 26-30.
賈偉. 物聯(lián)網(wǎng)的數(shù)據(jù)采集與信息傳輸技術(shù)研究[J]. 現(xiàn)代電子技術(shù), 2016, 39(5): 33-37.
汪千松. 一種基于Free RTOS實(shí)時(shí)系統(tǒng)改進(jìn)的時(shí)間片延遲調(diào)度算法的設(shè)計(jì)[J]. 科技世界, 2019, 28(15): 43-44.
Fei Guan, Long Peng, Luc Perneel, Martin Timmerman. Open Source FreeRTOS as a Case Study in Real-time Operating System Evolution. The Journal of Systems & Software, 2016.
孫川淳. 基于LwIP的嵌入式網(wǎng)絡(luò)總線與web server的調(diào)度實(shí)現(xiàn). 電子設(shè)計(jì)工程, 2019, 35(03): 159-163, 168.