應(yīng)亞萍,應(yīng)杰漢
(浙江工業(yè)大學(xué)之江學(xué)院 信息工程分院,浙江 杭州 312030)
衣食住行是人們賴以生存的基本生活需求,我國農(nóng)業(yè)發(fā)展的研究和整個社會的穩(wěn)定發(fā)展息息相關(guān)。土壤的溫濕度、空氣中二氧化碳濃度以及農(nóng)作物接收的光照強(qiáng)度是農(nóng)產(chǎn)品生長的基本條件,也是農(nóng)產(chǎn)品品質(zhì)與產(chǎn)出的關(guān)鍵因素。許多傳統(tǒng)的溫室大棚主要還是依賴人工的方法,特別是農(nóng)村地區(qū),大部分溫室大棚都是根據(jù)農(nóng)民自己的經(jīng)驗(yàn),實(shí)施現(xiàn)場人員看護(hù)環(huán)境的變化,效率很低,人力成本高,管理難度大,環(huán)境參數(shù)不好控制。如何檢測和控制相關(guān)環(huán)境參數(shù),實(shí)現(xiàn)大棚環(huán)境的智能控制是一個很有意義的課題。隨著信息技術(shù)的飛速發(fā)展,溫室大棚技術(shù)應(yīng)運(yùn)而生,使種植業(yè)得到快速發(fā)展。本文設(shè)計(jì)一款基于STM32的果蔬大棚智能檢測系統(tǒng),以提高果蔬大棚的管理水平,對提高農(nóng)業(yè)生產(chǎn)力的研究具有深遠(yuǎn)的意義[1-3]。
基于STM32的果蔬大棚智能檢測系統(tǒng)能實(shí)時(shí)精確地采集果蔬大棚中的溫度、濕度、光照以及等效二氧化碳濃度等數(shù)據(jù),并對數(shù)據(jù)進(jìn)行分析和處理,同時(shí)運(yùn)用無線通信技術(shù)和物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)對果蔬大棚相關(guān)環(huán)境參數(shù)的遠(yuǎn)程監(jiān)控,通過PC機(jī)和手機(jī)遠(yuǎn)程監(jiān)測大棚的實(shí)時(shí)狀態(tài),實(shí)現(xiàn)對果蔬大棚的自動化和智能化管理,從而大大提高大棚的管理效率,并且能提高果蔬的產(chǎn)品品質(zhì)和產(chǎn)量,提高土地的利用率[4,5]。
本次的設(shè)計(jì)采用STM32F103C8T6芯片作為主控制芯片,將采集得到的無線傳感器數(shù)據(jù)經(jīng)UART接口發(fā)送給ZigBee的終端,通過無線點(diǎn)對點(diǎn)的傳輸方式向ZigBee的協(xié)調(diào)器發(fā)送數(shù)據(jù),協(xié)調(diào)器則將其中的數(shù)據(jù)經(jīng)串口進(jìn)行傳輸,在上位機(jī)上對VISA進(jìn)行串口配置后,上位機(jī)便可使用VISA標(biāo)準(zhǔn)API對電腦串口實(shí)現(xiàn)讀取操作,將串口數(shù)據(jù)根據(jù)格式解析并顯示于PC上,將數(shù)據(jù)與設(shè)定閾值相比較,如果超出閾值則在上位機(jī)上進(jìn)行報(bào)警,以便于實(shí)現(xiàn)無線觀測的目的。
系統(tǒng)框圖如圖1所示,處理器選用STM32F103C8T6芯片,該芯片有兩路IIC、兩路SPI,此外還有48個GPIO口、4個定時(shí)器等外設(shè)資源。傳感器方面,溫濕度傳感器使用DHT11傳感器,通過單總線的方式傳輸數(shù)據(jù),光照傳感器使用BH1750,通過IIC傳輸方式傳輸數(shù)據(jù),同樣使用IIC通信的還有CCS811傳感器,作為檢測等效二氧化碳和有機(jī)揮發(fā)物的傳感器。OLED則使用SPI的方式通信,顯示采集到的各種測量數(shù)據(jù)。單片機(jī)與ZigBee無線模塊則是使用UART接口進(jìn)行通信。在ZigBee使用Z-Stack協(xié)議棧將終端數(shù)據(jù)發(fā)送給協(xié)調(diào)器后,PC端使用LabVIEW撰寫的上位機(jī)系統(tǒng)通過VISA對串口進(jìn)行讀取,將數(shù)據(jù)分別顯示在上位機(jī)上,并與上位機(jī)設(shè)置的閾值相比較,如果超出閾值則在LabVIEW上位機(jī)上進(jìn)行報(bào)警燈閃爍。
圖1 系統(tǒng)框圖
硬件電路主要由傳感器模塊、無線傳輸模塊、主控模塊等模塊構(gòu)成。
2.1.1 溫濕度傳感器
棚內(nèi)溫濕度監(jiān)測模塊采用的是DHT11數(shù)字溫濕度復(fù)合傳感器,是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。該傳感器電壓的工作范圍為3~5.5 V,平均工作電流為0.2 mA,濕度測量范圍為20%~90%RH,溫度測量范圍為0~50 ℃,測濕精度為±5%RH,測溫精度為±2 ℃,溫度分辨率為1 ℃,DHT11傳感器每次通信時(shí)間約4 ms,具有傳輸速度快、抗干擾能力強(qiáng)、價(jià)格低等優(yōu)點(diǎn),并且DHT11有數(shù)據(jù)校驗(yàn)位保證了測量數(shù)據(jù)的準(zhǔn)確性,完全滿足對蔬菜大棚內(nèi)溫濕度的監(jiān)測。
2.1.2 等效二氧化碳與有機(jī)揮發(fā)物傳感器
等效二氧化碳與有機(jī)揮發(fā)物傳感器使用CCS811傳感器,是一種超低功耗數(shù)字氣體傳感器解決方案,監(jiān)測室內(nèi)空氣質(zhì)量的金屬氧化物氣體傳感器被集成于其中。不僅如此,CCS811支持智能檢測算法來處理原始傳感器測量值,以表示實(shí)際環(huán)境中的等效CO2(eCO2)水平或TVOC測量值。這些算法的結(jié)果通過標(biāo)準(zhǔn)的I2C數(shù)字接口提供。
2.1.3 光照采集傳感器
BH1750FVI是一種以總線接口為傳輸方式的數(shù)字環(huán)境光傳感器芯片。該芯片采集的數(shù)據(jù)被普遍運(yùn)用于電子設(shè)備的背光調(diào)節(jié)。寬范圍的探測可以使用高分辨率模式進(jìn)行探測,該模式下檢測的范圍為1~65 535。
該傳感器有如下優(yōu)點(diǎn):(1)BH1750傳感器的光譜響應(yīng)接近于人眼;(2)低功耗模式下低電流耗散,待機(jī)時(shí)間更長;(3)可濾除50~60 dB的光噪音;(4)邏輯輸入接口;(5)不同光源之間數(shù)據(jù)基本相似(如白熾燈、熒光燈、鹵素?zé)簟ED、自然光);(6)擁有兩個可切換的地址;(7)可以調(diào)節(jié)的測量結(jié)果分辨率。
無線模塊使用了ZigBee開發(fā)套件,它具有低價(jià)格、低功率、高可靠性、高安全性等優(yōu)點(diǎn),ZigBee受IEEE802.15.4標(biāo)準(zhǔn)約束。本設(shè)計(jì)ZigBee系統(tǒng)主要由終端和協(xié)調(diào)器構(gòu)成,所謂協(xié)調(diào)器,調(diào)度著ZigBee網(wǎng)絡(luò)群組的參與者。對于一般的應(yīng)用模型,ZigBee網(wǎng)絡(luò)組網(wǎng)后,其主要功能是根據(jù)掃描選擇合適的參數(shù)來建立網(wǎng)絡(luò),每個ZigBee網(wǎng)絡(luò)僅允許一個協(xié)調(diào)器在此網(wǎng)絡(luò)中找一條通道,隨后建立一個網(wǎng)絡(luò)信號以便于啟動網(wǎng)絡(luò)。整個網(wǎng)絡(luò)的起點(diǎn)是協(xié)調(diào)器,負(fù)責(zé)維護(hù)整個網(wǎng)絡(luò),并且設(shè)計(jì)安全中心并執(zhí)行其他操作以維持與網(wǎng)絡(luò)其他成員的通信。
主控模塊采用STM32F103C8T6芯片。其高性能的32位RISC內(nèi)核可以提供強(qiáng)大的運(yùn)算能力,72 MHz的工作頻率使得芯片處理語句的速度高于一般的8位和16位MCU。此外,該MCU使用的高速閃存和高速SRAM賦予了該存儲系統(tǒng)能匹配MCU系統(tǒng)的處理速度,MCU可以發(fā)揮出全部實(shí)力。通信接口總線資源方面,MCU擁有兩個IIC和SPI接口,3個USART接口和一個Micro-USB接口,滿足項(xiàng)目的基本通信需要。
采集數(shù)據(jù)部分使用比較常用的方式,即使用C語言配合編譯器對STM32芯片進(jìn)行編譯。先通過單總線的方式將DHT11的溫濕度數(shù)據(jù)采集到STM32并進(jìn)行存儲,然后使用IIC的方式將BH1750的光強(qiáng)度數(shù)據(jù)以及CCS811的等效二氧化碳和揮發(fā)性有機(jī)物的數(shù)值分別取回至主控芯片并且進(jìn)行存儲,并通過SPI的通信方式將這些數(shù)據(jù)顯示在OLED上,然后通過UART的通信方式將這些重組后的傳感器數(shù)據(jù)發(fā)送至ZigBee的終端,終端在獲取到這些數(shù)據(jù)后,使用Z-Stack協(xié)議棧將這些數(shù)據(jù)發(fā)送給數(shù)米外的Zigbee協(xié)調(diào)器,協(xié)調(diào)器在接收到終端的傳感器數(shù)據(jù)后,通過串口傳送給PC,PC通過串口讀到了協(xié)調(diào)器發(fā)送的數(shù)據(jù)后,可以打開由LabVIEW工程文件生成的EXE執(zhí)行文件,在對串口參數(shù)進(jìn)行配置后便可在上位機(jī)上對發(fā)送來的數(shù)據(jù)進(jìn)行解析并顯示在對應(yīng)位置。本次設(shè)計(jì)的系統(tǒng)流程如圖2所示。
圖2 系統(tǒng)流程圖
在確保電壓正確、每個元器件都正常接線、二次檢查正負(fù)極接線并未接反的情況下,本設(shè)計(jì)期間是使用分階段調(diào)試的方法,每一個傳感器的代碼分階段寫入程序,在確認(rèn)上一階段所有傳感器都正常工作并顯示讀數(shù)的情況下,再將下一個傳感器的代碼加入到總程序中,這樣能保證每一次加入傳感器前系統(tǒng)工作正常,不會出現(xiàn)系統(tǒng)整個癱瘓但無從下手改代碼的問題。
最后在數(shù)據(jù)傳輸之前撰寫數(shù)據(jù)傳輸DEMO,將DEMO調(diào)通后再將數(shù)據(jù)搭載到UART上傳送給ZigBee終端,這樣大部分可能出現(xiàn)的問題都會在DEMO測試階段暴露出來,便于找出導(dǎo)致程序不滿足預(yù)期的原因。
本文設(shè)計(jì)了一個基于STM32的農(nóng)業(yè)智能果蔬大棚,主要實(shí)現(xiàn)了對大棚環(huán)境中的溫濕度、光照強(qiáng)度、等效二氧化碳以及有機(jī)揮發(fā)物進(jìn)行監(jiān)測,并通過無線模塊串口傳輸至PC端,使用上位機(jī)顯示在計(jì)算機(jī)上。與現(xiàn)有技術(shù)相比,增加了多個大棚拓展的可能性,與傳統(tǒng)拉線連接的方式相比,成本直線下降,增加觀測的大棚數(shù)目不需再重新接線,一臺連接PC端的協(xié)調(diào)器可以同時(shí)與多臺終端進(jìn)行廣播通信。