關(guān)鍵詞:智能環(huán)境監(jiān)測;STM32單片機(jī);服務(wù)器;物聯(lián)網(wǎng)技術(shù)
物聯(lián)網(wǎng)技術(shù)目前已經(jīng)覆蓋到生活的各個方面,是當(dāng)前信息時代的主要技術(shù)之一。本創(chuàng)新設(shè)計(jì)正是運(yùn)用了物聯(lián)網(wǎng)技術(shù),主要針對工業(yè)或現(xiàn)代農(nóng)業(yè)的周邊環(huán)境參數(shù)進(jìn)行實(shí)時監(jiān)測和控制,以達(dá)到環(huán)境保護(hù)和農(nóng)業(yè)生產(chǎn)現(xiàn)場環(huán)境控制的目的。本設(shè)計(jì)主要以ARM微處理器STM32為基礎(chǔ)構(gòu)建數(shù)據(jù)處理模塊,基于物聯(lián)網(wǎng)技術(shù),結(jié)合無線傳感技術(shù)通過網(wǎng)絡(luò)傳輸實(shí)現(xiàn)對農(nóng)業(yè)的環(huán)境監(jiān)測,建立智慧化、精準(zhǔn)化的現(xiàn)代環(huán)境監(jiān)測系統(tǒng)。準(zhǔn)確、遠(yuǎn)程、自動、實(shí)時監(jiān)測環(huán)境,滿足精準(zhǔn)對環(huán)境監(jiān)測的要求。
1方案介紹
本系統(tǒng)主要包括三個層次。感知層:即數(shù)據(jù)采集層,利用STM32F103系列微處理器整合各種傳感器(溫濕度傳感器、土壤溫濕度傳感器、光照強(qiáng)度傳感器、CO2濃度傳感器)構(gòu)建數(shù)據(jù)采集和處理終端,負(fù)者采集和處理農(nóng)作物生長環(huán)境參數(shù)。傳輸層:感知層所采集到的農(nóng)作物生長環(huán)境因素參數(shù)通過無線網(wǎng)絡(luò)傳輸?shù)皆品?wù)器數(shù)據(jù)庫。應(yīng)用層:即用戶端,Web網(wǎng)頁從數(shù)據(jù)獲取環(huán)境的溫濕度、土壤溫濕度、光照強(qiáng)度、CO2濃度信息,并且以圖表形式實(shí)時顯示。同時,可根據(jù)獲取的各類信息進(jìn)行灌溉、升溫降溫等控制[1]。
2硬件設(shè)計(jì)
2.1硬件硬件功能框圖
如圖1硬件框圖所示,本系統(tǒng)硬件電路以STM32F103系列單片機(jī)為核心搭建數(shù)據(jù)采集和處理電路,整合溫濕度傳感器、光照強(qiáng)度傳感器、二氧化碳濃度傳感器,PM2.5濃度和PM10濃度,采用Wi-Fi通信模塊進(jìn)行數(shù)據(jù)傳輸[2]。
2.2MCU模板設(shè)計(jì)
本系統(tǒng)中,CPU需要對多個傳感器數(shù)據(jù)進(jìn)行采集和處理,因此對CPU的處理性能、存儲容量和資源接口都有較高要求[3]。本次設(shè)計(jì)選用STM32F103系列單片機(jī)。經(jīng)過評估STM32F103RCT6滿足本設(shè)計(jì)對CPU的需求。MCU最小系統(tǒng)電路包含了時鐘電路、復(fù)位電路、配置電路、狀態(tài)燈、調(diào)試接口和去耦電容。在圖2中,C9、C10、X1構(gòu)成了時鐘電路,X1為8M晶振,經(jīng)過CPU內(nèi)部的PLL鎖相環(huán)進(jìn)行倍頻后達(dá)到72M為CPU提供時鐘信號,C9、C10為起振電容。R3、C11、K1構(gòu)成了復(fù)位電路,STM32系列單片機(jī)為低電平復(fù)位。上電時,單片機(jī)復(fù)位,單片機(jī)正常工作時復(fù)位引腳NRST被上拉,保持高電平。若需要手動復(fù)位,按下復(fù)位按鍵K1,單片機(jī)復(fù)位引腳NRST被拉低,單片機(jī)復(fù)位。R4-R7四個電阻構(gòu)成了啟動模式配置電路,R4、R5為上拉電阻,R6、R7為下拉電阻。本電路中,R4、R5默認(rèn)NC,單片機(jī)BOOT0和BOOT1被下拉,當(dāng)BOOT1=xBOOT0=0從用戶閃存啟動,這是正常的工作模式。當(dāng)需要改變單片機(jī)啟動模式時,可以通過改變R4-R7四個電阻的焊接狀態(tài)來改變BOOT0和BOOT1的電平狀態(tài),從而改變單片機(jī)啟動模式。R1、LED1構(gòu)成了狀態(tài)燈電路連接到單片機(jī)PA0口,當(dāng)PA0輸出低時綠色LED被點(diǎn)亮。可在軟件中讓PA0口以一定頻率改變狀態(tài),當(dāng)單片機(jī)正常工作,程序正常運(yùn)行時,LED會以一定頻率閃爍。通過狀態(tài)燈能方便判斷單片機(jī)是否在正常工作,利于調(diào)試。CN2是串口調(diào)試接口和JTAG調(diào)試接口。C12—C17六個電容是MCU電源去耦電容,PCB布局時緊靠在MCU電源引腳,保證MCU供電穩(wěn)定。
2.3傳感器模板設(shè)計(jì)
(1)溫濕度傳感器溫濕度傳感器負(fù)責(zé)采集農(nóng)作物生長環(huán)境中溫度和濕度信息,本設(shè)計(jì)運(yùn)用DHT11作為溫濕度傳感器。DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性和卓越的長期穩(wěn)定性。其電路圖如圖3所示。(2)光照強(qiáng)度傳感器光照強(qiáng)度傳感器負(fù)責(zé)采集農(nóng)作物生長環(huán)境中的光照強(qiáng)度參數(shù),本設(shè)計(jì)運(yùn)用數(shù)字式光照傳傳感器模塊GY-30作為光照強(qiáng)度傳感器。GY-30是一種通用的光照度檢測模塊,內(nèi)置模數(shù)轉(zhuǎn)換電路,直接數(shù)字輸出。采用ROHM原裝BH1750FVI芯片,內(nèi)置16bitAD轉(zhuǎn)換器直接數(shù)字輸出,省略復(fù)雜的計(jì)算,省略標(biāo)定,不區(qū)分環(huán)境光源,接近于視覺靈敏度的分光特性。其電路圖如圖4所示。(3)CO2濃度傳感器二氧化碳濃度傳感器負(fù)責(zé)采集農(nóng)作物生長環(huán)境中二氧化碳濃度信息,本設(shè)計(jì)運(yùn)用T6603-5作為溫濕度傳感器。T6603-5是美國GE公司研發(fā)的一款基于紅外光學(xué)原理的氣體二氧化碳濃度傳感器,比敏感體化學(xué)材料更具氣體選擇性。其電路圖如圖5所示。
2.4通信模塊通信模塊設(shè)計(jì)
本系統(tǒng)通信模塊采用ALIENTEK推出的一款高性價比UART-WIFI(串口-無線)模塊ATK-ESP8266,該模塊板載ai-thinker公司的ESP8266模塊。ATK-ESP8266模塊采用串口(LVTTL)與MCU(或其他串口設(shè)備)通信,內(nèi)置TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)串口與Wi-Fi之間的轉(zhuǎn)換。通過ATK-ESP8266模塊,傳統(tǒng)的串口設(shè)備只是需要簡單的串口配置,即可通過網(wǎng)絡(luò)(Wi-Fi)傳輸自己的數(shù)據(jù)[4]。ATK-ESP8266模塊支持LVTTL串口,兼容3.3V和5V單片機(jī)系統(tǒng)。模塊支持串口轉(zhuǎn)Wi-FiSTA、串口轉(zhuǎn)AP和Wi-FiSTA+Wi-FiAP的模式,從而快速構(gòu)建串口-Wi-Fi數(shù)據(jù)傳輸方案,方便設(shè)備使用互聯(lián)網(wǎng)傳輸數(shù)據(jù)。ATK-ESP8266模塊支持LVTTL串口,兼容3.3V和5V單片機(jī)系統(tǒng),可以很方便地與單片機(jī)進(jìn)行連接。本設(shè)計(jì)中為ATK-ESP8266模塊供電3.3V,模塊串口I/O電平為:Voh(min)1.44V、Vol(max)0.18V、Vih(min)1.35V、Vil(max)0.45V,可直接與單片機(jī)I/O相連。電路的模塊接收數(shù)據(jù)TXD引腳與單片機(jī)USART2_RXD(PA3)相連,模塊發(fā)送數(shù)據(jù)RXD引腳與單片機(jī)USART2_TXD(PA2)相連,模塊復(fù)位RST引腳與單片機(jī)PA1相連。
3軟件設(shè)計(jì)
3.1系統(tǒng)主程序結(jié)構(gòu)
軟件系統(tǒng)分為數(shù)據(jù)采集、數(shù)據(jù)傳輸、控制輸出三大部分,各部分采用多個進(jìn)程協(xié)同完成功能,每個進(jìn)程職責(zé)單一。通過Contiki嵌入式操作系統(tǒng)進(jìn)行各部分任務(wù)進(jìn)程的調(diào)度[5]。系統(tǒng)主程序結(jié)構(gòu)如圖6所示。
3.2數(shù)據(jù)采集流程
數(shù)據(jù)采集主要是指對各個傳感器輸出數(shù)字信號的讀取,并存入FIFO隊(duì)列進(jìn)行數(shù)據(jù)緩存,等待數(shù)據(jù)傳輸流程提取數(shù)據(jù)的過程。其中包括溫濕度傳感器串行數(shù)據(jù)讀取,二氧化碳濃度UART串口數(shù)據(jù)的讀取,土壤溫濕度和光照強(qiáng)度I2C串行總線數(shù)字信號的讀取。
3.3數(shù)據(jù)傳輸流程
數(shù)據(jù)傳輸流程主要指的是從FIFO隊(duì)列提取各傳感器數(shù)據(jù)按照J(rèn)SON格式打包后利用串口通過Wi-Fi傳輸數(shù)據(jù)的過程。詳細(xì)流程:感知層傳感器數(shù)據(jù)字節(jié)流→字節(jié)轉(zhuǎn)FIFO節(jié)點(diǎn)結(jié)構(gòu)體→放入接收FIFO緩存隊(duì)列→從接收緩存中依次讀取字節(jié)→判斷協(xié)議包頭相等→讀取整個首部→校驗(yàn)首部→讀取數(shù)據(jù)域→校驗(yàn)數(shù)據(jù)和→存入?yún)f(xié)議包PackBlock結(jié)構(gòu)體→存入接收包緩沖隊(duì)列→從接收包緩存中取出協(xié)議包→判斷包目標(biāo)地址→刪除應(yīng)答包→發(fā)送回應(yīng)包→處理包。
3.4輸出輸出控制流程
輸出控制流程是指Web運(yùn)用層發(fā)出控制信號到感知層下位機(jī)收到數(shù)據(jù)包后解析數(shù)據(jù)包并做出相應(yīng)控制的過程。詳細(xì)流程:應(yīng)用層產(chǎn)生控制消息→cJSON封裝消息→cJSON獲取JSON字符串→生成協(xié)議包PackBlock結(jié)構(gòu)體→轉(zhuǎn)為待發(fā)送的字符流→字符流添加到未發(fā)送緩沖隊(duì)列→從未發(fā)送隊(duì)列取出字符流包→指定通道發(fā)送字符流包→獲取字符流包→解析字符流包→做出相應(yīng)控制。
4結(jié)語
本設(shè)計(jì)基本實(shí)現(xiàn)了預(yù)期功能,能實(shí)現(xiàn)遠(yuǎn)程檢測農(nóng)作物生長環(huán)境中的溫濕度、土壤溫濕度、光照強(qiáng)度、CO2濃度參數(shù)。本設(shè)計(jì)具有一定的實(shí)際應(yīng)用價值,運(yùn)用于現(xiàn)代農(nóng)業(yè)生產(chǎn)中能準(zhǔn)確獲取農(nóng)作物生長過程所需的環(huán)境參數(shù),有利于節(jié)約人力,降低成本,提高農(nóng)作物質(zhì)量。同時具有一定擴(kuò)展性,不僅能運(yùn)用于農(nóng)業(yè)環(huán)境監(jiān)控,也可適用于其他環(huán)境,例如將傳感器換成PM2.5傳感器和有害氣體傳感器本系統(tǒng)就可運(yùn)用于遠(yuǎn)程空氣質(zhì)量檢測。但本設(shè)計(jì)還有很多不足之處,最大的不足之處在于控制部分不夠完善,由于對農(nóng)業(yè)大棚中灌溉和升降溫等控制方式并不了解,而且基于成本限制,本設(shè)計(jì)的控制部分還只是理論的設(shè)計(jì),并沒有實(shí)際運(yùn)用。同時,本設(shè)計(jì)通信是基于2.4G的Wi-Fi通信,這要求農(nóng)業(yè)大棚內(nèi)需要覆蓋Wi-Fi網(wǎng)絡(luò),且Wi-Fi傳輸距離有限,并且沒有做多點(diǎn)監(jiān)控的組網(wǎng),后續(xù)需要做較大改進(jìn)。設(shè)計(jì)之初電源部分考慮的是利用太陽能加電池的方案。由于成本和時間限制,最終改為從AC220V市電供電。后續(xù)改進(jìn)時可優(yōu)化電源設(shè)計(jì)。
參考文獻(xiàn):
[1]吳健輝,易嘉聞,鄒玲,李孝春,楊敏.多點(diǎn)無線智能環(huán)境檢測系統(tǒng)設(shè)計(jì)[J].電子技術(shù),2015,44(11):72-75+71.
[2]田均成,宋占偉.基于云平臺的智能農(nóng)業(yè)環(huán)境檢測系統(tǒng)[J].電子技術(shù)與軟件工程,2017(06):193.
[3]常欣,王琦.用STM32和ESP8266實(shí)現(xiàn)的可擴(kuò)展物聯(lián)網(wǎng)系統(tǒng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2018,18(12):58-61.
[4]羅章,賈程乾,于津瓔,李佩錦,甘琳巧,劉帥.基于ESP8266的信號采集終端設(shè)計(jì)[J].電子世界,2018(23):149-150.
[5]鐵玲,任海波.基于Contiki的無線傳感器網(wǎng)絡(luò)的6LoWPAN子網(wǎng)和互聯(lián)網(wǎng)互聯(lián)研究[J].成都大學(xué)學(xué)報(自然科學(xué)版),2017,36(03):262-264.
作者:汪思德 陳乙鑫 單位:西華大學(xué)計(jì)算機(jī)與軟件工程學(xué)院