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