無(wú)線(xiàn)傳感器網(wǎng)絡(luò )在溫室環(huán)境監控系統中的應用
2 CC2431簡(jiǎn)介
CC2431是TI公司的產(chǎn)品,它是一個(gè)真正的基于無(wú)線(xiàn)傳感器網(wǎng)絡(luò )ZigBee/IEEE802.15.4解決方案的片上系統,其內部集成了CC2420射頻收發(fā)器,工業(yè)標準增強型8051 MCU內核,128 KB可編程閃存,8 KB的RAM,精確的定位引擎等豐富的片內資源,支持硬件調試,支持基于IAR7.20以上C51開(kāi)發(fā)環(huán)境下的在線(xiàn)調試,提供強大、靈活的開(kāi)發(fā)工具。CC2431體積小、功耗低、集成度高,非常適合于無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)的設計。它可工作在4種工作模式下,且工作模式之間的轉換時(shí)間較短,因而能夠滿(mǎn)足超低功耗系統設計的要求。
3 傳感器網(wǎng)絡(luò )節點(diǎn)的硬件
傳感器網(wǎng)絡(luò )節點(diǎn)由傳感器測量節點(diǎn)、控制節點(diǎn)和匯聚節點(diǎn)組成。測量節點(diǎn)負責采集周?chē)h(huán)境信息,采集的環(huán)境信息經(jīng)多跳路由后到達匯聚節點(diǎn),最終通過(guò)Internet到達控制中心??刂乒濣c(diǎn)用來(lái)接收計算機傳來(lái)的遠程控制信息,對溫室環(huán)境參數進(jìn)行調控。
3.1 測量節點(diǎn)硬件
傳感器測量節點(diǎn)由傳感器模塊、微處理器模塊、無(wú)線(xiàn)通信模塊和電源模塊組成。其硬件結構框圖如圖2所示。
(1)傳感器模塊。由不同類(lèi)型的傳感芯片組成,具有對溫度、濕度和光照強度的感知能力。其中溫、濕度傳感器采用I2C總線(xiàn)數字式溫、濕度傳感器SHTll,其體積小、能耗低、兩線(xiàn)數字接口、溫度量程為-40℃~85℃、相對濕度量程為0%~100%RH。光照強度傳感器選用TSL2550D,其功耗可以滿(mǎn)足無(wú)線(xiàn)傳感器低功耗系統設計的要求,其總線(xiàn)也易于與CC2431接口。
(2)微處理器模塊。采用集成在CC2431內部的8051 CPU。集成的CPU有4種不同的內存空間:代碼區、數據區、擴展數據區和特殊功能寄存器區,不同的內存空間有利于代碼和數據的分離,提高CPU對內存的訪(fǎng)問(wèn)速度。
(3)無(wú)線(xiàn)通信模塊
①傳感器網(wǎng)絡(luò )節點(diǎn)在通信時(shí)消耗了大量的能量,選擇一款低功耗的無(wú)線(xiàn)通信芯片將有效地降低通信模塊的能量消耗。CC2431是一款符合ZigBee標準的低功耗通信芯片,具有快速喚醒和搜索外部設備功能,可以使節點(diǎn)更多地處于休眠狀態(tài)而節約功耗,而且其信道頻率和功耗等參數可以靈活設置。CC2431通信模塊的天線(xiàn)考慮到無(wú)線(xiàn)傳感器網(wǎng)絡(luò )通信質(zhì)量的要求,采用單極性天線(xiàn),單極性天線(xiàn)在差分輸出與天線(xiàn)之間要求使用“平衡-不平衡變壓器”。
②無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)電源為電池供電系統,選用的電池為手機專(zhuān)用鋰電池。為了使系統在電池供電時(shí),工作時(shí)間持續長(cháng),在設計電源模塊時(shí)要考慮到節點(diǎn)的節能問(wèn)題。CC2431提供4種電源管理模式:PM0、PM1、PM2和PM3,合理地使用這4種模式可有效地降低節點(diǎn)的能耗。
③LED燈用于顯示傳感器節點(diǎn)的運行狀態(tài)。
(4)電源模塊。為其他模塊提供能源。
3.2 控制節點(diǎn)
控制節點(diǎn)由驅動(dòng)器模塊、微處理器模塊、無(wú)線(xiàn)通信模塊和電源模塊組成。驅動(dòng)器模塊能對調溫、調濕等設備進(jìn)行相關(guān)控制,其硬件結構框圖如圖3所示。
3.3 匯聚節點(diǎn)的硬件研究
匯聚節點(diǎn)由微處理器模塊、無(wú)線(xiàn)通信模塊、存儲器模塊、以太網(wǎng)接口模塊、串行接口模塊和電源模塊組成,其硬件結構框圖如圖4所示。
(1)存儲器模塊由1片Atmel公司出品的AT45DB041組成,直接接入CC2431 SPI輸入端。該芯片集成2 046頁(yè)×264 B Flash存儲單元,用于存儲傳感器重要歷史數據。
(2)為提供以太網(wǎng)的接入通道,在該設計中,使用DM9161作為以太網(wǎng)的物理層接口。DM9161是一款低功耗、高性能的CMOS 芯片,支持10 MB/s和100 MB/s的以太網(wǎng)傳輸,它起編碼、譯碼、輸入和輸出數據的作用,這樣就可以將匯聚節點(diǎn)輕松連接到因特網(wǎng)以便于實(shí)現遠程控制。
(3)串行接口模塊由1片低功耗MAX3232和COM母口組成。CC2431串口端接入MAX3232進(jìn)行電平轉換,通過(guò)COM口與計算機進(jìn)行通信。
(4)由于匯聚節點(diǎn)需要融合處理所有采集節點(diǎn)采集的數據,并且需要將數據經(jīng)過(guò)較遠的距離傳輸到計算機,因而能量消耗較大,因此其電源采用從市電轉換后介入的方式供電。
(5)LED燈用于顯示匯聚節點(diǎn)的運行狀態(tài)。
4 TinyOS操作系統的移植
嵌入式操作系統能夠簡(jiǎn)化嵌入式系統的開(kāi)發(fā),確保程序運行的穩定性和可靠性,便于程序的維護和更新,但是由于無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)是一個(gè)小型嵌入式系統,其硬件資源非常有限,需要高效利用其有限的內存、處理器和通信模塊,并且最大限度地減少系統能耗,延長(cháng)節點(diǎn)的使用壽命,因此傳統的嵌入式操作系統不能滿(mǎn)足其要求?;诖?,本文移植了針對無(wú)線(xiàn)傳感器網(wǎng)絡(luò )特點(diǎn)而開(kāi)發(fā)的操作系統TinyOS。
4.1 TinyOS簡(jiǎn)介
TinyOS是加州大學(xué)伯克利分校開(kāi)發(fā)的一種典型的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )操作系統,通過(guò)nesC語(yǔ)言可以開(kāi)發(fā)基于TinyOS的應用程序。TinyOS設計的目標就是代碼量小、耗能低、并發(fā)性高、魯棒性好,可以適應不同的應用,采用輕量級線(xiàn)程技術(shù),事件驅動(dòng)模式,組件化編程等,從而使其成為面向無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的操作系統。TinyOS提供了Main配件,以及針對某些硬件的感知組件、執行組件、通信組件和硬件抽象組件。在這些組件的基礎上,用戶(hù)可以定制開(kāi)發(fā)應用組件,然后將所有組件連接起來(lái),就構成了整個(gè)應用程序。
4.2 TinyOS的移植
TinyOS操作系統有很多版本,要移植的是TinyOS 2.0版本,采用的編譯器是Keil。TinyOS 2.0必須在Linux平臺下才能工作,而Keil則是一個(gè)Windows下的軟件,因此,要安裝一個(gè)在Windows平臺上運行的模擬linux開(kāi)發(fā)環(huán)境的軟件——Cygwin。下面具體介紹移植步驟:
(1)安裝SmartRF04 Flash Programmer、Keil、Java 1.5 JDK、Cygwin軟件;
(2)下載TinyOS開(kāi)發(fā)必備的編譯工具的安裝包;
(3)啟動(dòng)Cygwin,并在Cygwin下安裝下載好的編譯工具安裝包;
(4)安裝TinyOS 2.0。
將下載好的TinyOS 2.0的安裝包解壓縮,將解壓好的tinyos-2.0-contrib文件夾拷貝到Cygwinopt目錄下,此時(shí)已經(jīng)搭建好了TinyOS的開(kāi)發(fā)環(huán)境。所有的例子都在tinyos-2.0-contrib/diku/common/apps/下面。以BlinkNoTimerTask為例,在Cygwin下面輸入:cd/diku/common/apps/BlinkNoTimerTask,然后回車(chē)輸入:make cc2431em,如果順利的話(huà),TinyOS將被編譯生成app.hex文件,只要把這個(gè)文件燒錄進(jìn)單片機就可以了。
(5)燒錄
插好仿真器,打開(kāi)SmartRF04 Flash Programmer軟件,在System-on-Chip選項卡下選擇app.hex文件,然后選擇“Perform actions”就可以順序燒寫(xiě)了,燒寫(xiě)成功后,TinyOS就成功移植到CC2431上了。
5 傳感器網(wǎng)絡(luò )節點(diǎn)的軟件設計
傳感器測量節點(diǎn)的主要功能就是接收PC機采集數據的指令、采集數據,然后將采集的數據通過(guò)無(wú)線(xiàn)信道發(fā)送出去。匯聚節點(diǎn)的功能就是創(chuàng )建無(wú)線(xiàn)網(wǎng)絡(luò ),配置網(wǎng)絡(luò )節點(diǎn)屬性,接收傳感器測量節點(diǎn)采集的數據,然后通過(guò)串口上傳到計算機。傳感器測量節點(diǎn)程序結構流程圖如圖5所示,匯聚節點(diǎn)程序結構流程圖如圖6所示。
在農業(yè)生產(chǎn)中,隨著(zhù)規?;?jīng)營(yíng)的出現,可能會(huì )建有很多個(gè)溫室,根據應用的設計,在每個(gè)溫室中都建有一個(gè)無(wú)線(xiàn)傳感器網(wǎng)絡(luò ),由于溫室中的環(huán)境都比較相似,因而,每個(gè)溫室中的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的功能和技術(shù)也都是一樣的。如果所有溫室都通過(guò)控制中心的計算機來(lái)進(jìn)行統一管理,可以大大提高了工作效率,使溫室管理更加科學(xué),控制更加簡(jiǎn)單,從而達到提高作物產(chǎn)量、改善品質(zhì)、調節生長(cháng)周期、提高經(jīng)濟效益的最終目的。而本文介紹的無(wú)線(xiàn)傳感器網(wǎng)絡(luò )節點(diǎn)具有功耗低、體積小、工作可靠、易于擴展等優(yōu)點(diǎn),基于該無(wú)線(xiàn)傳感器網(wǎng)絡(luò )的溫室環(huán)境監控方案將會(huì )有很好的應用前景。
評論