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