王正萬,李遠(yuǎn)英
(貴州電子信息職業(yè)技術(shù)學(xué)院 貴州 凱里 556000)
基于ZigBee技術(shù)的嵌入式Web數(shù)據(jù)采集系統(tǒng)的研究與應(yīng)用
王正萬,李遠(yuǎn)英
(貴州電子信息職業(yè)技術(shù)學(xué)院 貴州 凱里 556000)
本文針對(duì)有線數(shù)據(jù)采集方式成本高、不易擴(kuò)展、移動(dòng)性差等缺陷,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于ZigBee技術(shù)的低速率、近距離、低復(fù)雜度、低成本、低功耗的無線數(shù)據(jù)采集系統(tǒng)。本文研究的內(nèi)容主要是文研究的基于ZigBee無線單片機(jī)CC2530傳感器模塊組成的無線傳感網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)。由若干個(gè)ZigBee無線傳感器數(shù)據(jù)采集節(jié)點(diǎn)采集的數(shù)據(jù)經(jīng)嵌入式Web服務(wù)器進(jìn)入Internet網(wǎng),嵌入式Web服務(wù)器采用ARM9結(jié)構(gòu)的32位嵌入式處理器S3C2440和Linux操作系統(tǒng),它主要實(shí)現(xiàn)Internet接入,采集數(shù)據(jù)的處理與存儲(chǔ)等。
無線傳感網(wǎng)絡(luò);IEEE802.15.4;ZigBee;傳感器
當(dāng)前對(duì)于大多數(shù)數(shù)據(jù)采集系統(tǒng)而言,主要應(yīng)用研究對(duì)象都高速率和長距離數(shù)據(jù)采集系統(tǒng)上,低速數(shù)據(jù)采集系統(tǒng)的研究相對(duì)較少,但低速數(shù)據(jù)采集系統(tǒng)在工農(nóng)業(yè)生產(chǎn)、信息家電、醫(yī)療系統(tǒng)中都有很廣的應(yīng)用。嵌入式Web服務(wù)器是當(dāng)今嵌入式系統(tǒng)的研究和應(yīng)用熱點(diǎn),再加上現(xiàn)在Internet和寬帶的普及,技術(shù)有很大的可行性。在ZigBee無線傳感器網(wǎng)絡(luò)基礎(chǔ)上構(gòu)建嵌入式Web數(shù)據(jù)采集系統(tǒng),可以利用嵌入式系統(tǒng)成本低、維護(hù)方便、可靠性高的特點(diǎn),從而實(shí)現(xiàn)無人值守,系統(tǒng)長期運(yùn)行的應(yīng)用要求。這樣不僅提高了工作效率,而且大大降低了設(shè)備成本,同時(shí)簡化了軟件系統(tǒng)的設(shè)計(jì)和維護(hù),使用戶隨時(shí)隨地不需要安裝任何軟件都可通過Internet瀏覽器查看現(xiàn)場采集數(shù)據(jù),如果接入GPRS,還可實(shí)現(xiàn)系統(tǒng)與手機(jī)通信。
備等多個(gè)領(lǐng)域得到全面的應(yīng)用。本文對(duì)幾種短距離無線通信技術(shù)進(jìn)行了比較,見表1。ZigBee其特點(diǎn)包括成本低、功耗低、通信延時(shí)時(shí)間很短、網(wǎng)絡(luò)容量大、數(shù)據(jù)傳輸安全性高、網(wǎng)絡(luò)可靠性高、網(wǎng)絡(luò)自組織性強(qiáng)等。
在ZigBee網(wǎng)絡(luò)中,ZigBee以一個(gè)個(gè)獨(dú)立的ZigBee節(jié)點(diǎn)為依托,每個(gè)ZigBee節(jié)點(diǎn)分為半功能設(shè)備(RFD)和全功能設(shè)備(FFD)。圖1是IEEE802.15.4給出的ZigBee網(wǎng)絡(luò)中各種設(shè)備的類型以及它們?cè)诰W(wǎng)絡(luò)中所處的地位。
依據(jù)ZigBee網(wǎng)絡(luò)中設(shè)備功能的區(qū)別,一般分為ZigBee協(xié)調(diào)器、路由器和網(wǎng)絡(luò)通信數(shù)據(jù)終端設(shè)備。ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可以分為星形網(wǎng)絡(luò)、網(wǎng)狀網(wǎng)絡(luò)和簇狀網(wǎng)絡(luò)3種拓?fù)浣Y(jié)構(gòu),如圖2所示[1]。
ZigBee技術(shù)的應(yīng)用范圍是非常廣泛,發(fā)展前途十分看好。在未來一段時(shí)間里面,該技術(shù)將在汽車自動(dòng)化、工業(yè)控制、樓宇自動(dòng)化、工業(yè)無線定位、消費(fèi)電子、家庭網(wǎng)絡(luò)、醫(yī)用設(shè)
系統(tǒng)是基于ZigBee無線單片機(jī)CC2530傳感器模塊組成的無線傳感網(wǎng)絡(luò)多點(diǎn)數(shù)據(jù)采集系統(tǒng),主要由若干個(gè)ZigBee技術(shù)的無線傳感器數(shù)據(jù)采集節(jié)點(diǎn)和嵌入式Web服務(wù)器組成,系統(tǒng)結(jié)構(gòu)如圖3所示。系統(tǒng)設(shè)計(jì)采用ARM結(jié)構(gòu)的32位嵌入式處理器S3C2440和Linux系統(tǒng)設(shè)計(jì)的嵌入式服務(wù)器,整個(gè)系統(tǒng)完成了基于ZigBee協(xié)議的無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)采集系統(tǒng)總體硬件軟件架構(gòu)的搭建,并以溫濕度數(shù)據(jù)采集為例,實(shí)現(xiàn)了數(shù)據(jù)采集的基本功能及Internet遠(yuǎn)程訪問[2]。
表1 短距離無線通信技術(shù)特點(diǎn)Tab.1 The Short distance wireless communication technology
圖1 IEEE802.15.4網(wǎng)絡(luò)組件和拓?fù)潢P(guān)系Fig.1 The IEEE802.15.4 network components and network topology
系統(tǒng)設(shè)計(jì)結(jié)構(gòu)簡述如下:
1)系統(tǒng)最底層的無線傳感器數(shù)據(jù)采集節(jié)點(diǎn)負(fù)責(zé)對(duì)溫濕度數(shù)據(jù)的實(shí)時(shí)采集,通過ZigBee無線網(wǎng)絡(luò)傳給ZigBee協(xié)調(diào)器或路由器。ZigBee協(xié)調(diào)器或路由器收到數(shù)據(jù)后,轉(zhuǎn)發(fā)給嵌入式Web服務(wù)器。
圖2 ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.2 The ZigBee network topology structure
圖3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)Fig.3 The design of system structure
2)嵌入式Web服務(wù)器是的主要功能是ZigBee無線傳感器網(wǎng)絡(luò)和Internet之間的網(wǎng)關(guān)模塊,實(shí)現(xiàn)了系統(tǒng)采集數(shù)據(jù)資源共享。
3)因特網(wǎng)上的電腦,可隨時(shí)通過互聯(lián)網(wǎng)訪問嵌入式Web服務(wù)器,實(shí)時(shí)遠(yuǎn)程監(jiān)控系統(tǒng)采集數(shù)據(jù),進(jìn)行數(shù)據(jù)處理和遠(yuǎn)程控制。
系統(tǒng)主要實(shí)現(xiàn)以下功能:
1)ZigBee無線傳感器數(shù)據(jù)采集節(jié)點(diǎn)的設(shè)計(jì)滿足系統(tǒng)數(shù)據(jù)采集的要求。
2)基于ARM S3C2440+Linux嵌入式Web服務(wù)器實(shí)現(xiàn)嵌入式Webserver,并支持CGI動(dòng)態(tài)網(wǎng)頁。
3)嵌入式Web服務(wù)器能夠接收ZigBee無線傳感器數(shù)據(jù)采集節(jié)點(diǎn)采集的溫濕度數(shù)據(jù)。
4)系統(tǒng)可通過USB接口外接U盤擴(kuò)充系統(tǒng)存儲(chǔ)容量。
5)用戶可以通過Intenet瀏覽器遠(yuǎn)程訪問該嵌入式Web服務(wù)器查看系統(tǒng)采集數(shù)據(jù)。
數(shù)據(jù)采集系統(tǒng)Web服務(wù)器核心控制單元采用ARM S3C2440,通過CC2530與采集節(jié)點(diǎn)進(jìn)行數(shù)據(jù)通信,可通過互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)傳輸。數(shù)據(jù)采集節(jié)點(diǎn)的功能主要是將捕捉的現(xiàn)場信號(hào)經(jīng)轉(zhuǎn)換器ADC采樣、量化、編碼后,變成數(shù)字信號(hào)傳給微處理器,并無線發(fā)送數(shù)據(jù),嵌入式Web服務(wù)器負(fù)責(zé)收發(fā)數(shù)據(jù)、采集數(shù)據(jù)處理等,系統(tǒng)設(shè)計(jì)方案見圖4所示[3]。
圖4 系統(tǒng)設(shè)計(jì)方案Fig.4 The design scheme of the system
無線網(wǎng)關(guān)射頻芯片選用CC2530(2.4 GHz,支持250Kb/s數(shù)據(jù)傳輸率),微處理器采用S3C2440嵌入式工業(yè)級(jí)芯片。ARM嵌入式網(wǎng)關(guān)板是采用三星公司 S3C2440作為核心處理器,可以在系統(tǒng)中對(duì)無線傳感器的相關(guān)設(shè)備信息進(jìn)行顯示及分析,也可以對(duì)對(duì)被控單元進(jìn)行相關(guān)的控制。
4.1IAR開發(fā)環(huán)境
IAR嵌入式集成開發(fā)環(huán)境,它支持所有的ARM處理器,其中包括編輯器、項(xiàng)目管理器、匯編器、C/C++編譯器、連接器、調(diào)試器等。IAR內(nèi)置的有代碼優(yōu)化器針對(duì)不同的芯片,因此可以生成高效簡潔、可靠高的程序代碼。
4.2Linux內(nèi)核移植
Linux內(nèi)核移植一般可以分為板級(jí)移植和片級(jí)移植,板級(jí)移植指的是Linux已經(jīng)支持相應(yīng)的處理器,只需對(duì)硬件進(jìn)行少量修改就可以了,片級(jí)移植指的是如果Linux中沒有相應(yīng)的處理器支持,則需要進(jìn)行相應(yīng)處理器的內(nèi)核移植[4]。本文采用的Linux中已經(jīng)包含S3C2440X ARM920T處理器的移植包,通過u-boot將該文件下載到目標(biāo)板并執(zhí)行,Linux內(nèi)核移植開發(fā)流程如圖5所示。
1)編譯內(nèi)核
圖5 內(nèi)核移植Fig.5 The kernel transplantation
之后會(huì)在 “/home/cvtech/04 linux/linux-2.6.24.2/arch/arm/ boot/”內(nèi)生成內(nèi)核鏡像文件zImage
2)通過zImage生成uImage
4.3Linux下Web服務(wù)的移植與建立
Httpd,Boa、Thttpd是 Linux下主要的嵌入式 Web服務(wù)器。Httpd不支持CGI和認(rèn)證,是三個(gè)中功能最弱的,最簡單的一個(gè)嵌入式Web服務(wù)器。而Boa和Thttpd都支持CGI和認(rèn)證等,功能比較強(qiáng)大。如果Web服務(wù)器只需要一些簡單靜態(tài)網(wǎng)頁,就可使用Httpd Web服務(wù)器來實(shí)現(xiàn)。如果需要與用戶進(jìn)行如數(shù)據(jù)、實(shí)時(shí)狀態(tài)等的數(shù)據(jù)交互,就必須選用Thttpd 或Boa來才能實(shí)現(xiàn)Web服務(wù)[6]。
系統(tǒng)選擇的是Boa Web作為系統(tǒng)的嵌入式服務(wù)器,Boa Web服務(wù)器精簡、運(yùn)行效率高,兼容Unix或Linux操作系統(tǒng),源代碼開放、性能好。Thttpd或Boa兩者相比,Thttpd在運(yùn)行所需資源要高于boa,支持CGI。通用網(wǎng)關(guān)接口CGI(Common Gate Interface)的主要作用是在Web環(huán)境下,把從用戶端傳來的數(shù)據(jù)轉(zhuǎn)給Web服務(wù)器,然后由Web服務(wù)器去指定相應(yīng)的任務(wù)程序來完成數(shù)據(jù)的處理,并把結(jié)果以網(wǎng)頁的形式返回用戶端[7]。
會(huì)在 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ù)庫的主要作用是能夠?qū)崿F(xiàn)數(shù)據(jù)信息存儲(chǔ)和檢索等功能。嵌入式數(shù)據(jù)庫具備傳統(tǒng)數(shù)據(jù)庫的基本特征,它和傳統(tǒng)數(shù)據(jù)庫也有明顯的區(qū)別:傳統(tǒng)的數(shù)據(jù)庫使用引擎方式驅(qū)動(dòng),而嵌入式數(shù)據(jù)庫則通過程序方式直接驅(qū)動(dòng)。而且嵌入式數(shù)據(jù)庫容量一般都很小,編譯后也不過幾十KB,從而使嵌入式數(shù)據(jù)庫可以很容易的移植到嵌入式設(shè)備上[8]。目前,兼容Linux的數(shù)據(jù)庫很多,SQLite是比較典型的一個(gè),系統(tǒng)基于應(yīng)用特點(diǎn)選擇SQLite作為嵌入式數(shù)據(jù)庫,編譯SQLite如圖6所示。
圖6 編譯SQLiteFig.6 The Compile SQLite
4.5嵌入式網(wǎng)關(guān)Web數(shù)據(jù)采集實(shí)現(xiàn)
首先嵌入式網(wǎng)關(guān)發(fā)起一次自組網(wǎng)網(wǎng)絡(luò),并持續(xù)檢測是否有節(jié)點(diǎn)加入或離開本網(wǎng)絡(luò),端節(jié)點(diǎn)接通電源,自動(dòng)加入網(wǎng)絡(luò),端節(jié)點(diǎn)加入網(wǎng)絡(luò)后,發(fā)送傳感器信號(hào)以及相關(guān)傳感器數(shù)據(jù)。然后ZigBee網(wǎng)關(guān)將無線網(wǎng)絡(luò)中采集到信號(hào)通過串口1發(fā)送給嵌入式平臺(tái)(s3c2440),把得到數(shù)據(jù)存入SQLite數(shù)據(jù)庫。最后通過Intetnet訪問SQLite數(shù)據(jù)庫,如圖7所示。
本文研究的是基于ZigBee協(xié)議的低速網(wǎng)絡(luò)數(shù)據(jù)采集無
圖7 系統(tǒng)訪問Fig.7 The System access
線傳感網(wǎng)絡(luò)嵌入式Web數(shù)據(jù)采集系統(tǒng)的研究與實(shí)現(xiàn),以
ZigBee無線網(wǎng)絡(luò)為基礎(chǔ),通過ZigBee終端傳感采集節(jié)點(diǎn)對(duì)現(xiàn)
場數(shù)據(jù)的采集,設(shè)計(jì)出基于ZigBee協(xié)議的無線傳感器網(wǎng)絡(luò)嵌
入式Web數(shù)據(jù)采集系統(tǒng)。文在借鑒了現(xiàn)階段國內(nèi)外Zigbee
數(shù)據(jù)采集系統(tǒng)的研究成果之上,進(jìn)行了一定程度的改進(jìn)和創(chuàng)
新,構(gòu)建了嵌入式Linux Web服務(wù)器,結(jié)合嵌入式系統(tǒng)可靠
性高、軟硬件成本低、維護(hù)工作量小的特點(diǎn),系統(tǒng)可以網(wǎng)絡(luò)遠(yuǎn)
程訪問和數(shù)據(jù)維護(hù),降低了通信成本,增強(qiáng)了傳感器網(wǎng)絡(luò)的
靈活性,應(yīng)用前景非常廣泛。
[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網(wǎng)絡(luò)的安全監(jiān)控系統(tǒng)關(guān)鍵技術(shù)研究與實(shí)現(xiàn)[D].鄭州:解放軍信息工程大學(xué),2010.
[4]譚乃厚.基于ZigBee與嵌入式Web的糧庫溫濕度監(jiān)測系統(tǒng)的研究[D].武漢:武漢理工大學(xué),2009.
[5]周輝,陳湘萍.基于ZigBee的無線路燈網(wǎng)絡(luò)[J].現(xiàn)代機(jī)械,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無線傳感器網(wǎng)絡(luò)解決方案[J].今日電子,2008(1):88-90.
[9]楊璐.ZigBee路由協(xié)議算法的研究[J].電子科技,2014(3):12-14.
歡迎訂閱2016年度《電子設(shè)計(jì)工程》(半月刊)
國內(nèi)郵發(fā)代號(hào):52-142國際發(fā)行代號(hào):M2996訂價(jià):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稿件編號(hào):201503449
王正萬(1978—),男,貴州遵義人,碩士,副教授。研究方向:嵌入式應(yīng)用應(yīng)用技術(shù)。