侯張玲 廖義奎 王博曉
摘要:自然資源的匱乏、人口增長(zhǎng)給我國(guó)糧食生產(chǎn)帶來(lái)了嚴(yán)峻的調(diào)整,需要找到不增加資源浪費(fèi)、不損壞生態(tài)環(huán)境,提高糧食產(chǎn)量的途徑。文章所述系統(tǒng)運(yùn)用ZigBee無(wú)線傳輸技術(shù)和STM32開發(fā)板作為核心技術(shù)對(duì)農(nóng)田的濕度、溫度、光照、二氧化碳等進(jìn)行智能控制,對(duì)大棚生產(chǎn)的各個(gè)環(huán)節(jié)給予實(shí)時(shí)監(jiān)控,為作物的生長(zhǎng)提供最適合的環(huán)境,提高農(nóng)作物的產(chǎn)量和質(zhì)量。
關(guān)鍵詞:數(shù)據(jù)采集;ZigBee無(wú)線技術(shù);實(shí)時(shí)監(jiān)控;物聯(lián)網(wǎng);移動(dòng)終端;甘蔗地測(cè)控系統(tǒng) 文獻(xiàn)標(biāo)識(shí)碼:A
中圖分類號(hào):TP319 文章編號(hào):1009-2374(2016)19-0009-03 DOI:10.13535/j.cnki.11-4406/n.2016.19.005
1 設(shè)計(jì)背景
在信息快速發(fā)展的時(shí)代,大量的農(nóng)作物生產(chǎn)依靠的都是最先進(jìn)的生產(chǎn)技術(shù),傳統(tǒng)人工種植已經(jīng)不能滿足人們的需求。傳統(tǒng)人工方式只能小范圍小面積實(shí)現(xiàn),而現(xiàn)在大多數(shù)農(nóng)作物的生產(chǎn)不僅要滿足自身的需求,更多的是面向市場(chǎng),從而獲得更高的利潤(rùn)。隨之而來(lái)的就是管理問(wèn)題,例如澆水施肥,大面積的生產(chǎn)需要很多的人力物力,同時(shí)花費(fèi)大量的時(shí)間不能做到實(shí)時(shí)性、準(zhǔn)確性、高效性。在農(nóng)業(yè)、生態(tài)環(huán)境領(lǐng)域的研究中,需要測(cè)量土壤的溫度、濕度等數(shù)值。由于需測(cè)土地具有面積大、觀察時(shí)間較長(zhǎng)等特點(diǎn),人工檢測(cè)需要使用土壤傳感器插入讀數(shù)并計(jì)數(shù),不僅花費(fèi)大量的時(shí)間和人力,也會(huì)因?yàn)槿藶榈恼`差導(dǎo)致數(shù)據(jù)不準(zhǔn)確,所以設(shè)計(jì)一種通過(guò)土壤傳感器采集數(shù)據(jù)并通過(guò)無(wú)線傳至手機(jī)分析的檢測(cè)系統(tǒng)就顯得非常重要。
2 特點(diǎn)
2.1 測(cè)量誤差小
溫度傳感器DS18B20的測(cè)量精度高、測(cè)量溫度范圍寬,可測(cè)范圍為-55℃~+125℃,在-10℃~+85℃范圍內(nèi),精度為±0.5℃??筛鶕?jù)不同的氣候調(diào)節(jié)控制濕度傳感器的繼電器達(dá)到想要的值。相比傳統(tǒng)的人工采集方式減小誤差,得到更精準(zhǔn)的數(shù)據(jù)。
2.2 及時(shí)性
相比傳統(tǒng)人工采集方式,本系統(tǒng)可以不間斷工作,采集每個(gè)時(shí)間點(diǎn)的數(shù)據(jù)。同時(shí)將所采集到的數(shù)據(jù)及時(shí)發(fā)送到手機(jī)端,方便操作者了解實(shí)時(shí)狀態(tài)。
2.3 對(duì)比性
本系統(tǒng)利用兩塊STM32開發(fā)板分別采集兩個(gè)不同位置的土壤溫濕度值,在做對(duì)比的同時(shí)也可以判斷采集到的數(shù)據(jù)是否正確。如檢測(cè)地點(diǎn)較近時(shí),但是采集到的數(shù)據(jù)相差較大的情況下,可能是檢測(cè)儀器出故障的原因。
2.4 靈活性
可根據(jù)不同季節(jié)不同農(nóng)作物所需要的溫濕度值改變?nèi)藶樗O(shè)定的限值,這種方式可以為不同農(nóng)作物提供不同的生長(zhǎng)環(huán)境,有助于農(nóng)作物在合適的環(huán)境下更好地
生長(zhǎng)。
2.5 監(jiān)控性
通過(guò)WIFI將數(shù)據(jù)傳送給手機(jī)端可以實(shí)現(xiàn)實(shí)時(shí)監(jiān)控,及時(shí)了解土壤溫濕度,克服了遠(yuǎn)距離不可操作的缺點(diǎn)。
3 設(shè)計(jì)方案
本次設(shè)計(jì)的主要是監(jiān)測(cè)土壤的含水量,將其采集到的數(shù)據(jù)通過(guò)ZigBee模塊傳送到手機(jī),當(dāng)監(jiān)測(cè)數(shù)據(jù)超出某個(gè)閥值時(shí)向手機(jī)和計(jì)算機(jī)發(fā)出報(bào)警信息,在設(shè)定時(shí)間內(nèi)沒有人發(fā)出執(zhí)行指令,則計(jì)算機(jī)自動(dòng)發(fā)出執(zhí)行指令,從而進(jìn)行澆灌。在甘蔗地要采用多點(diǎn)的監(jiān)測(cè),這樣就可以得到一個(gè)比較準(zhǔn)確的數(shù)據(jù),而減小誤差。但不同的測(cè)量需要根據(jù)各自的特點(diǎn)合理地安排其密度。
第一,嵌入式系統(tǒng)是目前電子系統(tǒng)設(shè)計(jì)最活躍的領(lǐng)域之一,具有廣闊的市場(chǎng)前景。單片機(jī)作為嵌入式系統(tǒng)最經(jīng)典型的代表,在嵌入式系統(tǒng)中占有最大的份額,成為廣大高校學(xué)生和電子工程技術(shù)人員學(xué)習(xí)和開發(fā)嵌入式系統(tǒng)的主流。由單片機(jī)開發(fā)的產(chǎn)品也廣泛地應(yīng)用到了家電、通信、工商業(yè)、航空和軍事方面。因此,本次設(shè)計(jì)選用ALIENTEK MiniSTM32 V3.0開發(fā)板來(lái)完成。
第二,由于需要工作電壓在5V左右,而且能保證成本相對(duì)而言比較低。ALIENTEK MiniSTM32開發(fā)板載有目前比較通用的液晶顯示模塊接口。
第三,選用測(cè)定兩個(gè)不同位置土壤溫濕度值的方式可以通過(guò)對(duì)比得出更精準(zhǔn)的數(shù)據(jù),也可以提高檢測(cè)
效率。
第四,為實(shí)現(xiàn)智能開關(guān)設(shè)計(jì),本系統(tǒng)選用繼電器模塊控制水泵開關(guān)。STM32開發(fā)板將溫濕度傳感器所采集到的數(shù)據(jù)進(jìn)行分析,當(dāng)達(dá)到某個(gè)設(shè)定條件時(shí)繼電器開啟或關(guān)閉。
第五,考慮到農(nóng)田信息的采集監(jiān)控網(wǎng)點(diǎn)多、數(shù)據(jù)更換數(shù)量不大、設(shè)備成本低、現(xiàn)場(chǎng)環(huán)境復(fù)雜多變、設(shè)備小、電池供電、需要較大的網(wǎng)絡(luò)覆蓋等特點(diǎn),因此采用一種低功耗、低成本、體積小且能保證數(shù)據(jù)安全穩(wěn)定的無(wú)線傳輸成為了必要,而ZigBee正好滿足了這些要求。ZigBee是一種無(wú)線連接,它具有低功耗、低成本、網(wǎng)絡(luò)容量大、可靠、安全等特點(diǎn)??晒ぷ髟?.4GHz,傳輸距離從標(biāo)準(zhǔn)的75米到幾百米,并且支持無(wú)限擴(kuò)展,是農(nóng)田信息數(shù)據(jù)傳輸?shù)淖罴堰x擇。
第六,采用手機(jī)和計(jì)算機(jī)作為管理終端??梢宰尡O(jiān)控計(jì)算機(jī)根據(jù)各種現(xiàn)場(chǎng)采集回來(lái)的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行分析、對(duì)比,綜合得出現(xiàn)場(chǎng)各方面的情況,自動(dòng)地對(duì)各種終端器發(fā)送命令,而不用人為地去干預(yù);當(dāng)要人為去改變某些量時(shí),可以通過(guò)手機(jī)向控制終端發(fā)送命令,從而使控制終端工作。
4 實(shí)現(xiàn)與應(yīng)用
系統(tǒng)主要是由三塊STM32開發(fā)板、ZigBee組網(wǎng)、溫度傳感器DS18B20、土壤濕度傳感器、水泵及顯示模塊組成。如圖1所示:
整個(gè)系統(tǒng)由三個(gè)STM32板組成,其中A板B板為采集數(shù)據(jù)板,用于采集土壤的濕度與溫度以及控制水泵的開關(guān);C板用于數(shù)據(jù)的顯示以及土壤濕度上限值的設(shè)定,并通過(guò)C板的WIFI模塊與手機(jī)終端相連接,可在手機(jī)終端上顯示相應(yīng)的采集數(shù)據(jù)。
當(dāng)系統(tǒng)運(yùn)行時(shí),DS18B20采集到土壤的溫度值,土壤濕度傳感器采集到土壤的濕度值,通過(guò)A、B板的AD轉(zhuǎn)換,并同時(shí)在A、B板中進(jìn)行判斷,當(dāng)在C板中設(shè)置的土壤濕度上限值大于相應(yīng)A、B板的土壤濕度采集值時(shí),A、B板會(huì)觸發(fā)對(duì)應(yīng)的水泵開起;當(dāng)在C板中設(shè)置的土壤濕度上限值小于相應(yīng)A、B板的土壤濕度采集值時(shí),A、B板會(huì)觸發(fā)對(duì)應(yīng)的水泵會(huì)關(guān)閉。與此同時(shí),A、B板會(huì)把相應(yīng)的數(shù)據(jù)通過(guò)串口連接在A、B板上的ZigBee發(fā)送出去,通過(guò)廣播的模式,把數(shù)據(jù)發(fā)送到同樣連接著一塊ZigBee的C板上。然后C板經(jīng)過(guò)數(shù)據(jù)處理,將其顯示到TFT液晶顯示屏上,并通過(guò)WIFI模塊,把數(shù)據(jù)發(fā)送到手機(jī)終端,通過(guò)手機(jī)終端也能檢測(cè)到相應(yīng)的土壤信息。
4.1 系統(tǒng)結(jié)構(gòu)
4.1.1 STM32開發(fā)板模塊。本系統(tǒng)需要用到三塊STM32開發(fā)板,用兩塊STM32開發(fā)板連接土壤傳感器及溫度傳感器DS18B20采集兩個(gè)不同位置的土壤數(shù)據(jù),并且通過(guò)串口將數(shù)據(jù)傳送給ZigBee組網(wǎng),實(shí)現(xiàn)數(shù)據(jù)的傳輸。另一塊STM32開發(fā)板用于數(shù)據(jù)的顯示和判斷,實(shí)現(xiàn)手動(dòng)和自動(dòng)切換來(lái)設(shè)置限值,并且做出實(shí)際值與設(shè)置限值的對(duì)比,控制水泵的開關(guān)。
4.1.2 ZigBee模塊。ZigBee模塊為本次設(shè)計(jì)的核心模塊,主要是將STM32開發(fā)板采集到的數(shù)據(jù)傳送給另一塊STM32開發(fā)板顯示及判斷,主要實(shí)現(xiàn)無(wú)線傳輸。
4.1.3 土壤傳感器模塊。本次設(shè)計(jì)所選用的土壤傳感器使用方便、測(cè)量數(shù)據(jù)精準(zhǔn),具有很高的靈敏性。通過(guò)將土壤傳感器插入土壤中,同時(shí)結(jié)合程序控制得到土壤當(dāng)前濕度值,將所得到的當(dāng)前濕度值與限值相比較實(shí)現(xiàn)最終的智能控制過(guò)程。
4.1.4 溫度傳感器DS18B20模塊。本次設(shè)計(jì)所選用的溫度傳感器DS18B20主要是通過(guò)結(jié)合程序控制實(shí)現(xiàn)溫度的測(cè)量,與濕度值一樣將傳送給開發(fā)板與設(shè)定的限值相比較從而決定是否需要打開水泵進(jìn)行澆水。
4.2 系統(tǒng)操作步驟
4.2.1 檢查各個(gè)模塊是否正常工作,接好連接線,并確認(rèn)正負(fù)極是否正確等。
4.2.2 給A、B、C板分別上電,本系統(tǒng)采用的是USB供電的方式,方便快捷。
4.2.3 觀察系統(tǒng)是否正常工作,數(shù)據(jù)是否正常顯示在顯示屏上,連接WIFI的手機(jī)端是否能正常顯示采集信息,都正常后便可設(shè)置相應(yīng)濕度值。
4.2.4 觀察傳感器所采集到的當(dāng)前土壤溫濕度值與單片機(jī)人為設(shè)定的限值,當(dāng)當(dāng)前溫濕度值小于限值的時(shí)候觀察水泵是否打開,同時(shí)看單片機(jī)上顯示是否與預(yù)想的一樣。
4.2.5 對(duì)比兩處土壤所采集到的數(shù)值,當(dāng)我們?cè)O(shè)定不一樣的限值時(shí),觀察水泵的打開及關(guān)閉時(shí)間是否不一樣。
自動(dòng)狀態(tài):當(dāng)程序處在自動(dòng)狀態(tài)下時(shí),系統(tǒng)會(huì)自動(dòng)檢測(cè)此時(shí)土壤的溫度與濕度,我們已經(jīng)將土壤濕度的值設(shè)定在一個(gè)合理范圍內(nèi),當(dāng)土壤濕度低于這個(gè)值時(shí),系統(tǒng)會(huì)自動(dòng)打開澆水模塊,自動(dòng)給植物澆水,當(dāng)土壤濕度高于我們預(yù)設(shè)值時(shí),澆水模塊會(huì)自動(dòng)關(guān)閉。
手動(dòng)狀態(tài):當(dāng)程序在手動(dòng)狀態(tài)下時(shí),我們可以通過(guò)STM32開發(fā)板上的按鍵控制是否需要澆水或通過(guò)手機(jī)控制是否澆水并且顯示此時(shí)系統(tǒng)的數(shù)據(jù)。
本系統(tǒng)以STM32開發(fā)板及ZigBee模塊為核心部件,實(shí)現(xiàn)土壤溫濕度采集并傳輸顯示,水位箱檢測(cè)水箱里是否有水并發(fā)出提示信息。液晶屏顯示土壤溫濕度值。
系統(tǒng)下載程序接通各個(gè)電源后,單片機(jī)液晶屏上顯示所設(shè)定的固定語(yǔ)句,經(jīng)過(guò)一系列初始化后會(huì)顯示當(dāng)前土壤溫濕度值及水箱是否需要加水,當(dāng)土壤溫濕度值小于限值時(shí)開始澆水工作。系統(tǒng)流程圖如圖2所示。
5 軟件測(cè)試
5.1 顯示板C代碼
Uart_Change為串口接收到有效數(shù)據(jù)的標(biāo)志,當(dāng)接收到有效數(shù)據(jù)時(shí),判斷如果接收到的是0xa1開頭,則為檢測(cè)點(diǎn)A的數(shù)據(jù),如果接收到0xa2開頭,則為檢測(cè)點(diǎn)B的數(shù)據(jù),然后進(jìn)行相關(guān)的數(shù)據(jù)處理。
5.2 采集板A代碼
UART_SendByte(0XA1)為發(fā)送標(biāo)志A板采集信息,用以給C板判斷是哪塊板發(fā)出的數(shù)據(jù),本程序用了串口1的中斷,當(dāng)A板的串口1空閑時(shí),Uart_Change為1,A板串口1發(fā)送數(shù)據(jù),并使Uart_Change為0,同時(shí)判斷Uart_Data[0]是否有數(shù)據(jù)被采集到,當(dāng)Uart_Data[0]為1時(shí)表示A板接收到C板傳來(lái)開啟繼電器信息,此時(shí)Relay_OUT=0;否則Relay_OUT=1,表示關(guān)閉繼電器。采集板B程序代碼與A板類似。
6 結(jié)語(yǔ)
本系統(tǒng)采用了通過(guò)傳感器對(duì)土壤溫濕度的采集、結(jié)合STM32開發(fā)板的分析和ZigBee組網(wǎng)的無(wú)線傳輸最終實(shí)現(xiàn)手機(jī)端的控制,實(shí)現(xiàn)了遠(yuǎn)程監(jiān)測(cè)土壤溫濕度值的功能,滿足了現(xiàn)代化生活對(duì)智能化的需求。
(責(zé)任編輯:黃銀芳)