摘 要: 針對(duì)溫室大棚的溫濕度、光照和土壤含水率,采用TI公司的CC2430芯片設(shè)計(jì)并開(kāi)發(fā)了一套信息采集的軟硬件系統(tǒng)。整個(gè)系統(tǒng)由傳感器節(jié)點(diǎn)、信息匯聚節(jié)點(diǎn)以及基于ARM的嵌入式Linux的上位機(jī)部分組成。各節(jié)點(diǎn)功能由基于TinyOS操作系統(tǒng)架構(gòu)的應(yīng)用軟件實(shí)現(xiàn)。上位機(jī)具有數(shù)據(jù)收集、處理和顯示的功能。實(shí)驗(yàn)證明,本系統(tǒng)工作穩(wěn)定且操作簡(jiǎn)單易行。
關(guān)鍵詞: CC2430;溫室;信息采集;TinyOS;QT;串口;線程
近些年來(lái),可控環(huán)境農(nóng)業(yè)生產(chǎn)技術(shù)研究不斷發(fā)展,目的是研制適應(yīng)中國(guó)的可控環(huán)境自動(dòng)控制系統(tǒng)、信息自動(dòng)采集系統(tǒng)[1]。通過(guò)檢測(cè)植物的生長(zhǎng)環(huán)境中的各因子,根據(jù)環(huán)境因子的變化做出符合植物生長(zhǎng)規(guī)律、利于產(chǎn)出的環(huán)境因子的調(diào)整。針對(duì)溫室大棚的空氣溫濕度、土壤濕度、光照和CO2濃度等環(huán)境因子的綜合信息采集監(jiān)控系統(tǒng)的開(kāi)發(fā)[2],在提高產(chǎn)量與品質(zhì)中將發(fā)揮巨大作用。
無(wú)線傳感器網(wǎng)絡(luò)技術(shù)在溫室大棚可控環(huán)境中各信息量采集的環(huán)節(jié)上起到了革命性的作用。應(yīng)用無(wú)線通信控制傳感器采集信息,從有線到無(wú)線,大大方便了設(shè)施農(nóng)業(yè)的建設(shè)[3]。溫室大棚內(nèi)監(jiān)控環(huán)境參數(shù)多為小信息量、多信息點(diǎn)的數(shù)據(jù)通信,應(yīng)用傳統(tǒng)無(wú)線方式成本高、體積大,而傳感器技術(shù)也向更小、更方便使用的方向發(fā)展,集成度及能耗成為主要的考慮因素[4]。因此,滿足低成本、小體積、低能耗、低傳輸速率的近距離無(wú)線通信技術(shù)日益受到青睞,具有代表性的芯片是CC2430,它是一款專(zhuān)門(mén)針對(duì)2.4 GHz IEEE 802.15.4應(yīng)用的片上系統(tǒng),很好地滿足了要求。它是一種近距離、低功耗和低成本芯片,高度集成了無(wú)線射頻、微控制器、內(nèi)存、A/D轉(zhuǎn)換器、看門(mén)狗定時(shí)器及休眠定時(shí)器等部件,特別適合電池供電的應(yīng)用領(lǐng)域[5]。TinyOS是一個(gè)針對(duì)于無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用的小型嵌入式操作系統(tǒng),通過(guò)它可實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)組網(wǎng)通信,傳感器數(shù)據(jù)采集,網(wǎng)絡(luò)路由協(xié)議等功能[6]。
1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)的總體結(jié)構(gòu)如圖1所示,包括前端傳感器節(jié)點(diǎn)、信息匯聚節(jié)點(diǎn)和上位機(jī)。傳感器節(jié)點(diǎn)對(duì)其配備的傳感器進(jìn)行讀取數(shù)據(jù),形成數(shù)據(jù)幀,同時(shí)基于無(wú)線路由通信協(xié)議組網(wǎng)通信,把數(shù)據(jù)發(fā)送到鄰近節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)具有路由功能,轉(zhuǎn)發(fā)其他節(jié)點(diǎn)數(shù)據(jù)到信息匯聚節(jié)點(diǎn)。信息匯聚節(jié)點(diǎn)必須在這個(gè)無(wú)線通信網(wǎng)絡(luò)中,并且是網(wǎng)絡(luò)的信息匯集中心。每收集到一個(gè)節(jié)點(diǎn)的數(shù)據(jù)后,通過(guò)串口發(fā)送到上位機(jī)。上位機(jī)采用基于ARM的嵌入式Linux,同時(shí)運(yùn)行兩個(gè)任務(wù),一個(gè)是實(shí)時(shí)讀取串口數(shù)據(jù)并進(jìn)行數(shù)據(jù)處理,另一個(gè)是通過(guò)LCD顯示處理后的結(jié)果,即溫室大棚內(nèi)各點(diǎn)傳感器測(cè)量的環(huán)境因子。
2 節(jié)點(diǎn)硬件設(shè)計(jì)
系統(tǒng)含有匯聚節(jié)點(diǎn)和傳感器節(jié)點(diǎn)兩種節(jié)點(diǎn)。無(wú)線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)是網(wǎng)絡(luò)的基礎(chǔ),節(jié)點(diǎn)的無(wú)線通信是節(jié)點(diǎn)的必要功能。本系統(tǒng)中的CC2430是集高性能的8051核及CC2420射頻核心為一體的芯片,即系統(tǒng)設(shè)計(jì)中節(jié)點(diǎn)的處理器及無(wú)線通信單獨(dú)成為一個(gè)模塊。因此匯聚節(jié)點(diǎn)與傳感器節(jié)點(diǎn)都包含此核心模塊。
2.1 核心模塊
根據(jù)TI公司提供的CC2430的詳細(xì)使用手冊(cè),這部分電路主要分為芯片最小工作系統(tǒng)電路、無(wú)線電射頻及天線電路、外部接口和調(diào)試接口3個(gè)部分。核心模塊的電路原理圖如圖2所示。
CC2430引腳特別小,封裝為QLP48。為保證芯片的穩(wěn)定工作,其外圍電路的器件選擇要滿足芯片手冊(cè)要求,并且電源必須適當(dāng)?shù)娜ヱ睿ヱ铍娙莸奈恢煤痛笮?,以及電源的過(guò)濾,對(duì)CC2430達(dá)到最佳性能都是關(guān)鍵條件。CC2430有3種型號(hào),以?xún)?nèi)部Flash大小劃分,本系統(tǒng)采用的是片內(nèi)Flash規(guī)格為128 KB的CC2430。
2.2 傳感器節(jié)點(diǎn)與匯聚節(jié)點(diǎn)的設(shè)計(jì)
傳感器節(jié)點(diǎn)與匯聚節(jié)點(diǎn)的區(qū)別在于:傳感器節(jié)點(diǎn)包含傳感器接口電路,匯聚節(jié)點(diǎn)不包含該電路而具有串口通信電路,如圖3所示。傳感器節(jié)點(diǎn)包括空氣溫濕度、光照強(qiáng)度和土壤含水率3種類(lèi)型。由于節(jié)點(diǎn)、傳感器類(lèi)型和供電不同,因此分開(kāi)進(jìn)行硬件設(shè)計(jì)。
2.2.1 溫濕度傳感器節(jié)點(diǎn)
空氣溫濕度傳感器采用SHT10,它是一款數(shù)字式傳感器,具有符合I2C標(biāo)準(zhǔn)的兩線制數(shù)據(jù)通信接口,控制器通過(guò)發(fā)送指令即可對(duì)其操作。其內(nèi)部包含溫度感測(cè)和濕度感測(cè)器件、信號(hào)放大器、A/D轉(zhuǎn)換器和校準(zhǔn)存儲(chǔ)器。其體積小,采用CMOS工藝,可靠性更高。SHT10供電電壓為直流2.4 V~5.5 V,功耗低,特別適用于電池供電的傳感器節(jié)點(diǎn)應(yīng)用。
2.2.2 光照強(qiáng)度和土壤含水率傳感器節(jié)點(diǎn)
光照強(qiáng)度傳感器采用了魏圖農(nóng)業(yè)科技的WLS-TH100傳感器,輸入線電阻高,線性度好。其抗干擾能力強(qiáng),可長(zhǎng)距離應(yīng)用。供電電壓為直流12 V,輸出信號(hào)為4~20mA。
土壤含水率傳感器采用了魏圖農(nóng)業(yè)科技的SWCP系列土壤水分傳感器,該系列傳感器的特點(diǎn)是響應(yīng)速度快、工作穩(wěn)定、精度高且使用方便。其供電電壓為12 V,輸出信號(hào)為0~2 V。
這兩種傳感器應(yīng)用方式類(lèi)似,因此電路原理一樣,只是接口有所區(qū)別。此節(jié)點(diǎn)電路包括降壓電路、繼電器控制電路及信號(hào)調(diào)理電路。調(diào)理電路的作用是把傳感器輸出的電壓或電流信號(hào)轉(zhuǎn)變成統(tǒng)一的符合CC2430內(nèi)部A/D轉(zhuǎn)換范圍的電壓信號(hào),通過(guò)運(yùn)放實(shí)現(xiàn)阻抗匹配。
2.2.3 匯聚節(jié)點(diǎn)
匯聚節(jié)點(diǎn)包含核心模塊插槽、降壓電路及串行接口電路。電源采用外接5 V直流電源供電。外接串行接口電路主要由MAX3232構(gòu)成。
2.3 上位機(jī)的結(jié)構(gòu)與功能
上位機(jī)選用TQ2440開(kāi)發(fā)板作為實(shí)驗(yàn)平臺(tái),其硬件資源比較豐富,在這里主要應(yīng)用其串行通信接口及LCD觸摸屏,實(shí)現(xiàn)串口讀取數(shù)據(jù)和LCD屏幕顯示數(shù)據(jù)信息。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 節(jié)點(diǎn)軟件設(shè)計(jì)
本系統(tǒng)節(jié)點(diǎn)的應(yīng)用程序設(shè)計(jì)是基于TinyOS操作系統(tǒng)來(lái)實(shí)現(xiàn)的,需要將TinyOS移植到CC2430上。通過(guò)添加和修改TinyOS系統(tǒng)的部分源碼,編譯形成可執(zhí)行文件,下載到CC2430內(nèi)部Flash。移植TinyOS的同時(shí)添加應(yīng)用程序代碼,即實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)的相關(guān)功能。TinyOS由nesC語(yǔ)言編寫(xiě),nesC應(yīng)用程序是由一個(gè)或多個(gè)組件連接起來(lái)實(shí)現(xiàn)的,組件之間的配合通過(guò)組件提供和使用的接口來(lái)完成。nesC的組件有模塊和配置兩種形式。模塊是具體的功能實(shí)現(xiàn)和對(duì)外部操作的代碼,提供一個(gè)或多個(gè)接口,模塊內(nèi)也可以包含其他內(nèi)部可重用組件的接口;配置的作用是組裝組件,對(duì)組件間要對(duì)接和關(guān)聯(lián)的接口進(jìn)行連接。
3.1.1 開(kāi)發(fā)環(huán)境的建立及移植
建立工具鏈,安裝的軟件有Keil C51 7.50A、Java 2 SDK v1.5、Cygwin,把TinyOS的編譯工具的安裝包安裝到Windows XP下的Cygwin環(huán)境中,TinyOS8051wg-0.1pre4.tgz解壓到Cygwin環(huán)境中[7]。
TinyOS是一個(gè)具有層次體系結(jié)構(gòu)的操作系統(tǒng),不同層有不同的組件。組件對(duì)不同層次的抽象和平臺(tái)相關(guān)的組件就是底層硬件的抽象[8]。在CC2430上移植工作就是添加底層硬件的抽象,能夠和系統(tǒng)組件和庫(kù)組件連接應(yīng)用。
3.1.2 傳感器節(jié)點(diǎn)與匯聚節(jié)點(diǎn)程序
傳感器節(jié)點(diǎn)的應(yīng)用程序主要包含無(wú)線通信協(xié)議棧代碼程序、發(fā)送與接收數(shù)據(jù)程序以及傳感器驅(qū)動(dòng)程序三部分。無(wú)線通信協(xié)議棧代碼實(shí)現(xiàn)自組網(wǎng),負(fù)責(zé)拓?fù)浣Y(jié)構(gòu)的建立及維護(hù)[9];發(fā)送與接收數(shù)據(jù)程序負(fù)責(zé)數(shù)據(jù)成幀,發(fā)送或接收鄰近節(jié)點(diǎn)數(shù)據(jù);傳感器驅(qū)動(dòng)程序?qū)鞲衅鞑僮鳎@得環(huán)境因子的原始轉(zhuǎn)換數(shù)據(jù)。圖4為CC2430內(nèi)部ADC的程序流程圖。
測(cè)試成功后,移植到開(kāi)發(fā)板,需要重新定義串口,編譯下載,設(shè)置程序開(kāi)機(jī)自啟動(dòng)。實(shí)驗(yàn)結(jié)果表明,程序運(yùn)行正常,可應(yīng)用觸摸屏操作界面。圖6為系統(tǒng)硬件圖。
應(yīng)用多線程編程可使上位機(jī)界面響應(yīng)觸摸操作速度快,基于CC2430芯片設(shè)計(jì)制作的模塊電路運(yùn)行良好,焊接所用焊錫以及貼片電阻、電容品質(zhì)很關(guān)鍵。實(shí)驗(yàn)證明,所設(shè)計(jì)無(wú)線模塊傳輸距離在都10 m以上。本系統(tǒng)硬件結(jié)構(gòu)簡(jiǎn)潔,傳感器功耗低,滿足了節(jié)能的需求。
參考文獻(xiàn)
[1] 杜尚豐,李迎霞,馬承偉,等.中國(guó)溫室環(huán)境控制硬件系統(tǒng)研究進(jìn)展[J].農(nóng)業(yè)工程學(xué)報(bào),2004,20(1):7-12.
[2] 鄭文剛,趙春江,王紀(jì)華.溫室智能控制的研究進(jìn)展[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2004(2):8-11.
[3] KALRA A, CHECHI R, KHANNA R. Role of ZigBee technology in agriculture sector[C]. National Conference on Computational Instrumentation, 2010(3): 151-152.
[4] VALADA A, KOHANBASH D, KANTOR G. Design and development of a wireless sensor network system for precision agriculture [D]. Pittsburgh: Carnegie Mellon University, 2010.
[5] 梁光勝,劉丹娟,郝福珍.基于CC2430的Zigbee無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2010,18(2):15-18.
[6] 卜天然,呂立新,汪偉.基于TinyOS無(wú)線傳感器網(wǎng)絡(luò)的農(nóng)業(yè)環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2009(2):23-26.
[7] 徐敬東,賴(lài)錫盛.TinyOS 2.0在CC2430上的移植[J].計(jì)算機(jī)工程,2011,37(2):256-260.
[8] Ossama Mohamed Younis. An energy-efficient architecture for wirelss sensor networks[D]. Indiana: Purdue University, 2005.
[9] 顏庭莘,孫利民.TinyOS路由協(xié)議原理及性能評(píng)估[J].計(jì)算機(jī)工程,2007,33(1):112-114.
[10] 李國(guó)政,張強(qiáng),楊紅衛(wèi),等.ARM-Linux嵌入式系統(tǒng)在農(nóng)業(yè)大棚中的應(yīng)用[J].現(xiàn)代電子技術(shù),2007(6):19-21.
[11] 張保立,王俊,張發(fā)明,等.基于QT_Embedded和Qtopia的嵌入式溫室無(wú)線測(cè)控系統(tǒng)GUI設(shè)計(jì)[J].電子技術(shù),2008(6):26-29.