馬士明
(濱州學(xué)院,山東 濱州 256600)
農(nóng)業(yè)是一個(gè)國(guó)家的基礎(chǔ)性產(chǎn)業(yè),對(duì)于我國(guó)這樣一個(gè)農(nóng)業(yè)大國(guó)來(lái)說(shuō),顯得更為重要,直接關(guān)系著我國(guó)的國(guó)計(jì)民生。因此農(nóng)業(yè)信息化、智慧化的發(fā)展程度,與我國(guó)的經(jīng)濟(jì)水平關(guān)系十分密切。傳統(tǒng)的農(nóng)業(yè)依靠的是相對(duì)陳舊的生產(chǎn)技術(shù),并且使用落后的生產(chǎn)工具,導(dǎo)致生產(chǎn)率低下、農(nóng)產(chǎn)品的產(chǎn)量增長(zhǎng)十分緩慢、農(nóng)業(yè)發(fā)展相對(duì)滯后,反觀這種局面下的結(jié)果又會(huì)影響技術(shù)和工具的發(fā)展與革新。要想農(nóng)業(yè)可持續(xù)發(fā)展,實(shí)現(xiàn)傳統(tǒng)農(nóng)業(yè)向現(xiàn)代化的發(fā)展,在此過(guò)程中必須要考慮在保證產(chǎn)品總量、調(diào)整產(chǎn)業(yè)結(jié)構(gòu)、改善產(chǎn)品品質(zhì)的前提下如何解決生產(chǎn)效益低下、資源嚴(yán)重不足、利用率低下、環(huán)境污染等問(wèn)題所帶來(lái)的影響。因此,必須不斷提高對(duì)農(nóng)業(yè)生產(chǎn)的要求,并研究如何將先進(jìn)的技術(shù)與傳統(tǒng)農(nóng)業(yè)結(jié)合,以實(shí)現(xiàn)農(nóng)業(yè)的現(xiàn)代化。在這種背景下智慧農(nóng)業(yè)應(yīng)運(yùn)而生。
根據(jù)“十三五規(guī)劃”要求,結(jié)合我國(guó)農(nóng)業(yè)的現(xiàn)狀,全面實(shí)施智慧農(nóng)業(yè),真正實(shí)現(xiàn)現(xiàn)代技術(shù)與傳統(tǒng)農(nóng)業(yè)的結(jié)合,對(duì)農(nóng)田農(nóng)作物種植、漁業(yè)養(yǎng)殖、經(jīng)濟(jì)作物種植等產(chǎn)業(yè)進(jìn)行現(xiàn)代化改造,支持現(xiàn)代企業(yè)參與農(nóng)產(chǎn)品商務(wù)平臺(tái)建設(shè)。
智慧農(nóng)業(yè)包含很多方面,其中智能農(nóng)業(yè)溫室大棚就是一個(gè)非常典型的應(yīng)用場(chǎng)景。本文設(shè)計(jì)的智能溫室大棚系統(tǒng)由感知系統(tǒng)、無(wú)線(xiàn)傳感網(wǎng)系統(tǒng)和信息處理系統(tǒng)組成,主要實(shí)現(xiàn)了大棚的農(nóng)作物種植的自動(dòng)化、對(duì)農(nóng)作物的控制以及現(xiàn)場(chǎng)和遠(yuǎn)程的管理,這在一定程度上也是物聯(lián)網(wǎng)技術(shù)在農(nóng)業(yè)生產(chǎn)方面的具體應(yīng)用。
根據(jù)智慧農(nóng)業(yè)溫室大棚的設(shè)計(jì)要求,本系統(tǒng)主要由傳感器、ZigBee節(jié)點(diǎn)、ZigBee協(xié)調(diào)節(jié)點(diǎn)、智能網(wǎng)關(guān)、手機(jī)終端、PC端、攝像頭等部分組成。手機(jī)終端和PC端通過(guò)智能網(wǎng)關(guān)與ZigBee網(wǎng)絡(luò)相連,實(shí)現(xiàn)大棚內(nèi)各項(xiàng)環(huán)境指標(biāo)的實(shí)時(shí)傳輸和處理以及在手機(jī)終端和PC端的顯示,手機(jī)端還可以實(shí)現(xiàn)對(duì)各執(zhí)行器節(jié)點(diǎn)進(jìn)行控制。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)總體框圖
在網(wǎng)關(guān)硬件部分的分析設(shè)計(jì)中,基于本系統(tǒng)的功能需求以及成本問(wèn)題,確定網(wǎng)關(guān)的設(shè)計(jì)要求為:系統(tǒng)易操作、易上手,兼容性好,成本低,穩(wěn)定安全。系統(tǒng)網(wǎng)關(guān)硬件整體設(shè)計(jì)如圖2所示,主要的組成部分包括Cortex-A8處理器、ZigBee協(xié)調(diào)器模塊、WiFi模塊等。
圖2 網(wǎng)關(guān)硬件總體框圖
Cortex-A8嵌入式智能處理器的主要處理芯片為三星的S5PV210芯片,其運(yùn)行主頻可以達(dá)到1 GHz。為了更好地處理視頻和圖形文件,S5PV210 內(nèi)部集成了PowerVR SGX540高性能圖形引擎,它不僅可以支持3D的圖形處理,還可以流暢地播放1080P視頻。
本系統(tǒng)中ZigBee模塊的核心芯片選取的是CC2530,內(nèi)部結(jié)構(gòu)主要包括CPU和EPROM、電源模塊、晶振模塊以及其他外部設(shè)備。CC2530有四種不同類(lèi)型的的閃存版本:CC2530F32/64/128/256,最小系統(tǒng)如圖3所示。
圖3 CC2530最小系統(tǒng)圖
大棚內(nèi)部網(wǎng)絡(luò)是通過(guò)ZigBee技術(shù)連接的,這對(duì)于整個(gè)系統(tǒng)來(lái)說(shuō)是非常重要的。ZigBee模塊的工作流程如圖4所示。網(wǎng)關(guān)內(nèi)部的ZigBee協(xié)調(diào)器負(fù)責(zé)組網(wǎng)并連接各個(gè)ZigBee終端節(jié)點(diǎn)。與終端節(jié)點(diǎn)相連接的傳感器將采集到的數(shù)據(jù)通過(guò)ZigBee無(wú)線(xiàn)傳感網(wǎng)絡(luò)傳到協(xié)調(diào)節(jié)點(diǎn),協(xié)調(diào)節(jié)點(diǎn)再將數(shù)據(jù)傳送到主控芯片。此外,各執(zhí)行器的狀態(tài)也是由ZigBee終端節(jié)點(diǎn)檢測(cè)并通過(guò)網(wǎng)絡(luò)傳送至協(xié)調(diào)節(jié)點(diǎn),然后報(bào)告給主控芯片,主控芯片將命令通過(guò)協(xié)調(diào)器發(fā)送給終端節(jié)點(diǎn),終端節(jié)點(diǎn)控制執(zhí)行器的工作狀態(tài)。
圖4 ZigBee模塊工作流程
ZigBee協(xié)調(diào)節(jié)點(diǎn)的功能:在整個(gè)ZigBee網(wǎng)絡(luò)中起主導(dǎo)作用。整個(gè)ZigBee網(wǎng)絡(luò)由協(xié)調(diào)節(jié)點(diǎn)發(fā)起和組建,并且負(fù)責(zé)整個(gè)網(wǎng)絡(luò)數(shù)據(jù)的傳輸與轉(zhuǎn)發(fā)。協(xié)調(diào)節(jié)點(diǎn)功能結(jié)構(gòu)如圖5所示。
圖5 協(xié)調(diào)節(jié)點(diǎn)功能結(jié)構(gòu)圖
ZigBee終端節(jié)點(diǎn)功能:讀取傳感器和執(zhí)行器的數(shù)據(jù),發(fā)送數(shù)據(jù)并接收主控芯片的指令。終端節(jié)點(diǎn)功能結(jié)構(gòu)如圖6所示。
圖6 終端節(jié)點(diǎn)功能結(jié)構(gòu)圖
本系統(tǒng)所選模塊皆為工業(yè)級(jí)傳感器,具有采集精度高、性能穩(wěn)定、帶有保護(hù)殼不易侵蝕等優(yōu)點(diǎn),主要包括溫濕度傳感器、二氧化碳傳感器、光照傳感器、壓力傳感器、雨雪傳感器、風(fēng)速傳感器,用于測(cè)量大棚內(nèi)主要環(huán)境參數(shù)。具體型號(hào)見(jiàn)表1所列。
表1 傳感器型號(hào)一覽表
根據(jù)系統(tǒng)的主要功能和硬件的主要結(jié)構(gòu),本文的智能農(nóng)業(yè)大棚系統(tǒng)的軟件設(shè)計(jì)主要由網(wǎng)關(guān)相關(guān)設(shè)計(jì)、通信協(xié)議的程序?qū)崿F(xiàn)和手機(jī)APP開(kāi)發(fā)三部分組成。ZigBee模塊和采集節(jié)點(diǎn)構(gòu)成了系統(tǒng)的無(wú)線(xiàn)數(shù)據(jù)通信網(wǎng)絡(luò),與網(wǎng)關(guān)中的數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)通信,同時(shí)手機(jī)APP可通過(guò)Socket通信與服務(wù)器進(jìn)行信息交換。軟件設(shè)計(jì)結(jié)構(gòu)如圖7所示。
圖7 軟件設(shè)計(jì)結(jié)構(gòu)
ZigBee模塊主要分為協(xié)調(diào)器和終端節(jié)點(diǎn)兩個(gè)部分。協(xié)調(diào)器負(fù)責(zé)組建網(wǎng)絡(luò)和將終端節(jié)點(diǎn)傳送來(lái)的數(shù)據(jù)轉(zhuǎn)發(fā)給主控芯片,同時(shí)也可以將主控芯片的指令發(fā)送給終端節(jié)點(diǎn)。協(xié)調(diào)器與主控芯片之間通過(guò)串口連接。協(xié)調(diào)器的組網(wǎng)流程如圖8所示。
圖8 協(xié)調(diào)器的組網(wǎng)流程
協(xié)調(diào)器建立網(wǎng)絡(luò)后,終端節(jié)點(diǎn)加入網(wǎng)絡(luò),把傳感器的數(shù)據(jù)通過(guò)ZigBee傳送給協(xié)調(diào)器。節(jié)點(diǎn)采集數(shù)據(jù)流程如圖9所示。
圖9 采集數(shù)據(jù)流程
本文中的系統(tǒng)采用的數(shù)據(jù)庫(kù)是SQLite,是基于C語(yǔ)言開(kāi)發(fā)的嵌入式數(shù)據(jù)庫(kù);與傳統(tǒng)數(shù)據(jù)庫(kù)相比,它更加適合本文系統(tǒng)設(shè)計(jì)的要求,只具有數(shù)據(jù)庫(kù)的基本必要功能,摒棄了不必要的復(fù)雜功能,因具有功能強(qiáng)大、體積很小、結(jié)構(gòu)簡(jiǎn)單、兼容性和移植性好的特點(diǎn),使得它常常被用在體積較小的穿戴設(shè)備上或?qū)w積有要求的系統(tǒng)中,比如手機(jī)、手持設(shè)備等。由于嵌入式數(shù)據(jù)庫(kù)的性能很好,所以在一些對(duì)性能有要求的系統(tǒng)中也是常常采用這種數(shù)據(jù)庫(kù)。
本文中手機(jī)終端與服務(wù)器的通信,選取的是TCP協(xié)議,并通過(guò)三次握手連接來(lái)實(shí)現(xiàn)手機(jī)與服務(wù)器的數(shù)據(jù)通信。
TCP/IP網(wǎng)絡(luò)的API采用的是Socket接口,它定義了許多函數(shù)或例程。網(wǎng)絡(luò)的Socket數(shù)據(jù)傳輸是一種特殊的輸入輸出。Socket可以調(diào)用Socket()去打開(kāi)一個(gè)文件,運(yùn)行完畢后該函數(shù)可以返回一個(gè)整型的Socket描述符,完成后就可以基于Socket進(jìn)行連接建立、數(shù)據(jù)傳輸?shù)裙ぷ?。常用的Socket類(lèi)型有兩種:流式Socket(SOCK_STREAM)和數(shù)據(jù)報(bào)式Socket(SOCK_DGRAM)。流式中Socket的主要功能通常要在運(yùn)行之前先建立連接再進(jìn)行通信,這就是面向連接,主要針對(duì)于TCP服務(wù)應(yīng)用;數(shù)據(jù)報(bào)式中Socket功能是不需要提前建立連接的,主要對(duì)應(yīng)于UDP服務(wù)應(yīng)用。
本文中手機(jī)APP通過(guò)無(wú)線(xiàn)WiFi與智能網(wǎng)關(guān)中的服務(wù)器相連獲取數(shù)據(jù),主控芯片通過(guò)ZigBee無(wú)線(xiàn)網(wǎng)絡(luò)與各個(gè)終端節(jié)點(diǎn)相連,實(shí)現(xiàn)數(shù)據(jù)的傳輸和對(duì)執(zhí)行器件的控制。整個(gè)APP系統(tǒng)主要由環(huán)境監(jiān)測(cè)、遠(yuǎn)程控制、全部設(shè)備和視頻監(jiān)控四個(gè)模塊組成,簡(jiǎn)潔方便,非常符合智能化的要求。
3.5.1 登錄界面設(shè)計(jì)
設(shè)計(jì)手機(jī)APP登錄界面,主要由三個(gè)部分組成,分別是資源文件、JAVA源代碼和系統(tǒng)文件。資源文件主要是對(duì)登錄界面進(jìn)行結(jié)構(gòu)布局的設(shè)計(jì),JAVA源代碼是對(duì)APP主要功能的實(shí)現(xiàn)進(jìn)行的設(shè)計(jì),系統(tǒng)文件主要是識(shí)別界面中定義的組件。登錄界面構(gòu)成如圖10所示。
圖10 登錄界面構(gòu)成
3.5.2 主控界面設(shè)計(jì)
當(dāng)點(diǎn)擊登錄按鈕后,手機(jī)APP從登錄界面轉(zhuǎn)到主控界面,根據(jù)智能農(nóng)業(yè)系統(tǒng)的功能需求,主控界面主要由環(huán)境監(jiān)測(cè)、遠(yuǎn)程控制、全部設(shè)備、視頻監(jiān)控四個(gè)功能模塊組成。界面上的每個(gè)功能模塊圖標(biāo)對(duì)應(yīng)相應(yīng)的功能,這樣就可以為用戶(hù)提供進(jìn)入每個(gè)功能模塊的接口。主控界面流程如圖11所示。
圖11 主控界面流程
通過(guò)設(shè)置事件偵聽(tīng)器在登錄界面中監(jiān)聽(tīng)按鈕事件,通過(guò)意圖組件實(shí)現(xiàn)按鈕事件的跳轉(zhuǎn)。也就是說(shuō),需要在主控界面上的每個(gè)功能圖標(biāo)設(shè)置偵聽(tīng)事件,這樣才可以偵聽(tīng)每個(gè)按鈕事件的發(fā)生,一旦按鈕事件發(fā)生,通過(guò)意圖組件實(shí)現(xiàn)功能跳轉(zhuǎn)。
智能農(nóng)業(yè)系統(tǒng)搭建完成后,硬件與軟件系統(tǒng)均可正常運(yùn)行,如在調(diào)試過(guò)程中出現(xiàn)問(wèn)題,則需繼續(xù)完善和改進(jìn)。系統(tǒng)上電后,所有硬件正常工作,將手機(jī)APK文件下載到手機(jī)并安裝,生成智能農(nóng)業(yè)圖標(biāo)。運(yùn)行APP,打開(kāi)登錄界面,如圖12所示,輸入IP地址和端口號(hào),連接WiFi熱點(diǎn)和服務(wù)器,進(jìn)入控制界面。
圖12 手機(jī)APP登錄界面
點(diǎn)擊環(huán)境檢測(cè)圖標(biāo),進(jìn)入功能界面,如圖13所示。通過(guò)ZigBee網(wǎng)絡(luò)手機(jī)終端節(jié)點(diǎn)采集的信息,經(jīng)過(guò)WiFi網(wǎng)絡(luò)在手機(jī)APP相應(yīng)界面中顯示。點(diǎn)擊遠(yuǎn)程監(jiān)控界面,執(zhí)行設(shè)備的狀態(tài)以及控制按鈕可通過(guò)此界面顯示,點(diǎn)擊控制按鈕即可改變執(zhí)行設(shè)備狀態(tài)。
圖13 功能界面
本文所設(shè)計(jì)的系統(tǒng)主要是由網(wǎng)關(guān)系統(tǒng)、ZigBee無(wú)線(xiàn)傳感網(wǎng)絡(luò)、傳感器、執(zhí)行器以及手機(jī)APP等部分組成。雖然較好地實(shí)現(xiàn)了本系統(tǒng)的基本預(yù)期目標(biāo),但本系統(tǒng)還存在一定的功能缺陷,比如:ZigBee通信距離比較有限,不適合大區(qū)域的智能農(nóng)業(yè)區(qū)域覆蓋;ZigBee節(jié)點(diǎn)數(shù)量有限;手機(jī)終端APP的功能比較單一,沒(méi)有統(tǒng)計(jì)分析功能。結(jié)合物聯(lián)網(wǎng)和5G技術(shù)的發(fā)展,本系統(tǒng)還可以進(jìn)行必要的功能擴(kuò)展,可以與人工智能、大數(shù)據(jù)、云計(jì)算等技術(shù)相結(jié)合,打造真正的智能農(nóng)業(yè)體系智慧化。