(天津市武清區(qū)職業(yè)中等教育學(xué)校,天津 301709)
隨著我國(guó)社會(huì)經(jīng)濟(jì)的快速發(fā)展與科學(xué)技術(shù)的全面進(jìn)步,現(xiàn)代農(nóng)業(yè)正在向精準(zhǔn)農(nóng)業(yè)方向發(fā)展。我國(guó)雖然是一個(gè)農(nóng)業(yè)大國(guó),但是相對(duì)發(fā)達(dá)國(guó)家來(lái)說(shuō),我國(guó)農(nóng)業(yè)生產(chǎn)的整體自動(dòng)化水平與生產(chǎn)方式還處于較低階段。目前,農(nóng)業(yè)生產(chǎn)已經(jīng)引起并受到了國(guó)家的高度重視,“智能農(nóng)業(yè)”作為一種提高農(nóng)業(yè)生產(chǎn)信息化水平的方式,受到了國(guó)家的極大關(guān)注。物聯(lián)網(wǎng)(Internet of things,IOT)是一種集傳感技術(shù)、射頻技術(shù)(RFID)、網(wǎng)絡(luò)傳輸?shù)燃夹g(shù)于一體的綜合性技術(shù)體系,能夠?qū)ΜF(xiàn)實(shí)世界進(jìn)行信息采集、處理和傳輸,實(shí)現(xiàn)物體“智能化”。獲取準(zhǔn)確、實(shí)時(shí)的作物生長(zhǎng)環(huán)境信息并加以信息處理與分析,對(duì)現(xiàn)代農(nóng)業(yè)生產(chǎn)管理、提高農(nóng)業(yè)生產(chǎn)率有重要的意義。
基于GPRS與Yeelink網(wǎng)絡(luò)平臺(tái)的作物生長(zhǎng)監(jiān)控系統(tǒng)。由主控節(jié)點(diǎn)以及信息采集節(jié)點(diǎn)組成,主控節(jié)點(diǎn)以ARM處理器STM32為核心組成主控系統(tǒng),搭配GPRS模塊,完成數(shù)據(jù)信息的上傳;信息采集節(jié)點(diǎn)采用Arduino控制器,通過(guò)配置溫濕度傳感器、CO2濃度傳感器、光照度等傳感器以及ZigBee模塊,完成自然環(huán)境的溫度、濕度和光照等信息的采集與傳輸,通過(guò)GPRS模塊借助互聯(lián)網(wǎng)發(fā)送到Y(jié)eelink平臺(tái),以便在PC機(jī)上實(shí)現(xiàn)遠(yuǎn)距離的查看信息和調(diào)用。同時(shí)記錄下的數(shù)據(jù)建立一個(gè)庫(kù)將作物的生長(zhǎng)情況錄制下來(lái),這樣就可以對(duì)作物的育苗、生長(zhǎng)等研究進(jìn)行統(tǒng)計(jì)和分析。也可在互聯(lián)網(wǎng)上將提前設(shè)定好的參數(shù)和控制命令通過(guò)GPRS進(jìn)行操作,這也保證了對(duì)作物生長(zhǎng)的無(wú)人干擾。在環(huán)境變化的同時(shí)自行的進(jìn)行調(diào)節(jié)。通過(guò)對(duì)監(jiān)控系統(tǒng)的功能與結(jié)構(gòu)的分析,確定了基于GPRS與Yeelink網(wǎng)絡(luò)平臺(tái)的作物生長(zhǎng)監(jiān)控系統(tǒng)的系統(tǒng)總體方案。主要包括主控單元模塊、傳感器模塊、ZigBee無(wú)線傳輸模塊、GPRS網(wǎng)絡(luò)傳輸模塊以及電源等模塊的電路設(shè)計(jì),硬件系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
主機(jī)單元采用芯片為STM32F103VBT6,其工作電壓為3.3V,外部采用8M無(wú)源石英晶體震蕩器為高速主時(shí)鐘震蕩器,采用32768手表晶體震動(dòng)器為低速時(shí)鐘。
作物生長(zhǎng)監(jiān)控系統(tǒng)環(huán)境參數(shù)采集從機(jī)單元采用Arduino控制器,控制器采用的處理器核心是ATmega328,ATmega328處理器包含14路的I/O端口,其中包括6路作為AD轉(zhuǎn)換器的模擬輸入端口,6路可作為PWM輸出的數(shù)字輸出端口;ATmega328處理器采用16MHz的晶振頻率,運(yùn)行速度相比普通AVR單片機(jī)有較大提高;同時(shí)ATmega328還包含1個(gè)方向USB接口,1個(gè)電源輸入接口,1個(gè)ICSP接口以及一個(gè)復(fù)位按鈕。
紅外測(cè)溫傳感器采用非接觸式類型 TN901模塊,數(shù)據(jù)接口采用串行外設(shè)接口SPI,將Arduino控制器配置為從機(jī),這與實(shí)際意義的從機(jī)有所不同,只是在SPI同步串行通信時(shí)是作為從機(jī)接收數(shù)據(jù),實(shí)際應(yīng)用中還是通過(guò)處理器拉低TNR紅外測(cè)溫傳感器的測(cè)溫啟動(dòng)信號(hào)引腳A,從而TNR紅外測(cè)溫傳感器通過(guò)SPI同步串行的方式給單片機(jī)發(fā)送測(cè)量溫度數(shù)據(jù),這里采用Arduino控制器的SPI接口,測(cè)溫啟動(dòng)信號(hào)引腳接Arduino控制器的PB1接口。
溫濕度傳感器選用的是含有校準(zhǔn)數(shù)字信號(hào)輸出的數(shù)字溫濕度傳感器芯片SHT11,內(nèi)含14位 A/D 轉(zhuǎn)換器并采用準(zhǔn)I2C接口傳輸數(shù)據(jù),這里采用Arduino控制器自帶的I2C通信接口。
二氧化碳傳感器選用對(duì)二氧化碳具有良好靈敏性的NDIR紅外型CO2傳感器COZIR-A,該傳感器自帶溫、濕度補(bǔ)償功能,有效提高了檢測(cè)精度;數(shù)據(jù)通信接口采用串口通信方式,方便各種控制器的連接。本文選擇的Arduino控制器可以通過(guò)串口直接與COZIR-A相連而獲取二氧化碳數(shù)據(jù)。
模擬信號(hào)采集模塊輸出的數(shù)據(jù)信號(hào)為模擬信號(hào),需要經(jīng)過(guò)模數(shù)轉(zhuǎn)換(A/D),將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再進(jìn)行數(shù)據(jù)的處理。本作物生長(zhǎng)監(jiān)控系統(tǒng)環(huán)境參數(shù)采集從機(jī)單元中的模擬傳感器包括光照、土壤溫濕度傳感器。獲取這些傳感器的數(shù)據(jù)需要通過(guò)Arduino控制器自帶的A/D轉(zhuǎn)換單元將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再經(jīng)過(guò)數(shù)據(jù)處理,得到最終的光照及土壤溫濕度信息。
在作物生長(zhǎng)研究中負(fù)責(zé)與互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)交互的為Yeelink GPRS Connected是一款RS232/RS485/TTL 接口的GPRS模塊,只需通過(guò)3種接口輸入簡(jiǎn)單的命令即可將數(shù)據(jù)上傳到Y(jié)eelink平臺(tái)或者下載Yeelink歷史數(shù)據(jù),并提供添加設(shè)備、刪除設(shè)備、添加傳感器、刪除傳感器等全部API命令。Yeelink GPRS 模塊擁有寬電壓范圍的電源管理芯片(電源接口工作電壓范圍 5V-12V)。Yeelink GPRS模塊提供的RS-232 9針接口還可以直接連在電腦上,用上位機(jī)控制模塊,為二次開發(fā)提供便利。GPRS模塊的主要功能是將現(xiàn)場(chǎng)采集到的作物生長(zhǎng)環(huán)境數(shù)據(jù)通過(guò)移動(dòng)通信網(wǎng)上傳到互聯(lián)網(wǎng)網(wǎng)絡(luò)平臺(tái)或?qū)⒔邮盏降倪h(yuǎn)端監(jiān)控中心發(fā)送的數(shù)據(jù)或命令進(jìn)行相應(yīng)的協(xié)議處理后,通過(guò)不同的串行接口方式(RS232、RS485、TTL等)傳遞給Arduino控制器實(shí)現(xiàn)整體控制功能。
作物生長(zhǎng)監(jiān)控系統(tǒng)包括硬件系統(tǒng)與軟件系統(tǒng),兩者缺一不可,軟件系統(tǒng)建立在硬件系統(tǒng)基礎(chǔ)之上,兩者結(jié)合在一起,共同完成相應(yīng)的功能。本設(shè)計(jì)中的軟件系統(tǒng)根據(jù)硬件系統(tǒng)的配置采用模塊化的設(shè)計(jì)思想,整個(gè)軟件系統(tǒng)主要包括主機(jī)單元、從機(jī)單元應(yīng)用程序以及上位機(jī)軟件的設(shè)計(jì),其整體結(jié)構(gòu)圖如圖2所示。
圖2 軟件系統(tǒng)整體結(jié)構(gòu)圖
主機(jī)單元的初始化程序首先是要將處理器自身初始化,在之后要對(duì)GPRS進(jìn)行初始化配置,成功完成后再將GPRS連網(wǎng),當(dāng)網(wǎng)絡(luò)連接成功之后便可以向?qū)?yīng)從機(jī)單元發(fā)送地址進(jìn)行呼喚,呼喚完成后自動(dòng)進(jìn)入接收模式,等待對(duì)應(yīng)從機(jī)上傳的數(shù)據(jù)包,在接完數(shù)據(jù)包后進(jìn)行解壓處理,將處理分析所得結(jié)果用GPRS模塊向Yeelink平臺(tái)無(wú)線上傳數(shù)據(jù)。主機(jī)單元系統(tǒng)主程序流程圖如圖3所示。
圖3 主機(jī)單元主程序流程圖
圖4 從機(jī)單元主程序流程圖
從機(jī)單元的主要功能是完成作物生長(zhǎng)環(huán)境參數(shù)的采集與傳輸,因此主程序首先是要將處理器自身初始化,然后響應(yīng)主機(jī)信號(hào),收到信號(hào)后按照標(biāo)志位去執(zhí)行相應(yīng)的子程序,從機(jī)單元系統(tǒng)主程序流程圖如圖4所示。
本作物生長(zhǎng)監(jiān)控系統(tǒng)中采用的數(shù)字傳感器包括紅外測(cè)溫傳感器、溫濕度傳感器、二氧化碳傳感器。紅外測(cè)溫傳感器的數(shù)據(jù)輸出采用的接口為SPI接口,利用串行協(xié)議進(jìn)行數(shù)據(jù)的數(shù)據(jù)。因?yàn)锳rduino控制器自帶SPI通信接口,因此可以很方便的進(jìn)行測(cè)溫程序的設(shè)計(jì),將傳感器內(nèi)部寄存器中的數(shù)據(jù)讀取出來(lái)。當(dāng)需要進(jìn)行紅外測(cè)溫時(shí),只需將Arduino控制器的SPI選擇引腳拉低即可。當(dāng)啟動(dòng)測(cè)溫后,Arduino控制器會(huì)接收到5個(gè)字節(jié)的溫度數(shù)據(jù),其中:Item為0x4c表示測(cè)量目標(biāo)溫度;MSB為接收溫度的高八位數(shù)據(jù);LSB為接收溫度的低八位數(shù)據(jù);Sum為驗(yàn)證碼,接收正確時(shí)Sum=Item+MSB+LSB;CR為結(jié)束標(biāo)志,當(dāng)CR為0x0dH時(shí)表示完成一次溫度數(shù)據(jù)接收。當(dāng)數(shù)據(jù)接收完成之后,需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)度的變換才能夠得到正確的溫度數(shù)值,轉(zhuǎn)換公式如公式(1)所示:
其中,Temp代表采集到的十進(jìn)制溫度值,而測(cè)量結(jié)果為16進(jìn)制,把它直接轉(zhuǎn)換為十進(jìn)制即可。
溫濕度傳感器SHT11的數(shù)據(jù)通信接口為二線制數(shù)字串口,通信協(xié)議由芯片生產(chǎn)商仔細(xì)定義。獲取SHT11傳感器的溫濕度信息需要控制器產(chǎn)生與之相匹配的工作時(shí)序來(lái)完成。本系統(tǒng)中,Arduino處理器的I/O口PC4、PC5分別與SHT11傳感器的SCL、SDA接口相連,依據(jù)SHT11的工作時(shí)序,Arduino處理器模擬產(chǎn)生對(duì)應(yīng)的數(shù)據(jù)通信協(xié)議完成數(shù)據(jù)采集。為了提高數(shù)據(jù)的準(zhǔn)確性,通常需要對(duì)數(shù)據(jù)進(jìn)行補(bǔ)償轉(zhuǎn)換,溫度轉(zhuǎn)換公式為:
Temperature=0.01*SOT-39.60其中SOT為傳感器采集的溫度值;
濕度傳感器的輸出非線性補(bǔ)償公式:
RH_linear=0.0405*SO_RH-2.8*(SO_RH)2-4.0
相對(duì)濕度對(duì)于溫度依賴性的補(bǔ)償公式:
RH_true=(T-25.0)*(0.01*0.00008*SO_RH)+RH_Linear
其中SO_RH為傳感器輸出的濕度值。
二氧化碳濃度傳感器與微控制器的連接采用數(shù)字串口通信接口,因此只需利用Arduino的串口即可完成二氧化碳濃度的數(shù)據(jù)接收。
在應(yīng)用的Yeelink平臺(tái)當(dāng)中,用戶不需要對(duì)網(wǎng)頁(yè)IP地址進(jìn)行獲取,所以也不會(huì)存在搜索、設(shè)置IP地址,只需要獲取該網(wǎng)絡(luò)平臺(tái)用戶自身的鑰匙KEY便可以。所以在GPRS 遠(yuǎn)程通信模塊和用戶網(wǎng)絡(luò)鑰匙KEY配置一致便能夠?qū)崿F(xiàn)成功連接,形成一條數(shù)據(jù)傳輸無(wú)線鏈路,且用戶可以不受地點(diǎn)、不受服務(wù)器IP地址的影響隨時(shí)隨地對(duì)用戶自己的上位機(jī)系統(tǒng)進(jìn)行登錄。所有的配置工作完成后,GPRS設(shè)備通過(guò)移動(dòng)通信網(wǎng)絡(luò)接入Internet網(wǎng)絡(luò),完成與上位機(jī)系統(tǒng)的數(shù)據(jù)通信。
通過(guò)GPRS的無(wú)線網(wǎng)絡(luò)數(shù)據(jù)傳輸后,數(shù)據(jù)將自動(dòng)存儲(chǔ)到物聯(lián)網(wǎng)公共平臺(tái)Yeelink當(dāng)中,在Yeelink中對(duì)數(shù)據(jù)曲線的繪制記錄,用戶可以在任意有網(wǎng)絡(luò)的地方更方便地對(duì)其查看、分析。
上位機(jī)軟件設(shè)計(jì)采用國(guó)內(nèi)一款提供免費(fèi)接入數(shù)據(jù)的互聯(lián)網(wǎng)網(wǎng)絡(luò)服務(wù)平臺(tái)Yeelink。Yeelink網(wǎng)絡(luò)平臺(tái)用于給普通用戶提供一個(gè)數(shù)據(jù)輸入輸出的網(wǎng)站平臺(tái),用戶在網(wǎng)站上可以接入采集到的傳感器數(shù)據(jù),通過(guò)實(shí)時(shí)曲線和數(shù)字將數(shù)據(jù)顯示出來(lái);同時(shí)在網(wǎng)站上可以通過(guò)按鈕、對(duì)話框等實(shí)現(xiàn)控制指令的下發(fā),用于遠(yuǎn)程操作設(shè)備。該網(wǎng)絡(luò)平臺(tái)借助于各種通信網(wǎng)絡(luò),只要能夠接入網(wǎng)絡(luò),就能夠隨時(shí)隨地的查看我們自己網(wǎng)站上的傳感器數(shù)據(jù),同時(shí)控制遠(yuǎn)程開關(guān)。本作物生長(zhǎng)環(huán)境監(jiān)控系統(tǒng)的主機(jī)單元配置有GPRS模塊,通過(guò)GPRS模塊借助移動(dòng)通信網(wǎng)絡(luò)就可以接入到Y(jié)eelink網(wǎng)絡(luò)平臺(tái),然后將傳感器采集到的數(shù)據(jù)進(jìn)行上傳并在網(wǎng)站上顯示出來(lái)。使用Yeelink網(wǎng)絡(luò)平臺(tái)首先需要注冊(cè)個(gè)人賬號(hào),創(chuàng)建屬于自己的個(gè)人網(wǎng)站,然后添加相應(yīng)的傳感器設(shè)備,獲取唯一的設(shè)備編號(hào)(Api-Key),這樣使用任意的瀏覽器打開網(wǎng)站就能夠看到傳感器采集到的數(shù)據(jù)了。
主機(jī)單元為了能夠向Yeelink平臺(tái)上傳數(shù)據(jù)需要在程序中,將主機(jī)單元本身設(shè)置為WEB服務(wù)器,此時(shí)需要?jiǎng)?chuàng)建服務(wù)器對(duì)象,同時(shí)將網(wǎng)絡(luò)通信模塊的IP地址設(shè)置成合適的地址,主要程序如下所示:
#include
#include
Byte Internet_mac [0x7E,0x5D,0xAE,0xEF,0xFF,0x2A]
Server_IPAddress_ip(192.168.1.124)
該系統(tǒng)選擇在學(xué)校實(shí)驗(yàn)室進(jìn)行調(diào)試并成功,正常運(yùn)行一定的時(shí)間,并在一定時(shí)間內(nèi)實(shí)時(shí)記錄溫度、濕度、二氧化碳濃度、光照強(qiáng)度等數(shù)據(jù)。表1為一個(gè)作物生長(zhǎng)柜的部分實(shí)驗(yàn)數(shù)據(jù)。
表1 物生長(zhǎng)柜的部分實(shí)測(cè)實(shí)驗(yàn)數(shù)據(jù)
本系統(tǒng)通過(guò)設(shè)置多個(gè)信息采集節(jié)點(diǎn),同時(shí)作用于監(jiān)測(cè)農(nóng)作物生長(zhǎng)環(huán)境中的空氣溫濕度、光照度、二氧化碳濃度、土壤溫度、土壤濕度等參數(shù),從而達(dá)到通過(guò)各類各類傳感器技術(shù)、GPRS無(wú)線網(wǎng)絡(luò)通信技術(shù)的方法,建立遠(yuǎn)程的作物環(huán)境參數(shù)檢測(cè)系統(tǒng),利用物聯(lián)網(wǎng)公共平臺(tái),對(duì)參數(shù)繪制曲線圖,以此來(lái)研究作物生長(zhǎng)所處的環(huán)境對(duì)作物生長(zhǎng)的影響,并建立農(nóng)業(yè)研究數(shù)據(jù)基礎(chǔ)的目的。本文將作物生長(zhǎng)環(huán)境的模擬硬件設(shè)計(jì)方面和軟件人機(jī)交互界面設(shè)計(jì)方面結(jié)合起來(lái),并進(jìn)行了系統(tǒng)測(cè)試與試驗(yàn)研究。經(jīng)過(guò)大量實(shí)驗(yàn)證明系統(tǒng)測(cè)量的數(shù)據(jù)較穩(wěn)定,Yeelink平臺(tái)中數(shù)據(jù)繪制的曲線準(zhǔn)確、直觀,為用戶提供了大量數(shù)據(jù)支撐。