李華鋒,鄧向武
(1.廣東茂名農林科技職業學院,廣東 茂名 525000;2.廣東石油化工學院,廣東 茂名 525000)
在苗木的生長過程中,溫度、空氣濕度、土壤濕度和光照條件都會對苗木產生一定的影響,而在傳統農業中澆水、施肥等環節農民可依靠所積累的主觀經驗進行管理,由于主觀經驗存在很大的不確定性,因此基于主觀經驗的農業生產管理主要為粗放式管理,達不到精細化智能化管理的要求。智能農業中,農民可以根據準確的數據判斷苗木是否需要澆水、施肥、打農藥。智能農業技術顯著提高了傳統農業的管理水平,在苗木生長的各個階段都能有效準確做出相應的反應[1]。利用多傳感器實現農業環境的實時監測及采集,利用智能物聯網對采集的數據進行遠程傳輸,為苗木提供精準的科學調控,優化苗木的生長環境,不僅可以使苗木獲得最佳的生長條件,還可以提高苗木的產量[2-3]。
智能農業網絡層需完成傳感器檢測數據傳輸任務,數據傳輸任務是在互聯網基礎上實現不同應用層和遠程用戶之間的數據傳輸和獲取,實現Wi-Fi 網絡與遠程控制Wi-Fi 網絡之間的信息數據交互。在現場局域網中采用ZigBee 自組網協議,在遠程廣域網絡中采用互聯網傳輸技術,用戶通過打開檢測網頁即可實現苗木大棚環境信息的獲取,并基于這些測量數據來采取相應的控制措施。
系統應用層是實現用戶和設備人機交互的重要一層,系統應用層為多種解決方案的集合,系統應用層的主要功能是實現環境感知,并將協調器發送的數據進行處理,根據處理過的信息指令來控制苗木大棚中的環境參數,用戶可在控制界面中實現傳感器屬性的查看并展示感知層數據信息,系統可基于感知層所檢測的信息自動判別當前苗木大棚中的環境參數值(溫度、二氧化碳濃度值等指標)是否在規定值之間,若低于規定值向用戶發出警報消息,并自動啟動相應的繼電器控制相應設備工作。隨著人工智能的快速發展,實現苗木從播種到收獲的無人化、數字化、自動化才是真正的智能化農業。在智能手機普及的今天,用戶可以通過手機實時查看苗木的生長環境,還可以通過手機登錄網站對各用設備進行控制,保證苗木生長環境始終處于最佳。
感知層以ESP8266 主控芯片為核心,由具備無線通信能力的若干通信節點組成,實現對苗木大棚溫濕度、二氧化碳的檢測。這些通信節點部署在苗木大棚的各個角落之中,其中無線通信節點的主要功能是對苗木大棚中的環境參數信息進行實時測量,并將測量結果傳輸到單片機機中進行處理。協調器的主要功能是實現傳感器信息的統一處理,包含儲存節點信息、建立通信網絡等。
DHT11 溫濕度傳感模塊相較于傳統的傳感器而言,具有更大的測量優勢,例如可實現溫度和濕度信息的同時測量,因而相較于傳統的測量系統而言,其結構更為簡單,且可有效節省與單片機的通信結構,具有較強的抗靜電、抗干擾、防止和其他不相干設備互相連接等諸多的保護功能,同時擁有特別強的恢復功能,也擁有對一些酸堿環境氣體等抵抗的手段。該傳感器可將采集到的信號轉換為電信號并發送給ESP8266。
文章所設計的智能農業系統采用繼電器實現對執行機構的控制,繼電器和無線通信模塊相互連接之后實現無線控制功能,在苗木大棚中通過布置傳感器來完成苗木大棚內溫濕度以及光照強度等影響作物生長的參量測量,再將這些參數傳送到主控芯片,在主控芯片中測量值與設定值進行比較,控制苗木大棚內冷風機、熱風機、通風扇、遮陽板、二氧化碳發生器、灌溉等設備,使得苗木大棚能適合作物生長。
該系統網絡層的主要功能是實現設備管理、信息傳輸以及信息中轉。網絡層采用具備公網IP 地址的阿里云ECS服務器,通過Wi-Fi 實現與云服務器的通信,兩者之間的信息交互通過MQTT 協議傳輸,智能農業系統匯總云服務器利用JavaEE 開發工具進行開發,數據庫則采用MySQL 數據庫。云服務器的主要功能是實現用戶信息的儲存,同時提供用戶注冊、登錄以及控制命令的轉發等功能。
感知層的主要功能是實現數據的分發,實現請求響應并完成控制,本系統應用于苗木大棚之中,考慮到農業苗木大棚中的場地限制,硬件結構應緊湊,價格便宜,同時具備通信功能,綜合考慮各類因素之后選擇主控模塊為ESP8266 芯片。該芯片具備強大的數據處理功能,可實現傳感器數據信息的獲取和傳輸。
系統通過換氣扇來對苗木大棚進行溫度控制,換氣扇連接芯片的GPIO0 引腳,繼電器引腳分別連接電源正負極以及數據讀接口;溫濕度傳感器與電源正負極以及輸出接口相連,實現溫濕度傳感器和主控芯片之間的數據傳輸。而后需要實現接口函數的編寫,將ESP8266 接入Wi-Fi 網絡,并利用MQTT 協議建立與服務器的連接。在完成溫濕度傳感器變量初始化之后,再進行串口輸出的初始化,在完成串口輸出初始化之后系統可通過主控模塊從傳感器中讀取苗木大棚中的環境參量[4]。
在此時打開串口系統之后即可觀察到串口輸出的傳感器檢測數據,若將檢測數據信息與設定的閾值信息進行比對之后沒有異常,則系統開始完成程序編寫。
按照上述步驟完成ESP8266 連接測試后需要將這些數據進行處理,并利用MQTT 協議將數據傳輸至服務器,并存入數據庫中方便用戶在以后工作中查找有關的數據,并對其進行相關的分析與處理。
在初始化函數中調用pinMode(LED_BUILTIN,OUTPUT)函數完成引腳的初始化,在主控芯片上連接一個藍色LED燈引腳接口,該指示燈的主要功能是提示當前芯片是否連入Wi-Fi,接入則不發光,未接入則發光,因此對于用戶而言可通過觀察燈的亮滅來判斷芯片是否成功接入網絡之中。
在初始化函數中定義常量humidity、temperature,其主要功能是保存溫濕度傳感器數據,dht.readHumidity( )函數的返回值即采集到的濕度信息,dht.readTemperature( )函數返回值為溫濕度采集的溫度信息,用來判斷humidity、temperature 兩個變量是否為空,如果為空則返回中斷此次循環。在拼接完字符串以后調用函數,在函數語句callback( )為ESP8266 調用協議返回值,其主要功能是判斷請求是否成功。因此,對于用戶而言可通過觀察燈的亮滅來判斷芯片是否成功接入網絡之中,判斷主控芯片的運行狀況。
土壤濕度傳感器的配置過程中,第一步需要測試溫濕度傳感器是否能夠實現預期的功能,在完成初始化函數編寫之前需定義全局變量。在loop( )函數中編寫代碼并上傳來獲取測量的數據信息,在讀取數據之后可利用串口通信將數據傳輸到串口。此時打開串口系統可以看到串口輸出的土壤濕度數據,對比周圍環境如果沒有異常,系統便可以開始進行下一步的程序編寫。
完成溫濕度傳感器與ESP8266 連接數據的測試以后,緊接著需要將這些數據稍做處理,使用MQTT 協議將數據結果傳輸到服務器,并存入數據庫中方便用戶在以后工作中查找有關的數據,并對其進行相關的分析與處理。
苗木大棚光照傳感器的配置過程中,該系統需要測試ESP8266 獲取傳感器光照強度測量數據是否正常,在編寫初始化函數之前系統需要做一些全局變量來保存數據與初始化光照傳感器。
該光照傳感器采用i2c 協議,調用arduino ide 中自帶的wire 庫進行程序部署。在完成變量初始化之后開始初始化數據讀入i2c 特用的scl 和sda 輸出口以及初始化串口輸出,此處系統使用串口通信來顯示ESP8266 從光照傳感器中讀取的值。
在loop()函數中編寫代碼并上傳來獲取光照傳感器采集的數據,對采集到的數據除以1.2,用來減小測量過程中不可避免的誤差,從而確保測量值的準確性。每次獲取之后就使用串口通信將數據發送給串口。
此時打開串口系統可以看到串口輸出的光照強度數據,同時將測量的環境光照強度與設定的閾值進行比較,若在允許的范圍之內,則接下來需要完成程序編寫。
實現傳感器和主控芯片的連接數據測試后,需要利用MQTT 協議將數據結果傳輸到服務器中,并存入數據庫中方便用戶在以后工作中查找有關的數據,并對其進行相關的分析與處理。
智能農業系統打破了傳統的種植管理方式,在農業生產過程中通過此方式節省人力、降低人工誤差,實現農業種植的高效和精準化管理,促進農業由人工化向智能化轉變,讓用戶真正體驗到智能化帶來的便利。無論何時何地用戶使用手機接入互聯網便可以觀察苗木大棚中各個傳感器參數和控制相應的設備,從而保證苗木生長環境的穩定。