康云川 代彥 梁裕巧
摘要:針對當前農(nóng)業(yè)信息化領(lǐng)域物聯(lián)網(wǎng)技術(shù)與流行的單片機開發(fā)板,提出了1種應(yīng)用于農(nóng)業(yè)大棚的物聯(lián)網(wǎng)系統(tǒng)的選型與構(gòu)建方案,利用Raspberry Pi、Arduino、ZigBee技術(shù),設(shè)計了1種低成本、低功耗、高效率的智能農(nóng)業(yè)大棚監(jiān)控系統(tǒng),系統(tǒng)的主要功能包括用戶可以通過手機微信、PC終端對大棚內(nèi)溫度、濕度、光照度、CO2濃度、土壤濕度、煙霧等數(shù)據(jù)進行實時監(jiān)測與分析,以及對農(nóng)業(yè)設(shè)施設(shè)備的遠程控制,為農(nóng)業(yè)信息化、智能化提供一種新的技術(shù)解決方案。
關(guān)鍵詞:智能農(nóng)業(yè);智能大棚;監(jiān)控系統(tǒng);Raspberry Pi;Arduino;ZigBee;物聯(lián)網(wǎng)
中圖分類號: S126;TP277.2
文獻標志碼: A
文章編號:1002-1302(2019)15-0251-05
隨著我國經(jīng)濟與科技的飛速發(fā)展,傳統(tǒng)農(nóng)業(yè)的生產(chǎn)方式已無法滿足人們?nèi)找嬖鲩L的物質(zhì)需求,也無法滿足我國加快農(nóng)業(yè)產(chǎn)業(yè)化發(fā)展趨勢,農(nóng)業(yè)的產(chǎn)業(yè)化還必須逐漸從傳統(tǒng)的實踐方式走向信息化,以信息化在農(nóng)業(yè)信息科學(xué)中的理論指導(dǎo)、以現(xiàn)代信息技術(shù)手段為工具,以數(shù)據(jù)信息流為調(diào)節(jié)手段,調(diào)整農(nóng)業(yè)活動全過程,使之成為農(nóng)業(yè)信息化的一個重要環(huán)節(jié)[1]。如農(nóng)業(yè)數(shù)據(jù)信息采集、信息加工和信息管理等主要利用物聯(lián)網(wǎng)技術(shù)手段,通過各傳感器采集相應(yīng)的環(huán)境數(shù)據(jù),管理人員或相應(yīng)的信息系統(tǒng)根據(jù)傳感器采集后的數(shù)據(jù)進行加工與分析,最終通過人工或系統(tǒng)自動處理數(shù)據(jù),自動干預(yù)設(shè)備設(shè)施進行作業(yè),從而實現(xiàn)農(nóng)業(yè)信息智能化,農(nóng)業(yè)機械智能化,輔助農(nóng)業(yè)管理人員做出決策,輔助作物種植人員對農(nóng)作物進行栽培、種植等。
智能大棚是保障農(nóng)作物大規(guī)模高效種植、反季節(jié)種植、防止大自然病蟲害等利用現(xiàn)代化科技手段必要的一種方式,智能大棚主要依托現(xiàn)代化物聯(lián)網(wǎng)傳感器技術(shù)、互聯(lián)網(wǎng)技術(shù)、單片機技術(shù),而傳統(tǒng)的單片機技術(shù)開發(fā)使農(nóng)業(yè)信息化技術(shù)的利用更為復(fù)雜,如51、STM32、AVR等單片機技術(shù)的開發(fā),開發(fā)人員需要熟悉C語言、匯編語言或C+ +語言、電路設(shè)計、模擬電路與數(shù)字電路,還需熟悉單片機寄存器等知識,由于技術(shù)門檻很高,沒有大量專業(yè)技術(shù)人員的參與,沒有示范場、實驗室就不可能大規(guī)模推廣這些技術(shù)。采用Raspberry Pi、Arduino開發(fā)板有望解決這一難題,其開源、免費的設(shè)計理念、簡單的開發(fā)模式和豐富的外圍軟硬件資源吸引了大批創(chuàng)客和非計算機專業(yè)人士的加入,打破了物聯(lián)網(wǎng)的技術(shù)壁壘,形成了一種大眾化創(chuàng)新的新局面,為推動農(nóng)業(yè)物聯(lián)網(wǎng)的發(fā)展提供了一種廉價高效的解決方案。本系統(tǒng)將實現(xiàn)大棚內(nèi)感知數(shù)據(jù)進行自動采集、加工處理,然后將數(shù)據(jù)傳送至服務(wù)器端再至用戶終端,從而實現(xiàn)大棚內(nèi)設(shè)施自動作業(yè),用戶可以利用移動終端與PC終端對大棚環(huán)境的實時遠程監(jiān)測與管理、設(shè)施的遠程控制等。
1 系統(tǒng)總體設(shè)計
本系統(tǒng)的設(shè)計避開了傳統(tǒng)單片機技術(shù)開發(fā)的大量難點,開發(fā)人員不需要具備豐富的單片機技術(shù)開發(fā)知識,就能開發(fā)出性能高效穩(wěn)定的智能大棚系統(tǒng),智能大棚硬件系統(tǒng)基于Raspberry Pi、Arduino、ZigBee開發(fā)板設(shè)計,其中主要功能有大棚室內(nèi)溫濕度監(jiān)控,土壤濕度監(jiān)控,火源監(jiān)控及噴淋滴灌系統(tǒng)、補光系統(tǒng)、換氣系統(tǒng)等控制模塊組成,系統(tǒng)主要由信息采集層、設(shè)施控制層、網(wǎng)絡(luò)層、數(shù)據(jù)傳輸層、數(shù)據(jù)處理層5層構(gòu)成。單片機系統(tǒng)與傳感器通過采集大棚內(nèi)與土壤環(huán)境溫濕度、光照度、CO2濃度,煙霧等數(shù)據(jù),單片機系統(tǒng)經(jīng)ZigBee遠距離多跳組網(wǎng)后,將數(shù)據(jù)傳至網(wǎng)關(guān)Raspberry Pi,數(shù)據(jù)最后經(jīng)無線或有線網(wǎng)絡(luò)傳輸至服務(wù)器。軟件系統(tǒng)主要由WEB服務(wù)端與手機微信服務(wù)端組成,采用Apache、PHP、MySQL開發(fā),管理人員可以通過手機微信端或PC端進行數(shù)據(jù)的實時監(jiān)控,對大棚內(nèi)的設(shè)施模塊進行遠程操作,或由單片機系統(tǒng)自動干預(yù)操作,系統(tǒng)框圖如圖1所示。
2 硬件系統(tǒng)設(shè)計
2.1 信息采集層設(shè)計
2.1.1 單片機與傳感器 信息采集層負責對整個大棚環(huán)境的信息感知采集,主要由Arduino單片機開發(fā)板、大棚內(nèi)溫度、濕度傳感器、光照度傳感器、煙霧傳感器、二氧化碳濃度傳感器、土壤濕度傳感器等模塊構(gòu)成,通過對開發(fā)板上的GPIO接口與傳感器器相連,實現(xiàn)感知信息采集,信息采集層硬件框圖如圖2所示。
單片機開發(fā)板采用Arduino nano微型開發(fā)板,簡稱“MCU”,該開發(fā)板的Flash和RAM的存儲容量較大,體積較小,具有豐富的外圍接口,性價比高,節(jié)約成本,輸入電壓為 7~12 V,工作電壓為5 V,可采用USB接口或GPIO針腳接口供電方式供電,燒錄程序比傳統(tǒng)的單片機更簡單方便,不需要額外的燒錄器,直接通過USB接口上傳程序,編寫代碼更容易,Arduino將Atemga芯片相關(guān)的一些底層參數(shù)進行封裝,提供了LCD、EEPROM、GSM、WIFI、LED、KeyBoard等一些常用的程序庫,開發(fā)人員不需要了解芯片寄存器就可實現(xiàn)對程序的開發(fā),可以提高應(yīng)用的開發(fā)效率[2]。
傳感器模塊主要包括大棚溫度濕度、光照度、CO2濃度、土壤的濕度、煙霧傳感器其中傳感器的具體選型如下:
大棚采用溫度傳感器DS18B20,具有體積小、性能開銷低、抗干擾能力強、測量精度高等特點,溫度測量范圍為 -40~120 ℃,滿足日常生活的需要,該傳感器采用數(shù)字單總線傳輸,只占用MCU模塊1個IO接口,節(jié)省了MCU模塊的接口[3]。
大棚濕度傳感器采用DHT11,用于測量大棚內(nèi)的濕度,DHT11型數(shù)字溫濕度傳感器是一種含復(fù)合傳感器,體積較小、低功耗,已被校準過的數(shù)字信號輸出溫度、濕度,其專用的數(shù)字模塊采集技術(shù)和溫度、濕度傳感器技術(shù),確保了傳感器可靠性高、能長期穩(wěn)定運行[4]。
光照度傳感器采用GY-30,用于測量大棚內(nèi)的光照度,該傳感器成本低、功耗小、體積小、安裝方便,光照度的測試范圍為0~65 535 lx,傳感器內(nèi)置16 bit模數(shù)轉(zhuǎn)換器,省略了復(fù)雜的計算,不區(qū)分環(huán)境光源,直接輸出數(shù)據(jù)[5]。
CO2濃度傳感器采用MG811,用于測量大棚內(nèi)的二氧化碳的濃度,它對二氧化碳有很好的敏感性和選擇性,受溫度和濕度變化的影響較小,具有良好的穩(wěn)定性和重現(xiàn)性,常用于二氧化碳濃度檢測、空氣質(zhì)量控制系統(tǒng)和發(fā)酵過程控制等應(yīng)用[6]。
土壤濕度傳感器采用RS-WS-I20-TR,采用RS485通信,適用于測量土壤溫度和水分,RS-WS-I20-TR傳感器精確度高,響應(yīng)快,受土壤鹽度影響小,耐電解,耐腐蝕,真空密封,防水防銹,適用于各種土壤類型,可長期埋于土壤中。
煙霧傳感器采用MQ-2,用于大棚內(nèi)火情的檢測,以免大棚發(fā)生火災(zāi)造成不必要的損失,它可以檢測空氣中的煙霧和可燃氣體,并且在很寬的濃度范圍內(nèi)對可燃氣體具有良好的敏感性。它對液化氣、丙烷和氫氣具有高度敏感性,它具有壽命長、成本低、電路簡單的特點[7]。
2.1.2 硬件程序?qū)崿F(xiàn) MCU與各傳感器建立通信連接,采用Arduino開發(fā)語言編寫傳感器操作代碼,Arduino開發(fā)語言采用C語言編程的風(fēng)格,Arduino語言基于開始時的 setup( ),loop( )作為程序的主體,setup( )用于初始化程序、pinMode( )為GPIO的設(shè)置函數(shù)、調(diào)用庫函數(shù)等,它只運行1次,C語言中的main函數(shù)loop( )函數(shù)是循環(huán)函數(shù),語句在函數(shù)內(nèi)重復(fù)循環(huán)執(zhí)行,開發(fā)人員只要具備C語言基礎(chǔ)就能完成項目的開發(fā),MCU與傳感器,設(shè)施通信方式主要有數(shù)字信號輸入輸出、模擬信號輸入輸出、串口輸入輸出,MCU與DHT11采集數(shù)據(jù)示例代碼如圖3所示。
2.2 設(shè)施控制層設(shè)計
2.2.1 單片機開發(fā)板與設(shè)施設(shè)備 設(shè)施控制層主要有噴淋滴灌系統(tǒng)、補光系統(tǒng)、換氣系統(tǒng)等組成,分別與ZigBee多跳組網(wǎng)后的MCU連接,用于實現(xiàn)大棚內(nèi)智能化、自動化作業(yè),減少人工手動干預(yù)設(shè)施,極大地減少了人力成本,提高作業(yè)的效率、精度等,例如:土壤的水分不足,噴淋滴灌系統(tǒng)可以根據(jù)用戶設(shè)置的正常閾值,自動進行作物的澆灌或土壤的水分補給;當大棚內(nèi)的光線不足或過于充足時,補光系統(tǒng)可以對大棚自動進行補光,讓農(nóng)作物正常進行光合作用;當大棚內(nèi)的溫度過高時,換氣系統(tǒng)自動打開,有效緩解室內(nèi)溫度、以便空氣正常流通,讓作物在室內(nèi)能進行正常生長,設(shè)施控制層硬件框圖如圖4所示。
2.2.2 硬件程序?qū)崿F(xiàn) MCU與設(shè)施設(shè)備的建立連接,主要是MCU向設(shè)施設(shè)備發(fā)送高低電平數(shù)字信號“0”或“1”來控制設(shè)備,比如“0”表示關(guān)閉換氣系統(tǒng),“1”表示打開換氣系統(tǒng),“1”“0”與Arduino語言中的“HIGH”與“LOW”參數(shù)對應(yīng),MCU控制換氣系統(tǒng)的示例代碼如圖5所示。
2.3 網(wǎng)絡(luò)層設(shè)計
2.3.1 組網(wǎng)通信 采用DL-LN33模塊進行信息采集層、設(shè)施控制層MCU模塊、數(shù)據(jù)傳輸層Raspberry Pi的組網(wǎng)通信,模塊基ZigBee802.15.4協(xié)議,可視通信距離單跳70 m,模塊無線頻率范圍為 2.4~2.45 GHz,該頻率范圍屬于全球免費的
無線頻段,模塊在工作時,會與周圍的模塊自動建立成一個無線的多跳網(wǎng)絡(luò),連接后的網(wǎng)絡(luò)為等網(wǎng)絡(luò),不需要中心節(jié)點,還可以進行星型拓撲組網(wǎng)與多跳組網(wǎng),專為需要自動組網(wǎng)多跳傳輸?shù)膽?yīng)用場合設(shè)計[8]。DL-LN33工作電壓為2.5~3.6 V,無線電發(fā)射功率為4.5 dBm,模塊工作時電流消耗 30 mA,該模塊有16個信號和65 536個網(wǎng)絡(luò)標志,即26×65 536 個網(wǎng)絡(luò),每個網(wǎng)絡(luò)可以容納96~130個節(jié)點,開發(fā)人員不需要對模塊進行編程,只需知道需收發(fā)端IP地址、網(wǎng)絡(luò)ID、網(wǎng)絡(luò)信道地址即可實現(xiàn)網(wǎng)絡(luò)通訊,模塊會通過網(wǎng)絡(luò)選擇最優(yōu)的路徑,將信息傳輸給目標模塊,而目標模塊將獲得發(fā)送端發(fā)來的數(shù)據(jù)[9],組網(wǎng)硬件框圖如圖6所示。
2.3.2 硬件程序?qū)崿F(xiàn) 硬件程序主要涉及MCU與DL-LN33、Raspberry Pi與DL-LN33串口通信,在通信過程中,MCU告訴目標模塊這樣的信息:“將數(shù)據(jù)00 00 00 33發(fā)往地
址為0003的模塊,目標端口為90,源端口為91”。首先需要將這些信息整理成一個包,通過串行接口發(fā)給目標模塊:FE 08 91 90 03 00 00 00 00 33 FF,其中FE 08為包頭,91為網(wǎng)卡端口號,90為目標網(wǎng)卡端口號,03 00為目標網(wǎng)卡地址號,00 00 00 33 為需要發(fā)送的數(shù)據(jù)內(nèi)容,F(xiàn)F為包尾,這段數(shù)據(jù)串的含義就是組網(wǎng)的MCU把數(shù)據(jù)00 00 00 33發(fā)送給為目標地址為03的網(wǎng)卡。而目標網(wǎng)卡03收到數(shù)據(jù)00 00 00 33,例如:00 00 00 33 中的33是溫室內(nèi)的溫度,然后Raspberry Pi再把33發(fā)送至服務(wù)器,后臺管理系統(tǒng)就能得到感知的溫度信息。
MCU與DL-LN33通信采用Arduino開發(fā)語言,其中示例代碼(接收端與發(fā)送端)如圖7、圖8所示。
Raspberry Pi與DL-LN33通信采用Python語言,主要示例代碼如圖9所示。
2.4 數(shù)據(jù)傳輸層設(shè)計
采用Raspberry Pi 3B+開發(fā)板作為智能大棚的網(wǎng)關(guān),體積只有卡片大小,具有所有PC機的功能搭載1.2 GHz的64位四核處理器,1 G運行內(nèi)存,內(nèi)置802.11 b/g/n無線網(wǎng)卡,比傳統(tǒng)單片機處理數(shù)據(jù)更穩(wěn)定、快速、便捷[10]。主要功能有接受MCU傳來的數(shù)據(jù)并上傳至服務(wù)器,接收來自服務(wù)器的用戶指令,對MCU發(fā)送指令,在數(shù)據(jù)處理層服務(wù)器端不可用時,用戶可通過HDMI接口接上顯示器或通過手機終端對Raspberry Pi進行管理,從而接管所有數(shù)據(jù)處理層的業(yè)務(wù),避免了數(shù)據(jù)處理層在無法響應(yīng)時導(dǎo)致大棚內(nèi)的數(shù)據(jù)及設(shè)施無法監(jiān)控或控制的問題,數(shù)據(jù)傳輸層硬件框圖如圖10所示。
2.5 數(shù)據(jù)處理層設(shè)計
數(shù)據(jù)處理層主要由服務(wù)器端后臺構(gòu)成,承載數(shù)據(jù)傳輸層數(shù)據(jù)的存儲與交互處理,大棚WEB服務(wù)端平臺、微信通信網(wǎng)關(guān)的運行等,用戶可以根據(jù)系統(tǒng)處理數(shù)據(jù)的規(guī)模大小、并發(fā)連接數(shù)、資源使用率等實際情況,可采用Raspberry Pi承載平臺的運行或購買相應(yīng)的云計算資源。用戶可以通過手機微信,WEB平臺來完成系統(tǒng)中的大棚環(huán)境信息監(jiān)測與設(shè)施控制,當用戶初次訪問平臺時,需要注冊,并且需要超級管理員訪問進行權(quán)限分配。用戶可以通過微信終端或計算機終端發(fā)起注冊請求。如果用戶注冊成功,平臺將為用戶生成唯一的身份標志,并將數(shù)據(jù)保存至服務(wù)器數(shù)據(jù)庫,如果用戶注冊失敗,系統(tǒng)則返回注冊失敗的信息,當用戶注冊成功后登錄系統(tǒng),根據(jù)超級管理員賦予的角色權(quán)限來進行相關(guān)訪問,對大棚內(nèi)的環(huán)境數(shù)據(jù)進行實時監(jiān)測、歷時數(shù)據(jù)查詢,以及對大棚內(nèi)的設(shè)施進行遠程控制。
3 系統(tǒng)軟件設(shè)計
Raspberry Pi將所感知數(shù)據(jù)的整理傳送至服務(wù)器端,用戶對設(shè)施控制的所有指令也將通過Raspberry Pi發(fā)送,開發(fā)人員可以利用Python語言實現(xiàn)與服務(wù)器端的接口通信,通信方式采用HTTP WEBService、POST、GET等方式向服務(wù)器發(fā)送信息或獲取指令,可采用的函數(shù)庫有urllib、requests、soaplib、curl。
服務(wù)端主要由WEB管理平臺與微信服務(wù)端組成,提供用戶注冊登錄功能,為Raspberry Pi提供遠程通信接口,并存儲用戶的權(quán)限信息,傳感器采集的大棚內(nèi)環(huán)境信息,設(shè)施控制指令等,為用戶提供大棚數(shù)據(jù)遠程實時監(jiān)控,大棚設(shè)施遠程控制等功能。WEB管理平臺與微信服務(wù)端具有相同的功能,采用HTML5的標準使系統(tǒng)既兼容PC端,又兼容移動終端,采用PHP語言、MySQL數(shù)據(jù)庫開發(fā),以數(shù)據(jù)模型的形式存儲數(shù)據(jù),預(yù)先設(shè)定執(zhí)行觸發(fā)動作的規(guī)則,并實現(xiàn)特定的事件監(jiān)控和預(yù)警。微信端主要通過微信公眾號與數(shù)據(jù)接口通信,實現(xiàn)對大棚的實時監(jiān)控和對模塊的遠程控制,例如在微信公眾號菜單欄實現(xiàn)對大棚環(huán)境信息的實時查看,也可在微信文字輸入窗口,輸入相應(yīng)的口令就能獲得相應(yīng)的信息或操作相應(yīng)的模塊,WEB管理平臺與微信服務(wù)端功能設(shè)計框圖如圖11所示。
4 結(jié)論
該研究采用Raspberry Pi、Arduino、ZigBee等技術(shù),開發(fā)實施簡單、數(shù)據(jù)傳輸可靠性高、開發(fā)效率高、組網(wǎng)方式簡單靈活,為農(nóng)業(yè)信息技術(shù)開發(fā)人員提供了低成本、便捷高效率的物聯(lián)網(wǎng)開發(fā)技術(shù)方向,也提高了社會經(jīng)濟效益的目的。在實際場景的應(yīng)用中還需根據(jù)作物的生長條件,大棚內(nèi)的環(huán)境,對開發(fā)板、傳感器的相關(guān)參數(shù)進行調(diào)整與優(yōu)化。智能大棚系統(tǒng)作為農(nóng)業(yè)信息化的部分范疇,基于物聯(lián)網(wǎng)技術(shù)與軟件工程,離不開單片機、傳感器、軟件程序等基礎(chǔ)載體,其知識面涵蓋農(nóng)作物栽培、電子信息技術(shù)、軟件工程等。而農(nóng)業(yè)信息化是一個跨行業(yè),且涉及多個學(xué)科的領(lǐng)域,需要電子工程師、軟件工程師、農(nóng)業(yè)技術(shù)人員共同協(xié)作,對現(xiàn)有的需求環(huán)境不斷探索與研究才能進一步提升系統(tǒng)的智能程度與管理效率。
參考文獻:
[1]孫九林. 信息化農(nóng)業(yè)科技前沿與發(fā)展戰(zhàn)略[J]. 中國工程科學(xué),2002(9):1-7.
[2]Offcial website Arduino LLC[EB/OL]. [2019-01-10]. https://www.arduino.cc.
[3]張仲明,郭東偉,呂 巍,等. 基于DS18B20溫度傳感器的溫度測量系統(tǒng)設(shè)計[J]. 實驗技術(shù)與管理,2018,35(5):76-79+88.
[4]韓 軍. 一種簡易前兆觀測室溫、濕度環(huán)境監(jiān)測設(shè)備研制[J]. 地震工程學(xué)報,2017,39(增刊1):134-139.
[5]王偉杰,葉 超,盧克祥,等. 基于GY-30的集魚燈多點同步無線測光系統(tǒng)設(shè)計[J]. 漁業(yè)現(xiàn)代化,2016,43(5):62-66.
[6]趙慶展,張?zhí)煲?,?洪. 小型四旋翼無人機空氣質(zhì)量監(jiān)測儀設(shè)計[J]. 現(xiàn)代電子技術(shù),2017,40(24):94-99.
[7]李 敏,蘇智華,劉 穎. 基于CORTEX M3+SIM900A的報警系統(tǒng)設(shè)計[J]. 現(xiàn)代電子技術(shù),2015,38(22):62-64+68.
[8]Wang X,Zhang S L,Song G X,et al. Remote measurement of low-energy radiation based on ARM board and ZigBee wireless communication[J]. Nuclear Science and Techniques,2018,29(1):33-38.
[9]暢麗紅,裴煥斗,楊佩宗. 基于龍芯平臺的物聯(lián)網(wǎng)實驗系統(tǒng)的設(shè)計[J]. 現(xiàn)代電子技術(shù),2018,41(24):183-186.
[10]Offcial Raspberry Pi website[EB/OL]. [2019-01-10]. https://www.raspberrypi.org.沈 鵬,姚永亮,鄭美英,等. 基于離散元的山地馬鈴薯排肥器仿真優(yōu)化[J]. 江蘇農(nóng)業(yè)科學(xué),2019,47(15):256-258.