柯春艷,安思
(新疆農(nóng)業(yè)大學(xué)計(jì)算機(jī)與信息工程學(xué)院,烏魯木齊 830000)
農(nóng)田信息監(jiān)測(cè)系統(tǒng)主要監(jiān)測(cè)對(duì)象包括土壤水分、含鹽度、酸堿度、環(huán)境溫濕度和光照度等信息,在農(nóng)業(yè)精細(xì)化管理中發(fā)揮著重要作用。農(nóng)田信息監(jiān)測(cè)的主要任務(wù)是及時(shí)、準(zhǔn)確、全面地掌握作物生長(zhǎng)環(huán)境狀況,目的是通過(guò)監(jiān)測(cè)和分析數(shù)據(jù)及其變化規(guī)律,通過(guò)精準(zhǔn)管理提高農(nóng)作物產(chǎn)量和質(zhì)量、提高生產(chǎn)效率和解放勞動(dòng)力、減少環(huán)境消耗、推進(jìn)基于大數(shù)據(jù)的農(nóng)業(yè)智能決策管理應(yīng)用等。傳統(tǒng)的人工觀測(cè)或者儀器監(jiān)測(cè)的方式成本高效率低且工作繁瑣,無(wú)法適應(yīng)農(nóng)業(yè)信息化的發(fā)展需要,為此,筆者開發(fā)一種基于RF無(wú)線通信技術(shù)的農(nóng)田信息實(shí)時(shí)監(jiān)測(cè)系統(tǒng),該系統(tǒng)除了能將實(shí)時(shí)監(jiān)測(cè)到的土壤和環(huán)境數(shù)據(jù)上傳到物聯(lián)網(wǎng)平臺(tái),實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程監(jiān)控外,長(zhǎng)遠(yuǎn)來(lái)看還能為基于大數(shù)據(jù)的農(nóng)業(yè)智能決策提供數(shù)據(jù)支撐。
系統(tǒng)由數(shù)據(jù)監(jiān)測(cè)中心、匯聚節(jié)點(diǎn)和采集節(jié)點(diǎn)三部分組成,采集節(jié)點(diǎn)將土壤和環(huán)境數(shù)據(jù)通過(guò)RF無(wú)線通信模塊發(fā)送到匯聚節(jié)點(diǎn),再由匯聚節(jié)點(diǎn)發(fā)送到基于開放云平臺(tái)的數(shù)據(jù)監(jiān)測(cè)中心。
采集節(jié)點(diǎn)以Arduino UNO作為主控制器,包括nRF2401無(wú)線數(shù)據(jù)收發(fā)模塊,溫濕度檢測(cè)模塊、含鹽度和電導(dǎo)率檢測(cè)模塊以及光照強(qiáng)度檢測(cè)模塊。匯聚節(jié)點(diǎn)也以Arduino UNO作為主控制器,包括Wi-Fi和nRF2401無(wú)線數(shù)據(jù)收發(fā)模塊。數(shù)據(jù)監(jiān)測(cè)中心依托中國(guó)移動(dòng)OneNET物聯(lián)網(wǎng)開放平臺(tái),匯聚節(jié)點(diǎn)采用HTTP協(xié)議接入該平臺(tái),在平臺(tái)上實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和可視化。
圖1
系統(tǒng)結(jié)構(gòu)如圖1所示。采集節(jié)點(diǎn)和匯聚節(jié)點(diǎn)都要進(jìn)行數(shù)據(jù)處理,采集節(jié)點(diǎn)要將從各檢測(cè)模塊接收的數(shù)據(jù)統(tǒng)一轉(zhuǎn)換成一種進(jìn)制再進(jìn)行發(fā)送,匯聚節(jié)點(diǎn)要將來(lái)自采集節(jié)點(diǎn)的數(shù)據(jù)按照HTTP協(xié)議進(jìn)行封裝處理后再發(fā)送到云平臺(tái)。
系統(tǒng)硬件包含兩個(gè)組成部分,分別是作為數(shù)據(jù)接收主機(jī)的匯聚節(jié)點(diǎn)和作為數(shù)據(jù)接收從機(jī)的采集節(jié)點(diǎn)。系統(tǒng)硬件結(jié)構(gòu)圖如圖2所示。
圖2 系統(tǒng)硬件結(jié)構(gòu)框圖
綜合考慮價(jià)格、功耗、通用性、開發(fā)周期等因素后,系統(tǒng)采用Arduino UNO作為采集節(jié)點(diǎn)和匯聚節(jié)點(diǎn)的主控制器。Arduino具有豐富的數(shù)字I/O接口和AD通道,接口資源和精度都滿足本系統(tǒng)各種檢測(cè)模塊的需求,此外還具有SPI接口和UART接口,可與本系統(tǒng)選用的RF無(wú)線模塊和Wi-Fi無(wú)線模塊進(jìn)行通信。
采集節(jié)點(diǎn)除Arduino控制板外,集成溫度傳感器DS18B20、數(shù)字式光照傳感器BH1750、基于RS-485通信的高精度土壤溫濕度以及電導(dǎo)率傳感器、MGV3810電壓轉(zhuǎn)換模塊和nRF2401數(shù)據(jù)發(fā)射模塊。
(1)溫度檢測(cè)模塊的連接
溫度檢測(cè)模塊采用常用的數(shù)字溫度傳感器DS18B20,該模塊有三個(gè)端子,分別是 I/O、GND和VDD,其中VDD接3-5.5V電壓。DS18B20有兩個(gè)主要特點(diǎn),第一是接線方便,不需要外圍元件,只需要一條通信接口,第二是封裝方便,進(jìn)行不同的封裝后可適用于多種場(chǎng)合。主控板采用數(shù)字接口2與DS18B20進(jìn)行通信,需要注意的是,I/O口必須經(jīng)過(guò)10K上拉電阻接到VDD,主控板才能讀到數(shù)據(jù)。
(2)光照檢測(cè)模塊的連接
光照檢測(cè)模塊用于檢測(cè)作物生長(zhǎng)環(huán)境的光照強(qiáng)度,系統(tǒng)采用數(shù)字式光照傳感器BH1750,它內(nèi)置一個(gè)16位的AD,可直接得到光照數(shù)字值。該模塊采用I2C接口傳輸光照數(shù)據(jù),有四個(gè)接口,分別是SDL、SCL、VCC和GND,其中VCC接3-5V電壓。BH1750的特點(diǎn)是功耗低、誤差小。主控板采用模擬接口A4和A5與BH1750進(jìn)行通信,A4和A5管腳對(duì)應(yīng)著UNO板上I2C總線的SDA信號(hào)線和SCL時(shí)鐘線。
(3)電導(dǎo)率檢測(cè)模塊的連接
采集節(jié)點(diǎn)的土壤檢測(cè)模塊信號(hào)線長(zhǎng)度約1-3米,UART串口通信的可靠性在這種距離下無(wú)法得到保障,RS-485接口為差模信號(hào)傳輸,長(zhǎng)距離通信時(shí)具有更好的抗干擾性,因此系統(tǒng)采用RS-485式土壤EC水分溫度三合一傳感器,該傳感器可同時(shí)測(cè)量土壤溫度、水分以及土壤總鹽量和電導(dǎo)率,精度高,響應(yīng)快,輸出穩(wěn)定,可長(zhǎng)期埋入土壤中,耐電解,耐腐蝕。
主控板Arduino是TTL電平,為實(shí)現(xiàn)主控板與本模塊的數(shù)據(jù)通信,需要一個(gè)RS-485-TTL轉(zhuǎn)換模塊進(jìn)行電平的轉(zhuǎn)變。主控板采用硬件串口RX/TX與轉(zhuǎn)換模塊的TTL串口連接,轉(zhuǎn)換模塊的RS-485差分信號(hào)與電導(dǎo)率檢測(cè)模塊連接。
(4)電源轉(zhuǎn)換模塊
采集節(jié)點(diǎn)各模塊需要不同的電壓,系統(tǒng)使用MGV3810電壓轉(zhuǎn)換模塊進(jìn)行電壓轉(zhuǎn)換。MGV3810模塊的輸入電壓為12V,可得到3.3V、5.0V和12V三種輸出電壓,誤差小于0.05V。系統(tǒng)中需要一路12V供電導(dǎo)率檢測(cè)模塊使用,一路5V供Arduino主控板使用,一路3.3V供nRF2401使用,nRF2401也可由Arduino板載的3.3V電壓輸出口供電,BH1750模塊和DS18B20模塊由Arduino板載的5V電壓輸出口供電。采集節(jié)點(diǎn)的nRF2401模塊與匯聚節(jié)點(diǎn)的nRF2401模塊硬件設(shè)計(jì)類似,將在下一小節(jié)中進(jìn)行介紹。
匯聚節(jié)點(diǎn)的功能是通過(guò)nRF2401模塊接收采集節(jié)點(diǎn)的數(shù)據(jù),經(jīng)過(guò)封裝之后通過(guò)Wi-Fi模塊將數(shù)據(jù)發(fā)到云平臺(tái),匯聚節(jié)點(diǎn)包括主控板、nRF2401模塊和Wi-Fi模塊三個(gè)組成部分。
(1)nRF2401通信模塊與主控板的連接
采集節(jié)點(diǎn)和匯聚節(jié)點(diǎn)之間采用nRF2401進(jìn)行通信,nRF2401是Nordic公司生產(chǎn)的2.4G無(wú)線射頻收發(fā)芯片,芯片內(nèi)置頻率合成器、功放、晶振和調(diào)制器等模塊,該芯片有兩個(gè)主要特點(diǎn),第一是沒有復(fù)雜的通信協(xié)議,第二是低功耗低成本,采用板載天線,空曠區(qū)實(shí)測(cè)通信距離達(dá)200米以上。nRF2401有5個(gè)信號(hào)線,分別是CE模式控制線、CSN片選線,與Arduino的數(shù)字引腳D9和D10連接,以及3個(gè)SPI的接口數(shù)據(jù)線SCK、MOSI和MISO,與Arduino UNO的SPI接口引腳D11、D12和D13連接。
(2)Wi-Fi通信模塊與主控板的連接
ESP8266是無(wú)線Wi-Fi模塊,具有集成度高、尺寸小巧、低功耗的特點(diǎn),支持IEEE802.11 b/g/n和完整的TCP/IP協(xié)議棧,帶有UART/I2C/SPI接口,非常適合用來(lái)進(jìn)行數(shù)據(jù)傳輸和物聯(lián)網(wǎng)應(yīng)用等二次開發(fā)。本設(shè)計(jì)ESP8266使用串口和主控板進(jìn)行通信。Wi-Fi模塊、nRF2401模塊和主控板的連接如圖3所示。
圖3 nRF2401模塊和主控板接口
系統(tǒng)程序設(shè)計(jì)主要包括采集節(jié)點(diǎn)的程序設(shè)計(jì)和匯聚節(jié)點(diǎn)的程序設(shè)計(jì)兩部分。
采集節(jié)點(diǎn)的程序流程圖如圖4所示,上電后首先對(duì)nRF2401和各傳感器模塊進(jìn)行初始化,BH1750模塊初始化主要完成的是I2C地址和解析度設(shè)置,本系統(tǒng)將解析度設(shè)置為H-resolution mode,精度為1LUX;DS18B20初始化配置OneWire通信端口;RS-485接口模塊初始化內(nèi)容為差分信號(hào)線配置;nRF2401初始化主要內(nèi)容是標(biāo)記本節(jié)點(diǎn)地址、定義傳輸數(shù)據(jù)長(zhǎng)度、定義信道號(hào)和nRF2401發(fā)送模式設(shè)置。nRF2401模塊有256個(gè)信道,在使用時(shí)為避免信道間干擾,應(yīng)盡量避免使用連續(xù)信道傳輸數(shù)據(jù),初始化結(jié)束后,系統(tǒng)首先需要判斷是否接到發(fā)數(shù)據(jù)指令,該指令由系統(tǒng)的時(shí)鐘管理程序周期性產(chǎn)生。為降低系統(tǒng)功耗,設(shè)定每30分鐘采集一次傳感器數(shù)據(jù)存入片內(nèi)EEPOM,接收到發(fā)送數(shù)據(jù)指令后調(diào)用nRF2401模塊的數(shù)據(jù)發(fā)送函數(shù)Mirf.send(),將EEPROM存儲(chǔ)的數(shù)據(jù)發(fā)給匯聚節(jié)點(diǎn)。
圖4 采集節(jié)點(diǎn)程序流程圖
匯聚節(jié)點(diǎn)的ESP8266初始化配置為STA模式。使用ESP8266需要注意兩個(gè)問題,接入物聯(lián)網(wǎng)平臺(tái)前先對(duì)申請(qǐng)好的Key進(jìn)行驗(yàn)證,發(fā)送數(shù)據(jù)前要先計(jì)算發(fā)送數(shù)據(jù)總的字節(jié)數(shù),否則發(fā)送失敗。
OneNet平臺(tái)提供EDP、MQTT和HTTP等幾種常用協(xié)議傳輸方案,本系統(tǒng)對(duì)實(shí)時(shí)性要求不高且不需要建立長(zhǎng)連接,相對(duì)于EDP協(xié)議和MQTT協(xié)議,HTTP協(xié)議實(shí)現(xiàn)簡(jiǎn)單,所以選擇HTTP協(xié)議發(fā)送數(shù)據(jù)。系統(tǒng)初始化結(jié)束后,通過(guò)接收數(shù)據(jù)標(biāo)志位判斷是否開始接收數(shù)據(jù),若為是,則開始調(diào)用nRF2401數(shù)據(jù)接收函數(shù)Mirf.getData()接收來(lái)自采集節(jié)點(diǎn)的數(shù)據(jù)并將寫入片內(nèi)EEPROM。數(shù)據(jù)全部接收完后調(diào)用ESP8266模塊的數(shù)據(jù)發(fā)送函數(shù)sendmessage(),將從EEPROM讀取的數(shù)據(jù)按照HTTP協(xié)議發(fā)送到物聯(lián)網(wǎng)平臺(tái)。
測(cè)試系統(tǒng)由3個(gè)采集節(jié)點(diǎn)和1個(gè)匯聚節(jié)點(diǎn)組成,圖5是物聯(lián)網(wǎng)平臺(tái)觀測(cè)其中一個(gè)采集節(jié)點(diǎn)溫度和濕度數(shù)據(jù)的效果圖,實(shí)驗(yàn)結(jié)果驗(yàn)證了農(nóng)田信息監(jiān)測(cè)系統(tǒng)能夠?qū)崿F(xiàn)土壤含鹽度、電導(dǎo)率和濕度,以及環(huán)境光照度和溫度等數(shù)據(jù)的定時(shí)采集和傳輸。
圖5 數(shù)據(jù)采集效果
本文設(shè)計(jì)了一種基于nRF2401的農(nóng)田信息監(jiān)測(cè)系統(tǒng),具有體積小、功耗低、傳輸距離遠(yuǎn)的特點(diǎn),能夠?qū)崿F(xiàn)數(shù)據(jù)遠(yuǎn)程監(jiān)測(cè),滿足實(shí)際應(yīng)用需求,用戶可以通過(guò)連接互聯(lián)網(wǎng)一目了然地查看各監(jiān)測(cè)點(diǎn)的土壤和環(huán)境情況,實(shí)現(xiàn)農(nóng)業(yè)信息化管理。該系統(tǒng)具有良好的擴(kuò)展性,同時(shí)適用于水環(huán)境監(jiān)測(cè)、生態(tài)環(huán)境監(jiān)測(cè)等其他環(huán)境監(jiān)測(cè)領(lǐng)域的應(yīng)用。