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