張步峰,李國(guó)利,劉焙玉(金陵科技學(xué)院,江蘇 南京)
目前,我國(guó)日光溫室已全面普及,但多數(shù)日光溫室仍以人工監(jiān)控為主,管理方法落后,生產(chǎn)效益不高[1-2]。智能大棚作為一種新型的農(nóng)業(yè)生產(chǎn)方式,具有高效、節(jié)能、環(huán)保等優(yōu)點(diǎn),可以有效提高農(nóng)業(yè)生產(chǎn)效率,緩解糧食安全壓力,改善農(nóng)民生活質(zhì)量,是當(dāng)前農(nóng)業(yè)發(fā)展的重要方向之一。智能農(nóng)業(yè)是今后農(nóng)業(yè)發(fā)展的大趨勢(shì)[3]。
隨著人民生活條件日益提高,開(kāi)發(fā)智能大棚以滿(mǎn)足群眾需求勢(shì)在必行[4]。鑒于此,本文以STM32 單片機(jī)與WiFi 模塊為核心設(shè)計(jì)了一款智能大棚環(huán)境監(jiān)測(cè)管理系統(tǒng),精確收集數(shù)據(jù)以保證作物的生長(zhǎng)處于最優(yōu)環(huán)境。因此,收集大棚作物生產(chǎn)環(huán)境數(shù)據(jù),進(jìn)行數(shù)據(jù)可視化處理、觀察數(shù)據(jù)變化趨勢(shì)、預(yù)知風(fēng)險(xiǎn),對(duì)大棚作物生長(zhǎng)環(huán)境的安全具有重要意義。隨著農(nóng)業(yè)技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展和融合,溫室的環(huán)境控制系統(tǒng)也在朝著智能化、集中化和網(wǎng)絡(luò)化的方向發(fā)展。
農(nóng)業(yè)大棚遠(yuǎn)程監(jiān)控系統(tǒng)選擇STM32F103C8T6 單片機(jī)作為核心控制單元,與晶振電路、電源電路、復(fù)位電路等共同組成了智能大棚控制系統(tǒng)。溫濕度監(jiān)測(cè)采用了DHT11 模塊,采用MQ-135 檢測(cè)空氣質(zhì)量,光敏電阻檢測(cè)光照強(qiáng)度,土壤傳感器檢測(cè)土壤濕度,可以通過(guò)繼電器實(shí)現(xiàn)控制灌溉模擬,紅外技術(shù)器檢測(cè)作物進(jìn)出數(shù)量,顯示模塊采用了LCD1602 液晶顯示器,報(bào)警模塊進(jìn)行數(shù)據(jù)預(yù)警,通過(guò)WiFi 連接到手機(jī)助手實(shí)時(shí)查看數(shù)據(jù),系統(tǒng)整體設(shè)計(jì)如圖1 所示。
圖1 系統(tǒng)整體設(shè)計(jì)框圖
系統(tǒng)通電開(kāi)始工作后收集到的實(shí)時(shí)數(shù)據(jù)通過(guò)數(shù)模轉(zhuǎn)換在顯示屏上呈現(xiàn)出來(lái)。可以預(yù)設(shè)一個(gè)空氣溫濕度和土壤濕度的閾值,當(dāng)氣體溫濕度超出了范圍,蜂鳴器就會(huì)報(bào)警。土壤的濕度也會(huì)控制繼電器的動(dòng)作,判斷是否需要澆水。同時(shí),當(dāng)系統(tǒng)啟動(dòng)時(shí),WiFi 模塊也會(huì)同時(shí)開(kāi)始工作,把收集到的數(shù)據(jù)實(shí)時(shí)發(fā)送到手機(jī)APP 上,實(shí)現(xiàn)對(duì)大棚環(huán)境各項(xiàng)數(shù)據(jù)的遠(yuǎn)程檢測(cè)和監(jiān)控。
智能溫室大棚采用STM32F103C8T6 作為主控芯片,能夠?qū)崿F(xiàn)對(duì)系統(tǒng)數(shù)據(jù)采集,遠(yuǎn)程監(jiān)控,智能控制等功能。系統(tǒng)硬件實(shí)物如圖2 所示。系統(tǒng)硬件部分設(shè)計(jì)主要包括STM32 單片機(jī)電路、溫濕度檢測(cè)模塊、土壤濕度檢測(cè)模塊、光照強(qiáng)度檢測(cè)電路、氣體檢測(cè)電路、WiFi 模塊電路等部分的設(shè)計(jì)。WiFi 模塊作為本次設(shè)計(jì)重要的一環(huán),在系統(tǒng)模塊硬件的選擇上選用了USR-WIFI232-B2,一款嵌入式工業(yè)級(jí)WiFi 模塊,電路圖如圖3 所示。
圖2 系統(tǒng)硬件實(shí)物圖
圖3 WiFi 模塊電路
系統(tǒng)的軟件部分包括:下位機(jī)部分是智能溫室大棚系統(tǒng)的主控芯片STM32F103C8T6 程序;上位機(jī)部分是手機(jī)APP 端的程序,上位機(jī)手機(jī)APP 是基于Android Studio 開(kāi)發(fā),用于開(kāi)發(fā)基于Android 操作系統(tǒng)的移動(dòng)應(yīng)用程序。
智能溫室大棚的單片機(jī)系統(tǒng)主程序。當(dāng)板子通電后,各模塊開(kāi)始初始化,如果有中斷指令則通過(guò)定時(shí)器啟動(dòng)中斷函數(shù),反之繼續(xù)運(yùn)行主函數(shù)。WiFi 通訊模塊開(kāi)始運(yùn)行并接收信號(hào),ADC 收集數(shù)據(jù)進(jìn)行模數(shù)轉(zhuǎn)換。通信模塊對(duì)接收到的數(shù)據(jù)進(jìn)行判斷,這時(shí)需要看看有沒(méi)有上位機(jī)的命令,如果有則執(zhí)行上位機(jī)的控制命令,若沒(méi)有則根據(jù)預(yù)設(shè)值判斷是否需要自動(dòng)澆水。判斷完成后進(jìn)行按鍵掃描同時(shí)LCD 顯示收集到的各種數(shù)據(jù)。主程序流程如圖4 所示。
圖4 主程序流程
選用DHT11 溫濕度傳感器采集大棚環(huán)境溫度和濕度信息,初始化DHT11 傳感器的IO 口,并檢查DHT11 傳感器是否正常工作。重置DHT11 傳感器,即向DHT11 傳感器發(fā)送起始信號(hào),啟動(dòng)數(shù)據(jù)傳輸。檢查DHT11 傳感器是否正常工作,返回值為1 表示DHT11傳感器異常,返回值為0 表示正常。讀取DHT11 傳感器傳輸過(guò)來(lái)的一個(gè)二進(jìn)制位,然后讀取DHT11 傳感器傳輸過(guò)來(lái)的一個(gè)八位二進(jìn)制數(shù),最后讀取DHT11傳感器傳輸過(guò)來(lái)的溫濕度數(shù)據(jù),并將溫度和濕度值存儲(chǔ)起來(lái)。系統(tǒng)運(yùn)行后實(shí)時(shí)檢測(cè)溫濕度數(shù)據(jù),并顯示到顯示器上。
土壤濕度傳感器通過(guò)測(cè)量土壤中的電導(dǎo)率來(lái)計(jì)算土壤濕度,并將信號(hào)輸出到數(shù)據(jù)采集器或控制器。數(shù)據(jù)采集器或控制器會(huì)對(duì)傳感器輸出的數(shù)據(jù)進(jìn)行處理,經(jīng)過(guò)處理后的數(shù)據(jù)可以被用來(lái)分析土壤濕度變化趨勢(shì),預(yù)測(cè)作物生長(zhǎng)狀況,優(yōu)化灌溉和施肥等農(nóng)業(yè)管理工作。將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)給單片機(jī)處理,設(shè)置一個(gè)預(yù)設(shè)值,當(dāng)接收到的數(shù)值大于預(yù)設(shè)值時(shí)控制繼電器不工作,當(dāng)接收到的數(shù)值小于預(yù)設(shè)值時(shí)控制繼電器工作。
MQ135 氣體傳感器是一種可檢測(cè)多種有害氣體的傳感器,包括可燃?xì)怏w、氨氣、二氧化碳等。當(dāng)被檢測(cè)的氣體通過(guò)敏感元件時(shí),氣體分子與敏感元件表面的化學(xué)物質(zhì)發(fā)生反應(yīng),導(dǎo)致電阻值發(fā)生變化。氣體傳感器會(huì)通過(guò)模數(shù)轉(zhuǎn)換將收集到的信號(hào)通過(guò)單片機(jī)顯示到顯示器上。
在對(duì)系統(tǒng)的硬件部分、STM32 控制器中的軟件部分和手機(jī)APP 部分進(jìn)行調(diào)試、修改,系統(tǒng)各模塊測(cè)試均能正常運(yùn)行之后,進(jìn)行對(duì)系統(tǒng)整體性能的測(cè)試。
大棚是露天環(huán)境,所以氣溫,濕度等環(huán)境因素會(huì)不停變化,將系統(tǒng)拿到各個(gè)環(huán)境中去測(cè)量,首先是室外比較熱的環(huán)境,因?yàn)榻跉夂虮容^悶熱,所以溫濕度和光照強(qiáng)度相比較室內(nèi)都有所上升。如圖5 所示,分別測(cè)量室內(nèi)和室外溫度、濕度情況。
圖5 環(huán)境數(shù)據(jù)測(cè)試
在系統(tǒng)設(shè)計(jì)中加入了土壤傳感器以及一個(gè)模擬澆水動(dòng)作的繼電器,可以根據(jù)預(yù)定值進(jìn)行自動(dòng)判斷溫室大棚是否需要澆水。因?yàn)椴煌霓r(nóng)作物對(duì)土壤濕度有著不同的要求,所以可以根據(jù)需要自行設(shè)定。比如預(yù)設(shè)一個(gè)300,當(dāng)系統(tǒng)通電時(shí),傳感器會(huì)檢測(cè)當(dāng)前土壤的水分,當(dāng)把傳感器暴露在空氣中時(shí),這時(shí)它的土壤濕度就為1(最小值),那么繼電器上的綠燈就會(huì)亮起,代表正在澆水。當(dāng)用沾滿(mǎn)水的面巾紙包住傳感器,模擬出一種土壤很濕的環(huán)境時(shí),它所測(cè)出的值就會(huì)超出預(yù)設(shè)值顯示355,這時(shí)繼電器上的綠燈就會(huì)滅掉,代表停止?jié)菜?,如圖6 所示。為了方便調(diào)節(jié)預(yù)設(shè)值,板子上設(shè)置了三個(gè)按鈕,從左到右分別是確認(rèn)、減少和增加。只需要先點(diǎn)擊確認(rèn)鍵,增加或減少直到調(diào)出所需的值,然后再次點(diǎn)擊確認(rèn)即可。
圖6 土壤濕度測(cè)試
系統(tǒng)有WiFi 模塊的存在,設(shè)計(jì)了一個(gè)手機(jī)APP作為系統(tǒng)的上位機(jī)。軟件設(shè)計(jì)主要使用了Android Studio。是由谷歌推出的一個(gè)Android 集成開(kāi)發(fā)工具,基于IntelliJ IDEA。Android Studio 提供了集成的Android 開(kāi)發(fā)工具用于開(kāi)發(fā)和調(diào)試。這個(gè)APP 有很多優(yōu)點(diǎn),速度更快,更加智能且有著更強(qiáng)大的UI,目前是安卓APP 開(kāi)發(fā)的首選。如圖7 所示,主板通電后,系統(tǒng)的WiFi 通訊模塊隨之啟動(dòng),先打開(kāi)手機(jī)的WiFi,搜索WiFi 名USR-WIFI232,選擇連接。連接成功后打開(kāi)APP,在APP 的左上角選擇連接服務(wù)器,選擇默認(rèn)地址即可。連接后在APP 中可查看各個(gè)模塊檢測(cè)的數(shù)據(jù),同時(shí)APP 中按鍵板面按下2 鍵或3 鍵就能手動(dòng)控制繼電器模塊的啟停,從而控制外部澆水系統(tǒng)。
圖7 APP 界面顯示
在室內(nèi)把功能調(diào)試完后,將系統(tǒng)在實(shí)際溫室大棚內(nèi)來(lái)測(cè)試它的性能,如圖8 所示。將系統(tǒng)通電,同時(shí)把手機(jī)與系統(tǒng)通過(guò)WiFi 連接??梢钥吹綌?shù)據(jù)很快就接收并顯示。因?yàn)闇厥掖笈飪?nèi)部剛剛?cè)鲞^(guò)水,所以濕度偏大,溫度在26 ℃左右,測(cè)試結(jié)果數(shù)據(jù)比較準(zhǔn)確。
圖8 溫室大棚實(shí)驗(yàn)
本文旨在用科學(xué)技術(shù)促進(jìn)農(nóng)業(yè)生產(chǎn),用先進(jìn)的技術(shù)面對(duì)多變的氣候,讓農(nóng)業(yè)生產(chǎn)更加穩(wěn)定。完成農(nóng)業(yè)大棚遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)、測(cè)試和實(shí)驗(yàn),系統(tǒng)采用STM32 單片機(jī)作為下位機(jī),并采用移動(dòng)APP 作為上位機(jī)。通過(guò)對(duì)系統(tǒng)的性能測(cè)試,該系統(tǒng)在測(cè)量溫濕度、光照強(qiáng)度和土壤濕度等數(shù)據(jù)可以做到有效準(zhǔn)確,同時(shí)智能灌溉和溫濕度報(bào)警也非??煽?,實(shí)驗(yàn)中沒(méi)有出現(xiàn)錯(cuò)報(bào)漏報(bào)的情況。WiFi 通訊功能良好,能快速準(zhǔn)確地和手機(jī)互聯(lián),手機(jī)端也能快速收到信息并控制繼電器。通過(guò)手機(jī)APP 能夠監(jiān)控更準(zhǔn)確的環(huán)境數(shù)據(jù),可以更加明確地做出下一步行動(dòng)。同時(shí)設(shè)置了自動(dòng)灌溉、自動(dòng)報(bào)警等技術(shù),更加節(jié)省人力物力,農(nóng)業(yè)生產(chǎn)也更規(guī)范化,最后再配合手機(jī)APP,可以做到對(duì)環(huán)境數(shù)據(jù)的實(shí)時(shí)監(jiān)控。