關(guān)鍵詞:樹(shù)莓派;智能灌溉;物聯(lián)網(wǎng)
1 研究目的和意義
農(nóng)作物生產(chǎn)種植是我國(guó)重要的經(jīng)濟(jì)活動(dòng)之一。農(nóng)作物的生長(zhǎng)離不開(kāi)水資源。然而,目前我國(guó)水資源存在分布不均、利用不充分的問(wèn)題。在北方地區(qū),水資源不充足、不均衡的情況尤為明顯。另外,由于我國(guó)處于溫帶季風(fēng)氣候區(qū),受季風(fēng)影響,整體存在夏季雨水多,冬季雨水少的問(wèn)題。在農(nóng)田灌溉領(lǐng)域,以漫灌等地面灌溉方式為主,這在一定程度上造成了水資源的浪費(fèi)。我國(guó)人均淡水量水平不足世界人均淡水量的四分之一[1],因此,大力發(fā)展較為精準(zhǔn)的灌溉技術(shù)是至關(guān)重要的。據(jù)不完全統(tǒng)計(jì),農(nóng)業(yè)用水在運(yùn)輸過(guò)程中會(huì)出現(xiàn)不同程度的流失,如漫灌、滴灌等方式在田壟間滲透等,約60%的水資源沒(méi)有直接作用于農(nóng)作物[2]。因此,能利用現(xiàn)有技術(shù)開(kāi)發(fā)設(shè)計(jì)并實(shí)現(xiàn)一款智能灌溉系統(tǒng),對(duì)提高水資源的灌溉利用率具有重要意義。
2 國(guó)內(nèi)外研究現(xiàn)狀
隨著科技的不斷發(fā)展,物聯(lián)網(wǎng)技術(shù)日益成熟。通過(guò)采用傳感器、智能化應(yīng)用網(wǎng)絡(luò)、智能終端等技術(shù)的協(xié)調(diào)高效利用,可以實(shí)現(xiàn)24小時(shí)全方位的監(jiān)測(cè)和管理。采用基于LoRa技術(shù)的遠(yuǎn)距離低功耗無(wú)線傳感網(wǎng)絡(luò)形式進(jìn)行部署,在農(nóng)業(yè)覆蓋區(qū)域,通過(guò)無(wú)線傳感節(jié)點(diǎn)實(shí)時(shí)采集農(nóng)作物需水量等信息,并通過(guò)LTE網(wǎng)絡(luò)等將采集信息傳送至手機(jī)或電腦端,從而進(jìn)行有效的數(shù)據(jù)處理,進(jìn)而調(diào)整灌溉策略[3]。此外,對(duì)等節(jié)點(diǎn)形式的網(wǎng)絡(luò)拓?fù)湟部梢愿鶕?jù)需求進(jìn)行調(diào)整,部署靈活[4]。
以單片機(jī)等為主控單元的智能節(jié)約型灌溉技術(shù)不斷發(fā)展,如采用ZigBee技術(shù)和GPRS技術(shù)相結(jié)合的智慧果園灌溉系統(tǒng),該系統(tǒng)利用ZigBee技術(shù)的低功耗、高可靠性的優(yōu)勢(shì),且可部署節(jié)點(diǎn)數(shù)多,通過(guò)GPRS 技術(shù)將農(nóng)田的信息,如土壤濕度、室溫等參數(shù)以短信方式告知農(nóng)田管理者,以便根據(jù)農(nóng)作物生長(zhǎng)環(huán)境決定灌溉方式[5]。另外,采用GPS和GPRS相結(jié)合的低成本灌溉系統(tǒng)也逐步推廣,通過(guò)GPS定位技術(shù)精準(zhǔn)采集位置信息,利用GPRS技術(shù)遠(yuǎn)程回傳數(shù)據(jù),實(shí)現(xiàn)基于位置的較為精準(zhǔn)的灌溉[6]。經(jīng)過(guò)考察論證,本系統(tǒng)借鑒了雨鳥(niǎo)公司的1Q-Cloud產(chǎn)品開(kāi)發(fā)模型,利用樹(shù)莓派易于操作控制的優(yōu)點(diǎn),結(jié)合傳感器設(shè)備完成數(shù)據(jù)采集,通過(guò)開(kāi)發(fā)實(shí)現(xiàn)Web程序和可視化編程,實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)和控制灌溉。
3 關(guān)鍵技術(shù)介紹
3.1 樹(shù)莓派
樹(shù)莓派4B是一款基于ARM處理器的微型電腦主板,以SD卡為存儲(chǔ)單元,主板周圍有多個(gè)USB接口和一個(gè)以太網(wǎng)接口,可用于連接鍵盤(pán)、鼠標(biāo)等外設(shè)和網(wǎng)絡(luò)。同時(shí),它還具有HDMI高清視頻輸出接口。樹(shù)莓派開(kāi)發(fā)板上可部署Linux操作系統(tǒng),可基于Python程序設(shè)計(jì)開(kāi)發(fā)實(shí)現(xiàn),支持調(diào)用強(qiáng)大的第三方庫(kù),如opencv、pigpio等,應(yīng)用性強(qiáng),穩(wěn)定性好[7]。
3.2 3D 打印
3D打印技術(shù)是一種快速成型技術(shù),適用于定制化產(chǎn)品的實(shí)現(xiàn)。它可以分為直接打印和間接打印兩種。直接打印是先繪制出產(chǎn)品圖紙后形成三維模型,利用3D打印機(jī)直接打印出符合要求的產(chǎn)品。間接打印則是利用3D打印機(jī)打印出蠟或者硅溶膠模型后,用失蠟法完成產(chǎn)品的鑄造。為了增強(qiáng)接口之間的適配性,本設(shè)計(jì)中的水管接頭、閥門(mén)適配器等采用直接打印技術(shù)實(shí)現(xiàn)。
3.3 MQTT 通信協(xié)議
MQTT通信協(xié)議是一種消息隊(duì)列協(xié)議,由IBM開(kāi)發(fā),是一種在硬件性能較差或者網(wǎng)絡(luò)情況較差的情況下使用的發(fā)布/訂閱型消息協(xié)議。它具有輕量、簡(jiǎn)單、易于實(shí)現(xiàn)的特點(diǎn)。MQTT協(xié)議采用TCP/IP協(xié)議進(jìn)行網(wǎng)絡(luò)鏈接,保證了數(shù)據(jù)傳輸?shù)目煽啃?,且傳輸?shù)據(jù)量小。該協(xié)議支持幾乎所有平臺(tái),幾乎可以將所有物聯(lián)網(wǎng)產(chǎn)品和外部進(jìn)行連接,被廣泛應(yīng)用于傳感器和制動(dòng)器。目前,華為、百度、阿里、中國(guó)移動(dòng)等搭建的物聯(lián)網(wǎng)平臺(tái)中已對(duì)此協(xié)議進(jìn)行了廣泛的應(yīng)用。本設(shè)計(jì)采用此協(xié)議搭建一個(gè)基于Web的通信平臺(tái),用于完成網(wǎng)絡(luò)通信。
4 系統(tǒng)設(shè)計(jì)
系統(tǒng)采用樹(shù)莓派4B作為主控模塊。主控模塊與空氣溫濕度、光照強(qiáng)度、土壤濕度等單元相連接,可動(dòng)態(tài)實(shí)時(shí)采集農(nóng)田參數(shù)。為實(shí)現(xiàn)遠(yuǎn)程控制,Wi-Fi網(wǎng)絡(luò)將這些參數(shù)通過(guò)MQTT通信協(xié)議發(fā)送給Node-RED物聯(lián)網(wǎng)編程工具平臺(tái)。同樣,來(lái)自平臺(tái)的控制信息也通過(guò)Wi-Fi網(wǎng)絡(luò)和MQTT通信協(xié)議發(fā)送給樹(shù)莓派節(jié)點(diǎn),節(jié)點(diǎn)接收到指令后控制電磁閥,驅(qū)動(dòng)水泵完成灌溉操作。為了更好地適配水泵,保證接口不漏水,對(duì)于接口閥等部分適配部件采用3D打印技術(shù)進(jìn)行定制化設(shè)計(jì)打印。
本系統(tǒng)硬件部分由樹(shù)莓派4B作為中央處理單元進(jìn)行處理和控制。如圖1所示,將空氣溫濕度傳感器、土壤濕度傳感器和光照強(qiáng)度傳感器與樹(shù)莓派4B的GPIO口相連接,通過(guò)繼電器模塊驅(qū)動(dòng)水泵完成灌溉操作。
為方便遠(yuǎn)程監(jiān)控和操作,系統(tǒng)基于MQTT通信協(xié)議搭建基于Web的通信平臺(tái)。平臺(tái)采用可視化工具Node-RED進(jìn)行開(kāi)發(fā)。Node-RED 是構(gòu)建物聯(lián)網(wǎng)應(yīng)用程序的一個(gè)編程工具,可簡(jiǎn)化代碼塊的連接[8]。No?deRED基于Python 語(yǔ)言進(jìn)行開(kāi)發(fā)。通過(guò)可視化編程方法,能將預(yù)定義的代碼塊連接起來(lái)執(zhí)行。該工具可以較好地兼容樹(shù)莓派的GPIO口,可以解析GPIO引腳數(shù)據(jù),并根據(jù)數(shù)據(jù)創(chuàng)建動(dòng)作。也可以根據(jù)事件使Node-RED與GPIO引腳交互。本系統(tǒng)基于此工具實(shí)現(xiàn)對(duì)農(nóng)田信息的實(shí)時(shí)監(jiān)測(cè)展示。Node-RED安裝部署環(huán)境如圖2所示,通過(guò)執(zhí)行“sudo npm install –g nodered”指令,在樹(shù)莓派Linux 系統(tǒng)中安裝Node-RED 工具。
為更好地適配系統(tǒng),利用Creality Ender打印出水管接頭、噴嘴適配器、水管塞子、鉤子、傳感器底座、閥門(mén)適配器、電線蓋子等物件。
5 系統(tǒng)實(shí)現(xiàn)
5.1 樹(shù)莓派4B 系統(tǒng)的燒錄和配置
系統(tǒng)選用Desktop and Recommended Software 版本的鏡像文件,采用Win32 Disk Imager 工具進(jìn)行解壓,將解壓出的樹(shù)莓派系統(tǒng)鏡像文件寫(xiě)入Micro SD 卡。把Micro SD卡插到對(duì)應(yīng)卡槽中,當(dāng)樹(shù)莓派主板上紅色電源指示燈亮起,綠色指示燈間歇閃爍時(shí),說(shuō)明系統(tǒng)已經(jīng)開(kāi)始啟動(dòng)。連接外置屏幕,通過(guò)顯示路由器管理頁(yè)面找到給樹(shù)莓派開(kāi)發(fā)板分配的IP地址,保證電腦與其在同一網(wǎng)段,然后用SSH工具遠(yuǎn)程連接到樹(shù)莓派進(jìn)行配置。
5.2 MQTT 服務(wù)器實(shí)現(xiàn)
系統(tǒng)采用開(kāi)源的輕量級(jí) mosquitto 開(kāi)源項(xiàng)目對(duì)MQTT 組件進(jìn)行搭建。通過(guò)使用sudo apt-get installlibssl-dev等指令下載需要的依賴包并進(jìn)行安裝,通過(guò) wget http://mosquitto.org/files/source/mosquitto-1.6.9.tar.gz等命令獲取下載mosquitto并進(jìn)行解壓。之后,mosquitto會(huì)以默認(rèn)的參數(shù)進(jìn)行啟動(dòng)。通過(guò)修改mos?quitto.conf配置文件,可以配置修改相應(yīng)的參數(shù)進(jìn)行定制化使用。通過(guò)安裝xrdp工具可以實(shí)現(xiàn)遠(yuǎn)程桌面管理,其中調(diào)用登錄界面如圖3所示。
5.3 Node- RED 物聯(lián)網(wǎng)編程
啟動(dòng)Node-RED服務(wù),檢查Node-RED服務(wù)的狀態(tài)。若要在樹(shù)莓派4B上使用NodeRED,需要先安裝Node.js環(huán)境[9]。啟動(dòng)NodeRED后,可通過(guò)http://local?host:1880進(jìn)入NodeRED編輯頁(yè)面。
搭建好MQTT服務(wù)器后,可以進(jìn)行Node-RED物聯(lián)網(wǎng)編程工具的測(cè)試[6]。輸入ifconfig命令,查看樹(shù)莓派4B的IP地址,樹(shù)莓派4B啟動(dòng)Node-RED后,可以使用瀏覽器,根據(jù)IP地址打開(kāi)Node-RED,成功連接后,表示可以正常使用。
如圖4所示,通過(guò)左側(cè)面板inject和debug選項(xiàng)進(jìn)行連線,通過(guò)編輯inject node輸入數(shù)值,并設(shè)定是否需要重復(fù)發(fā)送信息。debug node會(huì)將流入此點(diǎn)的對(duì)象信息通過(guò)debug字段顯示出來(lái),用于檢視是否符合預(yù)期效果。
5.4 硬件連接
將模數(shù)轉(zhuǎn)換模塊的VCC引腳與樹(shù)莓派的GPIO1 口連接,GND引腳與GPIO4連接,SDA與SCL分別為I2C通信協(xié)議的數(shù)據(jù)線與時(shí)鐘線,分別連接到樹(shù)莓派4B的GPIO3口和GPIO5口;電容型土壤濕度傳感器因輸出信號(hào)為模擬信號(hào),須與模數(shù)轉(zhuǎn)換模塊的A0口連接才能使用;溫濕度傳感器的DATA引腳和GPIO7口連接。由于光照傳感器需要采用I2C通信協(xié)議,需要與樹(shù)莓派4B 的GPIO3 和GPIO5 引腳擴(kuò)展口進(jìn)行連接。
5.5 控制臺(tái)實(shí)現(xiàn)
對(duì)SSH遠(yuǎn)程連接進(jìn)行相關(guān)設(shè)置,通過(guò)IP 地址和賬號(hào)密碼進(jìn)行登錄,將PC端和樹(shù)莓派接入同一網(wǎng)絡(luò),在PC端安裝MobaXterm軟件后,與樹(shù)莓派進(jìn)行SSH遠(yuǎn)程連接,編譯主程序并運(yùn)行。在瀏覽器端打開(kāi)Node-RED物聯(lián)網(wǎng)編程工具,根據(jù)樹(shù)莓派的IP地址,即可查看各個(gè)傳感器采集的實(shí)時(shí)信息,以數(shù)值的形式進(jìn)行展示。系統(tǒng)操作人員可以根據(jù)數(shù)值的情況通過(guò)控制繼電器控制水泵的開(kāi)閉,從而達(dá)到根據(jù)條件進(jìn)行灌溉的情況。
6 結(jié)束語(yǔ)
本設(shè)計(jì)基于樹(shù)莓派驅(qū)動(dòng),設(shè)計(jì)并實(shí)現(xiàn)了一款物聯(lián)網(wǎng)智能灌溉系統(tǒng),利用樹(shù)莓派作為主控,通過(guò)傳感器節(jié)點(diǎn)實(shí)時(shí)采集田間數(shù)據(jù),建立植物生長(zhǎng)狀況數(shù)據(jù)庫(kù),根據(jù)變化采用滴灌和控水,也可自行定期設(shè)定澆水。通過(guò)采用MQTT協(xié)議,基于Node-RED平臺(tái)設(shè)計(jì)開(kāi)發(fā)實(shí)現(xiàn)Web控制系統(tǒng),可以利用電腦或手機(jī)終端實(shí)現(xiàn)遠(yuǎn)程控制。通過(guò)智能控制,可使農(nóng)作物處于有利生長(zhǎng)狀態(tài),有利于實(shí)現(xiàn)智能化、農(nóng)業(yè)。系統(tǒng)可以進(jìn)一步進(jìn)行擴(kuò)充實(shí)現(xiàn),如可經(jīng)過(guò)操作人員進(jìn)行數(shù)值判斷從而控制水泵開(kāi)閉,可以通過(guò)設(shè)置采集參數(shù)閾值,自動(dòng)控制水泵。