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