華?;郏?徐嘉宏, 李東澤, 謝蘭桂, 樊中峰, 劉曉義
(東北林業(yè)大學(xué)機(jī)電工程學(xué)院,黑龍江 哈爾濱 150040)
在農(nóng)業(yè)自動(dòng)化灌溉方面,國(guó)外一些國(guó)家已有非常成熟的技術(shù)和產(chǎn)品。早在20世紀(jì)40年代,法國(guó)就發(fā)明出了水力自動(dòng)閥門[1]。后來隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的發(fā)展,以色列、美國(guó)和日本等國(guó)逐漸發(fā)展出了利用電子集成電路和計(jì)算機(jī)程序來控制閥門開閉進(jìn)而控制農(nóng)業(yè)灌溉,以解放人力,推動(dòng)農(nóng)業(yè)智能化和自動(dòng)化[2-5]。這既創(chuàng)造了龐大的經(jīng)濟(jì)收益,也提高了水資源利用率。如美國(guó)英特爾公司在俄勒岡州建造了世界上第一個(gè)應(yīng)用無線通信和無線傳感技術(shù)的葡萄園,整個(gè)葡萄園的管理和灌溉都是由分布在園內(nèi)大量的無線傳感器進(jìn)行感應(yīng)和控制節(jié)點(diǎn)進(jìn)行經(jīng)營(yíng)的。我國(guó)和這些發(fā)達(dá)國(guó)家相比,在節(jié)水灌溉方面還有一定的差距。
一直以來,我國(guó)大部分地區(qū)都采用大水漫灌進(jìn)行農(nóng)業(yè)灌溉,水資源浪費(fèi)嚴(yán)重。近些年國(guó)家已開始重視地面灌水技術(shù),著力推廣國(guó)外優(yōu)秀的地面灌溉技術(shù),一方面積極開發(fā)節(jié)水灌溉的方法,一方面著力研究節(jié)水灌溉裝置,設(shè)計(jì)一個(gè)能夠?qū)ν寥肋M(jìn)行定時(shí)、定點(diǎn)、定量的灌溉控制系統(tǒng)具有重要的意義[6-12]。
為了使?jié)菜喔葯C(jī)高效智能地運(yùn)行,設(shè)計(jì)了一種基于zigbee技術(shù)和 WiFi 技術(shù)的互聯(lián)網(wǎng)一體網(wǎng)絡(luò)灌溉控制系統(tǒng),可以多任務(wù)運(yùn)行處理,使得穩(wěn)定性和實(shí)用性大大提高。ZigBee技術(shù)和Wi-Fi技術(shù)是目前物聯(lián)網(wǎng)的主流通信技術(shù)。研發(fā)方案如下:
(1)選擇土壤濕度傳感器型號(hào),實(shí)時(shí)監(jiān)測(cè)土壤濕度。
(2)在土壤缺水時(shí),將檢測(cè)數(shù)據(jù)發(fā)送到終端進(jìn)行計(jì)算處理,發(fā)出信號(hào)控制繼電器。通過控制繼電器的啟閉來控制水泵的開關(guān),將土壤含水量控制在作物適合生長(zhǎng)的區(qū)間內(nèi)。
(3)對(duì)系統(tǒng)的傳輸方式進(jìn)行選擇,設(shè)計(jì)網(wǎng)關(guān)和無線傳輸節(jié)點(diǎn),構(gòu)成無線傳感器網(wǎng)絡(luò),以實(shí)現(xiàn)信息的無線實(shí)時(shí)傳輸。
(4)對(duì)主控模塊和外圍模塊進(jìn)行選型及電路設(shè)計(jì)。
(5)編寫傳感器模塊程序,實(shí)現(xiàn)土壤濕度的實(shí)時(shí)采集。編寫執(zhí)行終端自動(dòng)控制的程序,調(diào)節(jié)土壤濕度,將土壤含水量控制在合理的區(qū)間內(nèi)。編寫ZigBee組網(wǎng)程序,協(xié)調(diào)器節(jié)點(diǎn)負(fù)責(zé)組建無線傳感網(wǎng)絡(luò),終端節(jié)點(diǎn)加入網(wǎng)絡(luò),終端節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)無線收發(fā)數(shù)據(jù)。
(6)實(shí)現(xiàn)Wi-Fi網(wǎng)絡(luò)將ZigBee網(wǎng)絡(luò)采集到的數(shù)據(jù)無線透?jìng)靼l(fā)送給云服務(wù)器,云服務(wù)器接收Wi-Fi網(wǎng)絡(luò)傳來的數(shù)據(jù)并將其儲(chǔ)存在數(shù)據(jù)庫(kù)中。
(7)編寫云服務(wù)器與微信服務(wù)器的通信程序,使用戶可以通過微信客戶端實(shí)時(shí)查看土壤濕度值和水泵啟閉狀態(tài)。
3.1.1 傳感器模塊
確定土壤含水量是否能滿足作物的生長(zhǎng)發(fā)育主要通過檢測(cè)土壤濕度來判斷,傳感器如圖1所示。本系統(tǒng)使用的土壤濕度傳感器是YL-69土壤濕度傳感器,包括探針和電路兩部分。探針是傳感器感應(yīng)土壤濕度的設(shè)備,材質(zhì)為鋼制探頭,表面采用鍍鎳處理,可以有效防止氧化,解決了接觸土壤容易生銹的問題,延長(zhǎng)其使用壽命,還有足夠?qū)挼母袘?yīng)面積,可以有效提高導(dǎo)電的性能。土壤的濕度變化會(huì)引起電路中濕敏電阻的阻值變化,傳感器可以輸出不同的電壓值,單片機(jī)的ADC模塊通過一定的運(yùn)算將電壓值轉(zhuǎn)化為濕度值,本系統(tǒng)需要得到準(zhǔn)確的土壤濕度參數(shù),因此使用輸出準(zhǔn)確的模擬信號(hào)。本系統(tǒng)使用傳感器輸出的模擬信號(hào),用終端節(jié)點(diǎn)CC2530底板的P0.5引腳與傳感器的AO引腳相連,DO引腳并未用到,懸空處理。
圖1 YL-69傳感器
3.1.2 執(zhí)行模塊
當(dāng)系統(tǒng)通過傳感器檢測(cè)到土壤濕度低于設(shè)定值時(shí),系統(tǒng)開始對(duì)土壤進(jìn)行灌溉,直到土壤濕度到達(dá)上限為止,系統(tǒng)通過繼電器SRD-03VDC-SL-C和直流水泵來實(shí)現(xiàn)該功能。SRD-03VDC-SL-C繼電器是電磁式繼電器,其有兩個(gè)作用,一是提高單片機(jī)的驅(qū)動(dòng)能力,單片機(jī)所能輸出的電流很小,難以驅(qū)動(dòng)需要大電流、大電壓的直流水泵,使用繼電器可以將執(zhí)行電路分成由單片機(jī)和繼電器組成的控制電路和由繼電器、水泵、外接電源組成的被控制回路,這樣單片機(jī)只要輸出一個(gè)低電流、低電壓的信號(hào)來控制繼電器就可以間接控制直流水泵;另一個(gè)作用是根據(jù)控制信號(hào)的變化接通或斷開控制電路,因此常用于自動(dòng)控制電路中,在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。繼電器由電磁系統(tǒng)和觸頭系統(tǒng)構(gòu)成,電磁系統(tǒng)的線圈部分有三個(gè)接口VCC、GND和IN,VCC與3.3V電源相連,GND與地相連,IN與單片機(jī)P0.7相連,負(fù)責(zé)接收單片機(jī)的控制信號(hào)。觸頭系統(tǒng)有三個(gè)接口常開端、常閉端和公共端,負(fù)責(zé)控制被控制回路的閉合和斷開。
3.1.3 電源模塊
節(jié)點(diǎn)的主控模塊CC2530、土壤濕度傳感器、Wi-Fi模塊esp8266和執(zhí)行模塊繼電器需要3.3 V電壓,直流水泵需要5V電壓。電源模塊的設(shè)計(jì)如圖2所示,J1為外接電源座,與外接5 V電源相連。SW-PWE為電源開關(guān)。R1為限流保護(hù)電阻保護(hù)電路,穩(wěn)壓管D4確保輸出5 V電壓。由于系統(tǒng)還需3.3 V電源,因此需要低壓差穩(wěn)壓器,本系統(tǒng)選用正向低壓差三端線性穩(wěn)壓器AMS1117電壓轉(zhuǎn)換芯片將5 V電壓轉(zhuǎn)換為3.3 V電壓。AMS1117共有三個(gè)引腳,一個(gè)是GND,與地相連,一個(gè)是VIN電壓輸入引腳,與輸入的5V電源相連,最后一個(gè)是VOUT電壓輸出引腳,輸出3.3 V電壓。在VIN、VOUT和地之間各放了一個(gè)旁路電容,來保護(hù)電路、穩(wěn)定電壓,另外水泵需2 A的電流,該電流單片機(jī)無法提供,因此直流水泵需要外接一個(gè)電源。
圖2 電源模塊電路連接
3.1.4 Wi-Fi模塊
系統(tǒng)需要實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的功能,就要實(shí)現(xiàn)節(jié)點(diǎn)與外界的通訊。而ZigBee技術(shù)只適用于ZigBee節(jié)點(diǎn)之間的無線通訊,既不能用于ZigBee節(jié)點(diǎn)與其他微處理器的無線通訊,也不能用于ZigBee節(jié)點(diǎn)與云服務(wù)器之間的通信,無法完成遠(yuǎn)程通信的任務(wù)。為解決這一問題,設(shè)計(jì)了Wi-Fi模塊作為ZigBee網(wǎng)絡(luò)與云服務(wù)器通信的介質(zhì),實(shí)現(xiàn)ZigBee網(wǎng)絡(luò)與云服務(wù)器之間的數(shù)據(jù)傳輸,ZigBee協(xié)調(diào)器節(jié)點(diǎn)和Wi-Fi模塊通過串口進(jìn)行通信,Wi-Fi模塊和云服務(wù)器通過TCP/IP進(jìn)行通信。本系統(tǒng)的Wi-Fi模塊采用esp8266-12F芯片,封裝如圖3所示。
3.1.5 微處理器模塊
選用TI公司的CC2530F256芯片,CC2530是用于IEEE802.15.4和ZigBee的片上系統(tǒng)解決方案,封裝如圖4所示,在硬件上結(jié)合了領(lǐng)先的RF收發(fā)器,增強(qiáng)型8051內(nèi)核,256KBFlash以及8KBRAM,資源豐富,軟件上使用了TI公司最新開發(fā)的ZigBee2007協(xié)議棧Z-Stack,能夠以非常低的成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn),提供了完整的ZigBee解決方案,擁有低功耗、低成本、短時(shí)延等優(yōu)點(diǎn)。CC2530F256在系統(tǒng)中的主要任務(wù)是數(shù)據(jù)處理和無線通信,對(duì)土壤濕度傳感器采集的信息進(jìn)行數(shù)據(jù)處理并實(shí)現(xiàn)自動(dòng)控制,終端節(jié)點(diǎn)將信息發(fā)送給協(xié)調(diào)器節(jié)點(diǎn),協(xié)調(diào)器接收信息并與Wi-Fi模塊進(jìn)行信息交互。
圖3 esp8266-12F封裝
圖4 CC2530F256封裝
3.1.6 ZigBee節(jié)點(diǎn)電路設(shè)計(jì)
為減小每個(gè)節(jié)點(diǎn)的占地面積,便于設(shè)備維護(hù)及擴(kuò)展使用,每個(gè)節(jié)點(diǎn)電路板都采用核心板+底板的模式。核心板包括微處理器模塊主控芯片和必要的外圍電路,底板包括與其他外設(shè)的接口電路。核心板上的外圍電路主要有射頻電路、晶振電路電源去耦電路和I/O引腳外接擴(kuò)展接口連接電路。ZigBee終端節(jié)點(diǎn)和ZigBee協(xié)調(diào)器節(jié)點(diǎn)的總體硬件設(shè)計(jì)如圖5(a)和圖5(b)所示。
圖5 ZigBee節(jié)點(diǎn)電路設(shè)計(jì)
除微處理器模塊外,ZigBee節(jié)點(diǎn)核心板電路還包括射頻電路、晶振電路電源去耦電路和I/O引腳外接擴(kuò)展接口連接電路構(gòu)成的外圍電路。
本系統(tǒng)外接的兩個(gè)晶振,一個(gè)是32 MHz晶振,主要用于RF收發(fā)器,另一個(gè)是32768手表晶振,為系統(tǒng)需要的時(shí)間精度提供穩(wěn)定的時(shí)鐘信號(hào)。
射頻CC2530有兩個(gè)引腳用來連接無線射頻電路,分別是無線射頻輸入引腳RF_N和無線輸入引腳RF_P,是一對(duì)差分輸入輸出信號(hào),右側(cè)是一個(gè)50 Ω的單端輸入天線,由于使用不平衡單極子天線,需要匹配電路來進(jìn)行射頻收發(fā)信號(hào)的匹配。本系統(tǒng)為降低成本,使用L2、L3兩個(gè)電感元件和C9、C13兩個(gè)電容元件構(gòu)成了匹配電路,如圖6所示。
圖6 CC2530節(jié)點(diǎn)核心板電路
為便于節(jié)點(diǎn)底板擴(kuò)展使用核心板上的I/O接口,設(shè)計(jì)了兩個(gè)外接擴(kuò)展模塊將核心板的I/O接口引出,使用時(shí)直接將接口插到底板上的插槽上即可。
為滿足系統(tǒng)功能,還設(shè)計(jì)了一些外圍電路:RBIAS引腳即30引腳連接了一個(gè)56 kΩ的外部精密偏置電阻,為單片機(jī)提供基準(zhǔn)電流;DCOUPL引腳即40引腳連接了一個(gè)退耦電容,去除芯片電源管腳上的噪聲;模擬部分電源正極AVCC和數(shù)字部分電源正極DVCC與電源相連;1、2、3、4引腳接地。
ZigBee節(jié)點(diǎn)底板集成了電源接口、JTAG接口、按鍵、LED燈、tft屏接口、USB轉(zhuǎn)串口電路、核心板插槽和外界模塊接口等,可以根據(jù)需要插拔不同的擴(kuò)展模塊。
JTAG技術(shù)是一種技術(shù)標(biāo)準(zhǔn),是為了在線測(cè)試需要而發(fā)展起來的針對(duì)芯片及線路板測(cè)試的接口技術(shù)。本系統(tǒng)采用雙排10pin2.54mm間距通用插槽,以連接仿真器下載調(diào)試程序。
為便于調(diào)試和顯示一些用戶想要顯示的內(nèi)容,系統(tǒng)設(shè)計(jì)了tft屏幕接口,st7735s型tft屏幕是一種有源矩陣液晶顯示器,擁有亮度好、對(duì)比度高、層次感強(qiáng)等優(yōu)點(diǎn)。
為便于調(diào)試系統(tǒng),設(shè)計(jì)了六個(gè)LED燈,其中有三個(gè)燈為組網(wǎng)指示燈,當(dāng)終端節(jié)點(diǎn)成功加入?yún)f(xié)調(diào)器節(jié)點(diǎn)建立的網(wǎng)絡(luò)后就會(huì)亮起,另配有一個(gè)串口收發(fā)指示燈。
系統(tǒng)設(shè)計(jì)了三個(gè)按鍵,其中包含一個(gè)復(fù)位按鍵,可對(duì)單片機(jī)進(jìn)行復(fù)位,按下后對(duì)單片機(jī)復(fù)位引腳寫進(jìn)低電平,單片機(jī)復(fù)位,另外兩個(gè)按鍵本系統(tǒng)中并未使用。
本系統(tǒng)選用CH340G芯片來完成USB通訊協(xié)議和標(biāo)準(zhǔn)UART串行通訊協(xié)議的轉(zhuǎn)換。CH340G芯片是一款USB轉(zhuǎn)串口芯片,內(nèi)置時(shí)鐘,使用方便。該USB接口有串口功能,除可以實(shí)現(xiàn)與PC之間的通訊外還可以對(duì)單片機(jī)供電。USB轉(zhuǎn)串口電路中芯片VCC引腳與電源相連,XI和XO引腳與12 M外部晶振相連,并配有兩個(gè)濾波電容,UD+和UD-引腳與USB的兩個(gè)數(shù)據(jù)引腳相連,傳遞數(shù)據(jù),TXD和RXD引腳與單片機(jī)P0.2/RX、P0.3/TX引腳相連。為使用核心板引出的引腳,系統(tǒng)設(shè)計(jì)了核心板的插槽,以便使用CC2530這24個(gè)引腳。為更加方便地根據(jù)所要實(shí)現(xiàn)的功能進(jìn)行引腳連接,進(jìn)行功能拓展,本系統(tǒng)設(shè)計(jì)了3個(gè)功能拓展模塊,每個(gè)模塊均有三個(gè)引腳,分別是電源引腳、接地引腳和控制引腳,用于與傳感器模塊、執(zhí)行模塊和Wi-Fi網(wǎng)關(guān)相連,使用時(shí)直接插拔即可。
3.1.7 PCB設(shè)計(jì)
電路原理圖設(shè)計(jì)完成后將元件封裝設(shè)計(jì)相應(yīng)的PCB板。本設(shè)計(jì)電源線采用的是15mil,在PCB設(shè)計(jì)過程中,盡量將相同元件擺放在一起,防止信號(hào)干擾,減少走線距離、打孔數(shù)量和背面走線。CC2530底板和核心板的PCB設(shè)計(jì)分別如圖7和圖8所示。
圖7 CC2530節(jié)點(diǎn)底板設(shè)計(jì)
圖8 CC2530節(jié)點(diǎn)核心板設(shè)計(jì)
軟件設(shè)計(jì)分為ZigBee網(wǎng)絡(luò)設(shè)計(jì)、Wi-Fi網(wǎng)絡(luò)設(shè)計(jì)和云服務(wù)器程序設(shè)計(jì)三部分,ZigBee網(wǎng)絡(luò)設(shè)計(jì)包括協(xié)調(diào)器節(jié)點(diǎn)組網(wǎng)、終端節(jié)點(diǎn)入網(wǎng)、采集土壤濕度、自動(dòng)調(diào)節(jié)土壤濕度、ZigBee節(jié)點(diǎn)之間通訊和協(xié)調(diào)器節(jié)點(diǎn)通過串口與Wi-Fi網(wǎng)絡(luò)進(jìn)行通信;Wi-Fi網(wǎng)絡(luò)包括接收Z(yǔ)igBee節(jié)點(diǎn)信息、設(shè)置為云服務(wù)器的客戶端和將數(shù)據(jù)無線透?jìng)鹘o云服務(wù)器;云服務(wù)器程序設(shè)計(jì)包括接收并儲(chǔ)存Wi-Fi網(wǎng)絡(luò)傳輸來的數(shù)據(jù)、與微信服務(wù)器進(jìn)行連接、根據(jù)微信服務(wù)器發(fā)來的信息訪問數(shù)據(jù)庫(kù)。系統(tǒng)軟件設(shè)計(jì)功能框圖如圖9所示。ZigBee網(wǎng)絡(luò)程序使用C語(yǔ)言進(jìn)行編程,Wi-Fi網(wǎng)絡(luò)程序使用AT語(yǔ)言和C語(yǔ)言進(jìn)行編程,云服務(wù)器程序使用PHP語(yǔ)言進(jìn)行編程。
圖9 系統(tǒng)軟件設(shè)計(jì)功能框圖
3.2.1 ZigBee網(wǎng)絡(luò)
ZigBee網(wǎng)絡(luò)的功能由協(xié)調(diào)器節(jié)點(diǎn)和終端節(jié)點(diǎn)來實(shí)現(xiàn),首先由協(xié)調(diào)器節(jié)點(diǎn)組建網(wǎng)絡(luò),終端節(jié)點(diǎn)掃描周圍的網(wǎng)絡(luò)然后加入?yún)f(xié)調(diào)器節(jié)點(diǎn)組建的網(wǎng)絡(luò),入網(wǎng)后開始實(shí)時(shí)采集土壤濕度,當(dāng)土壤濕度低于設(shè)定的下閾值時(shí)打開水泵,當(dāng)灌溉一定時(shí)間后到達(dá)上閾值時(shí)關(guān)閉水泵,終端節(jié)點(diǎn)在檢測(cè)和控制水泵時(shí)不斷將土壤濕度值和水泵啟閉狀態(tài)發(fā)送給協(xié)調(diào)器節(jié)點(diǎn),協(xié)調(diào)器節(jié)點(diǎn)收到數(shù)據(jù)后將數(shù)據(jù)整合然后通過串口將整合之后的數(shù)據(jù)發(fā)送給esp8266Wi-Fi模塊。
3.2.2 Wi-Fi網(wǎng)絡(luò)
為了進(jìn)行數(shù)據(jù)的遠(yuǎn)程傳輸,在系統(tǒng)中添加了Wi-Fi網(wǎng)關(guān),充當(dāng)ZigBee網(wǎng)絡(luò)和云服務(wù)器通訊的媒介。使用Wi-Fi的無線透?jìng)鞴δ苓M(jìn)行數(shù)據(jù)傳輸,所謂無線透?jìng)鳎褪钱?dāng)ZigBee網(wǎng)絡(luò)將數(shù)據(jù)傳輸給esp8266之后,esp8266對(duì)ZigBee網(wǎng)絡(luò)傳來的數(shù)據(jù)進(jìn)行封裝,然后通過Wi-Fi網(wǎng)絡(luò)發(fā)送出去,通過Wi-Fi網(wǎng)絡(luò)與云服務(wù)器進(jìn)行數(shù)據(jù)交互時(shí),把數(shù)據(jù)的封裝解開,還原回ZigBee網(wǎng)絡(luò)傳送的數(shù)據(jù)原樣。在這個(gè)過程中,雖然數(shù)據(jù)在Wi-Fi網(wǎng)絡(luò)傳輸?shù)倪^程中被封裝了,但是離開Wi-Fi網(wǎng)絡(luò)之后又回到了原來的結(jié)構(gòu),因此相當(dāng)于Wi-Fi網(wǎng)絡(luò)把數(shù)據(jù)原封不動(dòng)地傳輸了出去,相當(dāng)于Wi-Fi網(wǎng)絡(luò)是透明的,因此叫做無線透?jìng)鳌1鞠到y(tǒng)直接用串口助手給esp8266發(fā)送AT指令,并將其保存在esp8266的flash當(dāng)中,這樣esp8266每次上電就會(huì)自動(dòng)配置為無線透?jìng)髂J?。Wi-Fi網(wǎng)絡(luò)部分采用AT指令和C語(yǔ)言編程。
通過esp8266與云服務(wù)器進(jìn)行通信采用的C/S(Client/Server)結(jié)構(gòu),此時(shí)esp8266充當(dāng)客戶端,而云服務(wù)器充當(dāng)服務(wù)器,降低了系統(tǒng)的通訊開銷,是應(yīng)用系統(tǒng)的主流結(jié)構(gòu)。數(shù)據(jù)通過esp8266客戶端無線透?jìng)鹘o云服務(wù)器,云服務(wù)器接收esp8266客戶端發(fā)來的數(shù)據(jù)并進(jìn)行相應(yīng)的處理。
3.2.3 新浪云網(wǎng)絡(luò)平臺(tái)
在手機(jī)微信終端實(shí)現(xiàn)的所有功能都是依靠微信服務(wù)器進(jìn)行的,但是微信服務(wù)器并不能直接和Wi-Fi網(wǎng)絡(luò)或者ZigBee網(wǎng)絡(luò)進(jìn)行通訊,因此要給Wi-Fi網(wǎng)絡(luò)和微信服務(wù)器之間再引進(jìn)一個(gè)媒介,也就是云服務(wù)器,本系統(tǒng)選用的是新浪云。本系統(tǒng)中云服務(wù)器主要負(fù)責(zé)實(shí)現(xiàn)接收并存儲(chǔ)Wi-Fi網(wǎng)絡(luò)傳遞的數(shù)據(jù)、與微信服務(wù)器通訊兩部分功能。
在新浪云計(jì)算服務(wù)器申請(qǐng)一個(gè)帳號(hào),配置編程語(yǔ)言為php5.3,用SVN管理代碼。申請(qǐng)一個(gè)微信公眾平臺(tái)接口測(cè)試帳號(hào),接口信息包括URL和Token。URL是用來接收微信服務(wù)器數(shù)據(jù)的接口域名,在本系統(tǒng)就是申請(qǐng)的新浪云服務(wù)器。Token則是與云服務(wù)器進(jìn)行通信的密碼或者說信物,在云服務(wù)器部分同樣需要設(shè)置一個(gè)token,二者相同即可通信。配置完接口信息后,微信服務(wù)器會(huì)馬上給填寫的URL也就是云服務(wù)器發(fā)送一個(gè)GET請(qǐng)求,這個(gè)GET請(qǐng)求含有signature、timestamp、nonce和echostr四個(gè)參數(shù),其中signature中含有填寫的token。在云服務(wù)器中用define函數(shù)定義一個(gè)常量TOKEN,常量的值為nefujzggkzxt,這個(gè)常量的值要和配置微信服務(wù)器接口信息時(shí)設(shè)置的token值相同,只有這樣二者才能進(jìn)行通信。系統(tǒng)在新浪云中新建了一個(gè)共享型MySQL數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)名app_nefujzggkzxt,并在數(shù)據(jù)庫(kù)中建立一個(gè)表device用來存放土壤濕度值和水泵啟閉狀態(tài)。云服務(wù)器收到新的濕度值和水泵狀態(tài)后就更新一次數(shù)據(jù)庫(kù),更新的過程分為連接數(shù)據(jù)庫(kù)、選擇數(shù)據(jù)庫(kù)、更新數(shù)據(jù)庫(kù)和關(guān)閉數(shù)據(jù)庫(kù)四步。
本系統(tǒng)的實(shí)物主要是ZigBee的兩個(gè)節(jié)點(diǎn):協(xié)調(diào)器節(jié)點(diǎn)和終端節(jié)點(diǎn)。終端節(jié)點(diǎn)與屏幕、天線、YL-69土壤濕度傳感器、SRD-03VDC-SL-C繼電器相連,而繼電器和直流水泵、外接電源相連構(gòu)成執(zhí)行被控制回路。協(xié)調(diào)器節(jié)點(diǎn)和屏幕、天線、esp8266網(wǎng)關(guān)相連。總體工作原理如圖10所示。調(diào)試的時(shí)間節(jié)點(diǎn)通過SmartRF04EB仿真器和miniUSB線與PC相連,將程序下載到節(jié)點(diǎn)當(dāng)中,觀察屏幕和手機(jī)微信終端的反應(yīng)。通過IARfor8051將ZigBee網(wǎng)絡(luò)程序和Wi-Fi網(wǎng)絡(luò)的C語(yǔ)言程序下載至節(jié)點(diǎn)當(dāng)中,通過串口助手將Wi-Fi網(wǎng)絡(luò)的AT指令發(fā)送到esp8266網(wǎng)關(guān)當(dāng)中,云服務(wù)器程序從Notepad++上傳至SAE當(dāng)中。
圖10 系統(tǒng)總體工作原理
經(jīng)過測(cè)試,通過傳感器采集的土壤濕度信息可以顯示在協(xié)調(diào)器節(jié)點(diǎn)和終端節(jié)點(diǎn)的屏幕上,在土壤濕度過低時(shí)水泵打開,當(dāng)濕度升高到上限值時(shí)水泵關(guān)閉,同時(shí)在手機(jī)終端可以通過文本、語(yǔ)音和菜單按鍵的形式查詢實(shí)時(shí)濕度信息和水泵啟閉狀態(tài),如圖11所示。節(jié)點(diǎn)實(shí)物圖如圖12和圖13所示。
圖11 通過文本、語(yǔ)音和菜單按鍵查詢濕度信息和水泵啟閉狀態(tài)
圖12 終端節(jié)點(diǎn)硬件連接實(shí)物圖
(1)精準(zhǔn)灌溉控制系統(tǒng)首先在灌溉地點(diǎn)采用了ZigBee無線傳感技術(shù),保證了近距離、低功耗、低成本的雙向無線通訊
(2)通過對(duì)土壤濕度的實(shí)時(shí)采集,編寫執(zhí)行模塊自動(dòng)控制的程序,調(diào)節(jié)土壤濕度,將土壤含水量控制在合理的區(qū)間內(nèi)。
(3)用戶可以通過手機(jī)微信服務(wù)器訪問云服務(wù)器數(shù)據(jù)庫(kù),查看實(shí)時(shí)的土壤濕度和灌溉信息,實(shí)現(xiàn)了自動(dòng)調(diào)節(jié)控制和實(shí)時(shí)遠(yuǎn)距離監(jiān)測(cè),相較于傳統(tǒng)定時(shí)灌溉系統(tǒng)使用可靠性更高,利于維護(hù)。
(4)控制系統(tǒng)結(jié)構(gòu)緊湊,體積小,使用戶在水肥一體化灌溉上有更大的改進(jìn)空間,大大節(jié)約了水資源。
(5)寫云服務(wù)器程序,使其能夠接收 Wi-Fi 網(wǎng)絡(luò)傳輸來的數(shù)據(jù)并將其存儲(chǔ)在數(shù)據(jù)庫(kù)當(dāng)中,當(dāng)用戶通過微信服務(wù)器發(fā)來數(shù)據(jù)請(qǐng)求時(shí),從數(shù)據(jù)庫(kù)中取出數(shù)據(jù)并將其發(fā)送給用戶。
精準(zhǔn)灌溉系統(tǒng)可以通過采用高精度濕度傳感器,依據(jù)土壤墑情和作物特點(diǎn)實(shí)施精準(zhǔn)灌溉,不僅能有效解決農(nóng)業(yè)灌溉用水使用率低的問題,并且還能為大棚溫室作物或者露天作物提供良好的生存環(huán)境。充分發(fā)揮現(xiàn)有節(jié)水設(shè)備的作用,優(yōu)化調(diào)度,可配合水肥一體化控制系統(tǒng)提高效益,提高維護(hù)水平。同時(shí)應(yīng)用物聯(lián)網(wǎng)主流通訊技術(shù)實(shí)現(xiàn)了對(duì)土壤以及設(shè)備使用情況的遠(yuǎn)距離實(shí)時(shí)監(jiān)測(cè),節(jié)約了人力和財(cái)力。