摘要:設計了一個智能農業環境監測系統,系統通過Internet和GPRS網絡,遠程實時監測農作物種植地傳感器采集的數據,嵌入式Linux終端接收Zigbee網絡各節點的環境數據,將數據存入到數據庫中,同時可以發送給遠程監控中心。遠程監控中心將接收到的數據存入數據庫,并且進行數據分析,實現遠程調控,優化作物生長環境。
關鍵詞:環境因子;嵌入式;數據庫;智能
中圖分類號:TP277 文獻標識碼:A 文章編號:0439-8114(2016)15-4006-04
DOI:10.14088/j.cnki.issn0439-8114.2016.15.052
Abstract: An intelligent monitoring system of agricultural environment was designed. The system monitored the collected data from greenhouse sensors remotely and real-timely by the Internet and GPRS network. Meteorological data of Zigbee network nodes were received by embedded Linux terminal, the data were deposited into the database, and can be sent to the remote monitoring center. The received data were stored in the database and analyzed by remote monitoring center, so as to realize the remote control, optimize the crop growth environment.
Key words: environmental factor; embedded; database; intelligent
中國作為世界第一農業大國,但大部分地區都存在山多土地少、土質不好、土壤資源匱乏、氣候條件復雜多變等劣勢,這些劣勢對農作物的生長極其不利。隨著社會的進步,從事農業生產的人員日趨減少,而社會對農產品的需求卻日益增長,原有農作種植方式已經不能滿足社會發展的需要,必須對傳統的農業進行技術更新和改造。為此,本研究設計開發出一種適合中國農業現狀的環境監控系統,試圖有助于解決中國農業智能化程度低,從事農業生產人口減少的現實,有利于提高農產品的產量和質量。
1 系統工作原理
在農業生產中,對農業環境的溫度和濕度等參數常會提出一些特殊的要求,甚至要求實現對溫度和濕度的實時監視和控制。系統采用空氣溫濕度傳感器、土壤溫濕度傳感器和雨量傳感器能夠實時采集到各項參數的數據。系統用GTB-900無線模塊連接數據采集模塊,將采集到的環境參數發送到用戶數據中心,用戶數據中心再將數據發往監控中心,手持式查詢終端和電腦查詢終端。系統總體框架如圖1。
環境數據采集系統主要實現實時采集現場環境參數數據,并將數據封裝打包上傳給遠程監控中心便于統計分析,并給予生產指導及控制。基于嵌入式的數據采集系統采用CO2傳感器、溫濕度傳感器、土壤傳感器、土壤溫度傳感器、土壤pH傳感器等。CO2傳感器、溫濕度傳感器實時測量當地空氣中的CO2濃度、溫度、濕度,并在觸摸顯示屏當中顯示。土壤傳感器測量泥土中的含水量,配合土壤pH傳感器測量土壤質量。土壤溫度傳感器分別放在不同深度的土壤中測量土壤的溫度。系統采用S5PV210處理器,這種處理器芯片具備強大的信息處理能力和豐富的片內外設。顯示選用800×480的大觸摸屏。字跡清晰,使用非常方便。串口通信方面,USB口和RS-232可以連接電腦,將數據直接傳輸到電腦中。同時還有短信控制功能,可以通過撥打電話和發短信來控制采集系統。使用人工智能雙重控制系統,在平時由系統自身進行控制,如果想人為控制,可以選擇人工控制模式。數據采集系統框架如圖2所示。
2 系統硬件設計
系統由土壤信息數據采集模塊、環境因子數據采集模塊以及遠程監控中心應用軟件組成。環境因子數據采集模塊通過Internet和遠程監控中心應用軟件通信,土壤信息數據采集模塊和環境因子數據采集模塊通信。
2.1 土壤信息數據采集模塊
該模塊負責采集地面及地下的土壤信息數據,通過ZigBee組網,ZigBee各節點將墑情傳感器的數據發送給ZigBee網絡協調器,由協調器統一打包,最終發送給氣象數據采集模塊。
1)主控芯片。土壤信息數據采集模塊采用CC2530作為主控芯片,通過自帶的AD接口P0_0采集土壤濕度傳感器,通過P0_1采集土壤溫度傳感器的數據,通過P0_6和DHT11通信,采集大氣的溫濕度。
2)ZigBee節點。RH-T土壤濕度傳感器輸出為模擬信號,CC2530通過AD接口P0_0和RH-T通信。LM35D土壤溫度傳感器輸出為模擬信號,CC2530通過AD接口P0_1和LM35D通信。
3)溫濕度傳感器。DHT11數字溫濕度傳感器是一款溫濕度復合傳感器,輸出信號已校準。傳感器包括一個電阻式感濕原件和一個NTC測溫原件,可以和IO口直接相連接。因此該產品抗干擾能力強,響應超快,性價比高。采用單總線數字信號,濕度測量范圍20%~90%RH,溫度范圍0~50 ℃。
2.2 環境因子數據采集模塊
環境因子數據采集模塊主要包括主控芯片三星的S5PV210、用于采集CO2濃度的CO2濃度傳感器、用于采集節點數據的ZigBee協調器、用于采集周圍溫度的DS18B20傳感器、用于板子溫度過高時報警的蜂鳴器、用于存儲信息的AT24C02。
1)主控芯片。環境因子數據采集模塊采用S5PV210作為主控芯片。S5PV210是三星推出的一款基于Cortex-A8構架的芯片,適用于智能手機和平板。S5PV210主頻可達1 GHZ,具有豐富的外設功能,能移植多種操作系統。本系統采用天嵌公司的TQ210開發板,具有1 G的nandflash、1 G的DDR2內存,同時具有豐富的外設,如USB接口、DB9串口接口、音頻接口、攝像頭接口等。
2)ZigBee協調器。Linux系統中已有PL2303的驅動程序,故可以使用USB3轉串口來和Zigbee模塊進行串口通信。
3)GPRS模塊。嵌入式設備終端通過串口1和電腦通信,串口1主要用來查看操作系統的運行情況。嵌入式設備終端通過串口2和GTM-900模塊通信,負責接收和發送數據。串口1和串口2都通過SP3232電平轉換芯片,可以直接通過DB9接口線直接連接。
4)溫度傳感器。DS18B20是單總線協議的溫度傳感器,S5PV210通過一個普通IO來和DS18B20通信。
5)存儲芯片。AT24C02是一個E2PROM存儲芯片,掉電不丟失,故可以用來保存一些數據,存儲大小為2 K。該器件通過I2C接口進行通信。芯片的A0、A1、A2為器件地址的選擇位,加上廠家出廠時提供的芯片固定的地址,組成I2C從設備的地址。
6)報警電路。蜂鳴器通過一個普通IO口和S5PV210通信,當環境溫度高于設定的閾值溫度上限時,蜂鳴器就會報警。
3 系統軟件設計
下位機軟件需求分析:下位機軟件需要實現數據采集功能和遠程通信功能。該軟件可以通過傳感器測量各種所需的環境因子數據,并且能和遠程監控中心實現遠程數據通信功能。數據采集模塊應用程序主要任務就是提供可視化界面,方便操作人員操作。接收ZigBee網絡發送來的環境參數數據,實時顯示并存入數據庫。因此具備以下幾項主要功能:通訊參數設置、實時數據顯示、環境控制、數據統計分析及報表、工況異常報警。
遠程監控中心軟件需求分析:遠程監控中心應用軟件需要一個美觀的可視化界面。該軟件可以進行注冊新賬號、登陸、通過Internet網絡接收環境因子采集模塊發送來的環境數據、并實現存儲等功能。還需實現以下幾項主要功能:賬號注冊、賬號登陸、遠程監控、實時顯示調控、數據庫存儲、數據庫查詢、分析。
3.1 軟件操作系統平臺搭建
由于環境因子數據采集模塊需要運行Linux操作系統,所以之前要移植一個Linux系統到S5PV210的板子上[1]。主要移植的步驟包括:移植bootloader,這里移植u-boot,移植完成后燒寫u-boot到S5PV210的0地址位置;移植內核,移植完成后燒寫kernel到5~10 M地址位置;通過busybox制作文件系統,添加各種庫文件和應用程序后,轉換成yaffs格式,燒寫到10~500 M地址位置。最后設置u-boot命令參數,設置為nand flash啟動,重啟系統[2]。移植步驟框圖如圖3所示。
3.2 溫室參數采集模塊軟件設計
1)溫室參數采集模塊——主流程圖。溫室參數采集模塊分為兩個設備類型,一個為網絡協調器,一個是網絡設備節點。網絡協調器負責接收網絡設備節點發送來的數據,統一打包發送給氣象數據采集模塊。網絡設備節點執行發送任務,網絡協調器執行接收任務[3]。故兩個任務的流程如圖4所示。
2)數據采集模塊——發送任務流程圖。數據采集模塊的網絡節點設備執行的流程主要是進入操作系統后,定時執行發送任務,讀取響應傳感器的電壓信號,轉換后打包發送協調器[4]。流程如圖5所示。
3)數據采集模塊——接收任務流程圖。數據采集模塊的網絡協調器執行的流程主要是進入操作系統后,收到數據后執行接收任務:采集大氣溫濕度,保存接收到得數據,打包后通過串口發送給氣象采集模塊[4],流程如圖6所示。
4)環境因子數據采集模塊驅動程序設計。Linux系統的驅動分為字符設備驅動、塊設備驅動和網絡設備驅動[5,6]。系統設計的AT24C02的驅動就是I2C從設備驅動。內核已經實現了I2C的總線設備驅動,只需要編寫從設備驅動即可。編寫從設備驅動,需要操作總線上維護的兩個鏈表:dev鏈表和drv鏈表。dev鏈表中的每一個節點對應的數據結構i2c_client,存放硬件信息,drv鏈表中的每一個節點對應的數據結構i2c_driver,純軟件信息[7,8]。
首先修改mach-tq210.c 加入i2c_board_info結構體
I2C_BOARD_INFO(\"at24c02\", 0x50) ;
分配初始化,最終會賦值給i2c_client.name和i2c_cient.addr
static void __init smdkc110_machine_init(void)
{
i2c_register_board_info(0,at24c02,ARRAY_SIZE(at24c02));
}
int i2c_register_board_info(int busnum, struct i2c_board_info const *info,unsigned n);
busnum:總線編號
info:待注冊i2c設備信息
n:i2c設備個數
注冊好之后,便可編程實現I2C的從設備驅動。
5)GPRS初始化程序流程圖。GPRS初始化的流程為:讀取界面上的IP和端口,初始化GPRS串口,發送“AT”指令,等待GPRS返回“OK”;成功接收后發送“AT%ETCPIP”命令,使能TCP通信,等待返回“OK”;成功后發送要連接的“IP和端口號”,等待返回“CONNECT”,表示已連接上。程序流程如圖7所示。
4 系統實現
4.1 數據采集模塊——界面實現
環境因子數據采集模塊的最終界面主要分為主控面板、GPRS面板、ZIGBEE面板、TQ210面板。最終的界面如圖8所示。
4.2 遠程監控中心——注冊界面實現
該界面由個人信息輸入框組成,都是個人的信息。只要正確輸入所有的信息,系統會自動幫用戶注冊一個新的賬號,注冊成功后,可以在登陸界面中進行登陸。最終的界面如圖9所示。
4.3 遠程監控中心——登陸界面實現
該界面由賬號輸入框、密碼輸入框、登陸按鈕、注冊按鈕組成。點擊注冊按鈕,可以進入注冊界面,可以注冊新賬號。在賬號輸入框輸入已申請的賬號,在密碼框輸入正確的密碼,驗證成功后即可進入主界面,進行一系列的操作。
4.4 遠程監控中心——數據分析界面實現
在該界面先打開服務器,然后輸入服務器的IP地址,接著點擊開始采集,這時候數據會經GPRS發送到服務器的窗口上。界面如圖10所示。
5 小結
在農業生產中,對農業環境的溫度和濕度等參數常常會提出一些特殊的要求,甚至要求實現對溫度和濕度的實時監視和控制。系統采用空氣溫濕度傳感器、土壤溫濕度傳感器和CO2傳感器能夠實時采集到各項參數的數據。系統用無線模塊連接數據采集模塊,將采集到的環境參數發送到用戶數據中心,用戶數據中心再將數據發往監控中心。用戶通過在監控中心的觀察,實時了解農作物生長環境,以保證對作物的正常生長。
參考文獻:
[1] 趙 敏,楊恢先,湯安平.基于S3C2440的嵌入式Linux系統移植的研究與實現[J].電子器件,2009,31(6):1947-1950.
[2] 何 婷,王 巖.嵌入式Linux設備驅動程序實例詳解[J].電腦知識與技術,2007(22):1040-1042.
[3] 譚玉龍.土壤墑情無線傳輸檢測系統的研究[D].合肥:安徽農業大學,2013.
[4] 郭 楊.遠程自動氣象數據采集系統[D].南京:南京信息工程大學,2007.
[5] 李良宇.氣象數據采集器主控單元的研究與構建[D].長春:吉林大學,2004.
[6] 沈 軍.氣象自動觀測站數據處理方法研究[D].長沙:中南大學,2011.
[7] 郭 勇,姜學東.基于MSP430單片機的氣象數據采集系統[J].研究與開發,2007,26(10):43-46.
[8] 竇以文,屈玉貴,陶士偉,等.北京自動氣象站實時數據質量控制應用[J].氣象,2008,34(8):77-81.