王正萬,李遠英
(貴州電子信息職業(yè)技術學院 貴州 凱里 556000)
基于ZigBee技術的嵌入式Web數(shù)據(jù)采集系統(tǒng)的研究與應用
王正萬,李遠英
(貴州電子信息職業(yè)技術學院 貴州 凱里 556000)
本文針對有線數(shù)據(jù)采集方式成本高、不易擴展、移動性差等缺陷,設計并實現(xiàn)了一個基于ZigBee技術的低速率、近距離、低復雜度、低成本、低功耗的無線數(shù)據(jù)采集系統(tǒng)。本文研究的內容主要是文研究的基于ZigBee無線單片機CC2530傳感器模塊組成的無線傳感網絡數(shù)據(jù)采集系統(tǒng)。由若干個ZigBee無線傳感器數(shù)據(jù)采集節(jié)點采集的數(shù)據(jù)經嵌入式Web服務器進入Internet網,嵌入式Web服務器采用ARM9結構的32位嵌入式處理器S3C2440和Linux操作系統(tǒng),它主要實現(xiàn)Internet接入,采集數(shù)據(jù)的處理與存儲等。
無線傳感網絡;IEEE802.15.4;ZigBee;傳感器
當前對于大多數(shù)數(shù)據(jù)采集系統(tǒng)而言,主要應用研究對象都高速率和長距離數(shù)據(jù)采集系統(tǒng)上,低速數(shù)據(jù)采集系統(tǒng)的研究相對較少,但低速數(shù)據(jù)采集系統(tǒng)在工農業(yè)生產、信息家電、醫(yī)療系統(tǒng)中都有很廣的應用。嵌入式Web服務器是當今嵌入式系統(tǒng)的研究和應用熱點,再加上現(xiàn)在Internet和寬帶的普及,技術有很大的可行性。在ZigBee無線傳感器網絡基礎上構建嵌入式Web數(shù)據(jù)采集系統(tǒng),可以利用嵌入式系統(tǒng)成本低、維護方便、可靠性高的特點,從而實現(xiàn)無人值守,系統(tǒng)長期運行的應用要求。這樣不僅提高了工作效率,而且大大降低了設備成本,同時簡化了軟件系統(tǒng)的設計和維護,使用戶隨時隨地不需要安裝任何軟件都可通過Internet瀏覽器查看現(xiàn)場采集數(shù)據(jù),如果接入GPRS,還可實現(xiàn)系統(tǒng)與手機通信。
備等多個領域得到全面的應用。本文對幾種短距離無線通信技術進行了比較,見表1。ZigBee其特點包括成本低、功耗低、通信延時時間很短、網絡容量大、數(shù)據(jù)傳輸安全性高、網絡可靠性高、網絡自組織性強等。
在ZigBee網絡中,ZigBee以一個個獨立的ZigBee節(jié)點為依托,每個ZigBee節(jié)點分為半功能設備(RFD)和全功能設備(FFD)。圖1是IEEE802.15.4給出的ZigBee網絡中各種設備的類型以及它們在網絡中所處的地位。
依據(jù)ZigBee網絡中設備功能的區(qū)別,一般分為ZigBee協(xié)調器、路由器和網絡通信數(shù)據(jù)終端設備。ZigBee網絡拓撲結構可以分為星形網絡、網狀網絡和簇狀網絡3種拓撲結構,如圖2所示[1]。
ZigBee技術的應用范圍是非常廣泛,發(fā)展前途十分看好。在未來一段時間里面,該技術將在汽車自動化、工業(yè)控制、樓宇自動化、工業(yè)無線定位、消費電子、家庭網絡、醫(yī)用設
系統(tǒng)是基于ZigBee無線單片機CC2530傳感器模塊組成的無線傳感網絡多點數(shù)據(jù)采集系統(tǒng),主要由若干個ZigBee技術的無線傳感器數(shù)據(jù)采集節(jié)點和嵌入式Web服務器組成,系統(tǒng)結構如圖3所示。系統(tǒng)設計采用ARM結構的32位嵌入式處理器S3C2440和Linux系統(tǒng)設計的嵌入式服務器,整個系統(tǒng)完成了基于ZigBee協(xié)議的無線傳感器網絡的數(shù)據(jù)采集系統(tǒng)總體硬件軟件架構的搭建,并以溫濕度數(shù)據(jù)采集為例,實現(xiàn)了數(shù)據(jù)采集的基本功能及Internet遠程訪問[2]。
表1 短距離無線通信技術特點Tab.1 The Short distance wireless communication technology
圖1 IEEE802.15.4網絡組件和拓撲關系Fig.1 The IEEE802.15.4 network components and network topology
系統(tǒng)設計結構簡述如下:
1)系統(tǒng)最底層的無線傳感器數(shù)據(jù)采集節(jié)點負責對溫濕度數(shù)據(jù)的實時采集,通過ZigBee無線網絡傳給ZigBee協(xié)調器或路由器。ZigBee協(xié)調器或路由器收到數(shù)據(jù)后,轉發(fā)給嵌入式Web服務器。
圖2 ZigBee網絡拓撲結構Fig.2 The ZigBee network topology structure
圖3 系統(tǒng)結構設計Fig.3 The design of system structure
2)嵌入式Web服務器是的主要功能是ZigBee無線傳感器網絡和Internet之間的網關模塊,實現(xiàn)了系統(tǒng)采集數(shù)據(jù)資源共享。
3)因特網上的電腦,可隨時通過互聯(lián)網訪問嵌入式Web服務器,實時遠程監(jiān)控系統(tǒng)采集數(shù)據(jù),進行數(shù)據(jù)處理和遠程控制。
系統(tǒng)主要實現(xiàn)以下功能:
1)ZigBee無線傳感器數(shù)據(jù)采集節(jié)點的設計滿足系統(tǒng)數(shù)據(jù)采集的要求。
2)基于ARM S3C2440+Linux嵌入式Web服務器實現(xiàn)嵌入式Webserver,并支持CGI動態(tài)網頁。
3)嵌入式Web服務器能夠接收ZigBee無線傳感器數(shù)據(jù)采集節(jié)點采集的溫濕度數(shù)據(jù)。
4)系統(tǒng)可通過USB接口外接U盤擴充系統(tǒng)存儲容量。
5)用戶可以通過Intenet瀏覽器遠程訪問該嵌入式Web服務器查看系統(tǒng)采集數(shù)據(jù)。
數(shù)據(jù)采集系統(tǒng)Web服務器核心控制單元采用ARM S3C2440,通過CC2530與采集節(jié)點進行數(shù)據(jù)通信,可通過互聯(lián)網進行數(shù)據(jù)傳輸。數(shù)據(jù)采集節(jié)點的功能主要是將捕捉的現(xiàn)場信號經轉換器ADC采樣、量化、編碼后,變成數(shù)字信號傳給微處理器,并無線發(fā)送數(shù)據(jù),嵌入式Web服務器負責收發(fā)數(shù)據(jù)、采集數(shù)據(jù)處理等,系統(tǒng)設計方案見圖4所示[3]。
圖4 系統(tǒng)設計方案Fig.4 The design scheme of the system
無線網關射頻芯片選用CC2530(2.4 GHz,支持250Kb/s數(shù)據(jù)傳輸率),微處理器采用S3C2440嵌入式工業(yè)級芯片。ARM嵌入式網關板是采用三星公司 S3C2440作為核心處理器,可以在系統(tǒng)中對無線傳感器的相關設備信息進行顯示及分析,也可以對對被控單元進行相關的控制。
4.1IAR開發(fā)環(huán)境
IAR嵌入式集成開發(fā)環(huán)境,它支持所有的ARM處理器,其中包括編輯器、項目管理器、匯編器、C/C++編譯器、連接器、調試器等。IAR內置的有代碼優(yōu)化器針對不同的芯片,因此可以生成高效簡潔、可靠高的程序代碼。
4.2Linux內核移植
Linux內核移植一般可以分為板級移植和片級移植,板級移植指的是Linux已經支持相應的處理器,只需對硬件進行少量修改就可以了,片級移植指的是如果Linux中沒有相應的處理器支持,則需要進行相應處理器的內核移植[4]。本文采用的Linux中已經包含S3C2440X ARM920T處理器的移植包,通過u-boot將該文件下載到目標板并執(zhí)行,Linux內核移植開發(fā)流程如圖5所示。
1)編譯內核
圖5 內核移植Fig.5 The kernel transplantation
之后會在 “/home/cvtech/04 linux/linux-2.6.24.2/arch/arm/ boot/”內生成內核鏡像文件zImage
2)通過zImage生成uImage
4.3Linux下Web服務的移植與建立
Httpd,Boa、Thttpd是 Linux下主要的嵌入式 Web服務器。Httpd不支持CGI和認證,是三個中功能最弱的,最簡單的一個嵌入式Web服務器。而Boa和Thttpd都支持CGI和認證等,功能比較強大。如果Web服務器只需要一些簡單靜態(tài)網頁,就可使用Httpd Web服務器來實現(xiàn)。如果需要與用戶進行如數(shù)據(jù)、實時狀態(tài)等的數(shù)據(jù)交互,就必須選用Thttpd 或Boa來才能實現(xiàn)Web服務[6]。
系統(tǒng)選擇的是Boa Web作為系統(tǒng)的嵌入式服務器,Boa Web服務器精簡、運行效率高,兼容Unix或Linux操作系統(tǒng),源代碼開放、性能好。Thttpd或Boa兩者相比,Thttpd在運行所需資源要高于boa,支持CGI。通用網關接口CGI(Common Gate Interface)的主要作用是在Web環(huán)境下,把從用戶端傳來的數(shù)據(jù)轉給Web服務器,然后由Web服務器去指定相應的任務程序來完成數(shù)據(jù)的處理,并把結果以網頁的形式返回用戶端[7]。
會在 boa-0.94.13/src目錄下面生成Makefile文件,修改Makefile:
$vi Makefile
CC=opt/cvtech/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-gcc
CPP=/opt/cvtech/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-g++-E
$visrc/boa.c $vi src/compat.h #define TIMEZONE_OFFSET(foo)foo->tm_gmtoff
4.4Linux下嵌入式數(shù)據(jù)庫(SQLite)
數(shù)據(jù)庫的主要作用是能夠實現(xiàn)數(shù)據(jù)信息存儲和檢索等功能。嵌入式數(shù)據(jù)庫具備傳統(tǒng)數(shù)據(jù)庫的基本特征,它和傳統(tǒng)數(shù)據(jù)庫也有明顯的區(qū)別:傳統(tǒng)的數(shù)據(jù)庫使用引擎方式驅動,而嵌入式數(shù)據(jù)庫則通過程序方式直接驅動。而且嵌入式數(shù)據(jù)庫容量一般都很小,編譯后也不過幾十KB,從而使嵌入式數(shù)據(jù)庫可以很容易的移植到嵌入式設備上[8]。目前,兼容Linux的數(shù)據(jù)庫很多,SQLite是比較典型的一個,系統(tǒng)基于應用特點選擇SQLite作為嵌入式數(shù)據(jù)庫,編譯SQLite如圖6所示。
圖6 編譯SQLiteFig.6 The Compile SQLite
4.5嵌入式網關Web數(shù)據(jù)采集實現(xiàn)
首先嵌入式網關發(fā)起一次自組網網絡,并持續(xù)檢測是否有節(jié)點加入或離開本網絡,端節(jié)點接通電源,自動加入網絡,端節(jié)點加入網絡后,發(fā)送傳感器信號以及相關傳感器數(shù)據(jù)。然后ZigBee網關將無線網絡中采集到信號通過串口1發(fā)送給嵌入式平臺(s3c2440),把得到數(shù)據(jù)存入SQLite數(shù)據(jù)庫。最后通過Intetnet訪問SQLite數(shù)據(jù)庫,如圖7所示。
本文研究的是基于ZigBee協(xié)議的低速網絡數(shù)據(jù)采集無
圖7 系統(tǒng)訪問Fig.7 The System access
線傳感網絡嵌入式Web數(shù)據(jù)采集系統(tǒng)的研究與實現(xiàn),以
ZigBee無線網絡為基礎,通過ZigBee終端傳感采集節(jié)點對現(xiàn)
場數(shù)據(jù)的采集,設計出基于ZigBee協(xié)議的無線傳感器網絡嵌
入式Web數(shù)據(jù)采集系統(tǒng)。文在借鑒了現(xiàn)階段國內外Zigbee
數(shù)據(jù)采集系統(tǒng)的研究成果之上,進行了一定程度的改進和創(chuàng)
新,構建了嵌入式Linux Web服務器,結合嵌入式系統(tǒng)可靠
性高、軟硬件成本低、維護工作量小的特點,系統(tǒng)可以網絡遠
程訪問和數(shù)據(jù)維護,降低了通信成本,增強了傳感器網絡的
靈活性,應用前景非常廣泛。
[1]ZigBee Allicance.ZigBee Docunment 05347r13[EB/OL]. (2009-12)http://www.zigbee.org
[2]Doolittle L,Nelson J.Boa Web server[EB/OL].(2003-02)http://www.boa.org.
[3]張文博.基于ZigBee網絡的安全監(jiān)控系統(tǒng)關鍵技術研究與實現(xiàn)[D].鄭州:解放軍信息工程大學,2010.
[4]譚乃厚.基于ZigBee與嵌入式Web的糧庫溫濕度監(jiān)測系統(tǒng)的研究[D].武漢:武漢理工大學,2009.
[5]周輝,陳湘萍.基于ZigBee的無線路燈網絡[J].現(xiàn)代機械,2015(6):68-71.
[6]Jaws J.Web Server Comparisons[EB/OL].(1998-07)http:// www.acme.com.
[7]Doolittle L,Nelson J.Boa Web server[EB/OL].(2003-02)http://www.boa.org.
[8]王家兵.基于EM250的Zigbee無線傳感器網絡解決方案[J].今日電子,2008(1):88-90.
[9]楊璐.ZigBee路由協(xié)議算法的研究[J].電子科技,2014(3):12-14.
歡迎訂閱2016年度《電子設計工程》(半月刊)
國內郵發(fā)代號:52-142國際發(fā)行代號:M2996訂價:15.00元/期 360.00元/年
Research and application of embedded Web data acquisition system based on ZigBee technology
WANG Zheng-wan,LI Yuan-ying
(GuiZhou Vocational Technology College of Electronics&Information,Kaili 556000,China)
This paper aiming at the defects of wired data acquisition of high cost,not easy to expand,poor mobility,the design and implementation of a low rate,short distance wireless data acquisition system,low complexity,low cost,low power consumption based on ZigBee technology.The main content of this thesis is the wireless sensor network data acquisition system of ZigBee wireless microcontroller CC2530 sensor module based on paper.Is composed of a plurality of ZigBee wireless sensor data acquisition node data collected by the embedded Webserver into the Internet network,the embedded Web server uses 32 bit S3C2440 embedded processor and Linuxoperating system of ARM9 structure,which is mainly to achieve Internet access,data acquisition processing and storage.
wireless sensor network;IEEE802.15.4;ZigBee;sensor
TN925+.3
A
1674-6236(2016)03-0144-04
2015-03-30稿件編號:201503449
王正萬(1978—),男,貴州遵義人,碩士,副教授。研究方向:嵌入式應用應用技術。