摘 要: 采集人體動(dòng)作信息,,提出了一種基于ZigBee無(wú)線傳感技術(shù)的采集系統(tǒng),,以CC2530芯片為核心設(shè)計(jì)網(wǎng)絡(luò)的協(xié)調(diào)器和終端節(jié)點(diǎn),以MMA7361L三軸加速度傳感器為采集傳感器,,搭建ZigBee無(wú)線采集網(wǎng)絡(luò),,并在Visual Studio開(kāi)發(fā)環(huán)境下設(shè)計(jì)上位機(jī)監(jiān)控界面。介紹了ZigBee協(xié)議工作原理和節(jié)點(diǎn)的軟硬件設(shè)計(jì)方法,,并給出了上位機(jī)的軟件設(shè)計(jì),。實(shí)驗(yàn)給出了無(wú)線傳感網(wǎng)絡(luò)節(jié)點(diǎn)的部分采集結(jié)果,并在上位機(jī)軟件中顯示加速度變化的曲線圖,。
關(guān)鍵詞: ZigBee; 無(wú)線傳感網(wǎng)絡(luò); CC2530; MMA7361L; Z-stack協(xié)議棧; 人體動(dòng)作信息
人在日常生活中的一舉一動(dòng)都離不開(kāi)加速度的變化,,所以采集人體動(dòng)作信息主流方法之一就是利用加速度傳感器來(lái)識(shí)別人體運(yùn)動(dòng)狀態(tài)[1]。對(duì)于采集人體動(dòng)作信息,,單個(gè)加速度傳感器已經(jīng)無(wú)法滿足研究人員的需要,,出于不同的實(shí)驗(yàn)?zāi)康模度氲募铀俣葌鞲衅鲾?shù)目也不同,,傳統(tǒng)的點(diǎn)對(duì)點(diǎn)無(wú)線模塊也無(wú)法適應(yīng)多節(jié)點(diǎn)的通信需求,,結(jié)合無(wú)線傳感網(wǎng)絡(luò)技術(shù)采集信息成為學(xué)者們研究的熱點(diǎn)話題[2]。ZigBee技術(shù)憑借低成本,、低功耗,、自組織、低復(fù)雜度等特點(diǎn)[3],在自動(dòng)控制,、遠(yuǎn)程控制,、環(huán)境監(jiān)測(cè)以及智能家居領(lǐng)域相比較藍(lán)牙、WiFi和紅外等技術(shù)更具優(yōu)勢(shì)[4],?;诖耍疚脑O(shè)計(jì)實(shí)現(xiàn)了一種基于ZigBee無(wú)線傳感網(wǎng)絡(luò)的人體動(dòng)作信息采集系統(tǒng),,該系統(tǒng)可采集加速度值,,并將數(shù)據(jù)傳至上位機(jī)進(jìn)行后續(xù)處理。
1 采集平臺(tái)架構(gòu)設(shè)計(jì)
如圖1所示,,本文提出的信息采集平臺(tái)由ZigBee無(wú)線采集網(wǎng)絡(luò)和上位機(jī)監(jiān)測(cè)平臺(tái)組成,,整個(gè)ZigBee采集網(wǎng)絡(luò)由Z-stack協(xié)議棧支撐運(yùn)行。ZigBee網(wǎng)絡(luò)有且僅有一個(gè)協(xié)調(diào)器與多個(gè)路由器和終端設(shè)備組成,,本實(shí)驗(yàn)由于不需要較遠(yuǎn)距離的傳輸過(guò)程,,終端節(jié)點(diǎn)相互之間以及節(jié)點(diǎn)與協(xié)調(diào)器之間不受距離因素影響,所以本采集網(wǎng)絡(luò)不添加多余的路由節(jié)點(diǎn),,以避免不必要的路徑選擇,,提高傳輸效率,。實(shí)驗(yàn)采用3個(gè)終端節(jié)點(diǎn)和一個(gè)協(xié)調(diào)器的設(shè)計(jì)方案,3個(gè)終端設(shè)備可以分散地綁在實(shí)驗(yàn)對(duì)象身體上采集運(yùn)動(dòng)信息,,終端節(jié)點(diǎn)會(huì)將加速度值無(wú)線傳輸給協(xié)調(diào)器,,協(xié)調(diào)器再經(jīng)過(guò)串口發(fā)送給上位機(jī)軟件,上位機(jī)軟件描繪出各節(jié)點(diǎn)的三軸加速度值的變化曲線圖,。
2 ZigBee網(wǎng)絡(luò)工作原理及網(wǎng)絡(luò)拓?fù)?/strong>
實(shí)現(xiàn)整個(gè)ZigBee無(wú)線網(wǎng)絡(luò)的功能,,其核心就是ZigBee協(xié)議棧,本文采用的是美國(guó)TI公司推出的Z-stack協(xié)議棧[5],。在Z-stack協(xié)議中添加了操作系統(tǒng)抽象層OSAL(Operating System Abstraction Layer),,該層好比一個(gè)簡(jiǎn)化的實(shí)時(shí)操作系統(tǒng),實(shí)現(xiàn)的方式是建立一個(gè)多任務(wù)鏈表,,鏈表中存放著協(xié)議棧每層的處理函數(shù)名,,即指向每層處理函數(shù)的指針,并賦給每個(gè)處理函數(shù)連續(xù)的任務(wù)ID號(hào),。當(dāng)程序運(yùn)行時(shí),,就會(huì)不斷地遞增任務(wù)ID號(hào)來(lái)查詢某任務(wù)是否有事件觸發(fā),同時(shí)每一個(gè)觸發(fā)事件都伴隨一些數(shù)據(jù)傳遞,,系統(tǒng)將事件和它的數(shù)據(jù)封裝成一個(gè)消息,,為此OSAL層維護(hù)了一個(gè)消息隊(duì)列,每一個(gè)任務(wù)處理事件時(shí)會(huì)調(diào)用消息接收函數(shù)來(lái)取得自己的數(shù)據(jù)包,。
ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)分為星形網(wǎng)絡(luò),、網(wǎng)狀網(wǎng)絡(luò)以及樹(shù)狀網(wǎng)絡(luò)。由于人體動(dòng)作信息測(cè)量的終端節(jié)點(diǎn)相互距離短,,測(cè)試環(huán)境在室內(nèi)測(cè)量,實(shí)驗(yàn)采集節(jié)點(diǎn)數(shù)為3個(gè),,數(shù)據(jù)容量需求小,,所以采用結(jié)構(gòu)簡(jiǎn)單、速率較快的星形網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)[6],。
3 無(wú)線傳感網(wǎng)絡(luò)系統(tǒng)實(shí)現(xiàn)
3.1終端節(jié)點(diǎn)設(shè)計(jì)
(1)硬件組成
本文系統(tǒng)的終端節(jié)點(diǎn)以及協(xié)調(diào)器節(jié)點(diǎn)均采用TI公司的CC2530芯片設(shè)計(jì),。這款芯集成了一個(gè)高性能的RF收發(fā)器與一個(gè)增強(qiáng)型8051微處理器、8 KB的RAM,、32/64/128/256 KB閃存以及一套強(qiáng)大的外設(shè)集[7],。終端節(jié)點(diǎn)的硬件結(jié)構(gòu)圖如圖2所示,該節(jié)點(diǎn)模塊主要由傳感器模塊,、CPU內(nèi)核,、RF射頻模塊、A/D轉(zhuǎn)換模塊,、DMA控制模塊,、電源模塊以及晶振模塊組成,。其中加速度傳感器模塊采用飛思卡爾公司的MMA7361L加速度傳感器,這是一種低功耗,、高精度,、模擬量輸出的三軸加速度傳感器,本實(shí)驗(yàn)采用1.5 g精度模式,,其精度為800 mV/g,。
(2)軟件設(shè)計(jì)
終端節(jié)點(diǎn)的軟件設(shè)計(jì)要滿足低功耗、采集速度快,、保證一定的精度要求等特點(diǎn),。本系統(tǒng)ZigBee無(wú)線網(wǎng)絡(luò)的開(kāi)發(fā)平臺(tái)采用IAR Systems公司的IAR 2007開(kāi)發(fā)平臺(tái)。編程采用模塊化思想,分別有加速度傳感器驅(qū)動(dòng)模塊,、ADC轉(zhuǎn)換模塊,、DMA驅(qū)動(dòng)模塊、通信協(xié)議模塊以及中斷處理模塊,。為將讀取的加速度模擬量值轉(zhuǎn)換為可存儲(chǔ)的數(shù)字量值,,需要開(kāi)啟A/D轉(zhuǎn)換,與傳感器三軸連接的GPIO口必須設(shè)置為ADC外設(shè)引腳,。為了減輕CPU內(nèi)核的負(fù)擔(dān),,降低轉(zhuǎn)換時(shí)間,提高收發(fā)速率,,本實(shí)驗(yàn)采用直接存取訪問(wèn)(DMA)控制器將加速度值從A/D轉(zhuǎn)換模塊不經(jīng)過(guò)CPU直接傳送到RF接收緩存器中,,再傳送給協(xié)調(diào)器單元[8]。終端節(jié)點(diǎn)的程序流程圖如圖3所示,。
MMA7361L三軸加速度器所測(cè)得的加速度值為模擬量,,經(jīng)過(guò)A/D裝換后得到對(duì)應(yīng)的數(shù)字量,本實(shí)驗(yàn)用線性插值法計(jì)算出與實(shí)測(cè)數(shù)字量對(duì)應(yīng)的加速度值,。具體公式如下:
其中Dig為測(cè)得模擬量,; A為所求的加速度值; U為電壓,其量程為0 V~3.3 V,; G為重力加速度,其量程為-1.5 g~1.5 g,;C為常數(shù),該A/D轉(zhuǎn)換的有效位共9位,故29為512。
3.2 協(xié)調(diào)器設(shè)計(jì)
協(xié)調(diào)器硬件設(shè)計(jì)與終端節(jié)點(diǎn)類似,,協(xié)調(diào)器軟件實(shí)現(xiàn)主要分為網(wǎng)絡(luò)管理,、數(shù)據(jù)上傳功能。網(wǎng)絡(luò)管理包括了創(chuàng)建ZigBee網(wǎng)絡(luò),允許新的終端節(jié)點(diǎn)加入網(wǎng)絡(luò)并分配16位網(wǎng)絡(luò)地址,,接收網(wǎng)絡(luò)中各節(jié)點(diǎn)數(shù)據(jù),,向網(wǎng)絡(luò)各節(jié)點(diǎn)發(fā)送操作命令,綁定網(wǎng)絡(luò)節(jié)點(diǎn)等操作。數(shù)據(jù)上傳則是與上位機(jī)的通信模塊,,在接收到了某終端節(jié)點(diǎn)的數(shù)據(jù)后立即送至上位機(jī),才能使上位機(jī)同步的做出加速度值變化曲線圖,。為此,協(xié)調(diào)器沿用DMA控制器將RF收發(fā)緩沖器的數(shù)據(jù)不通過(guò)CPU內(nèi)核直接發(fā)送至UART串口,,這樣可以保證傳輸速率同時(shí)不加重CPU負(fù)擔(dān)[9],。協(xié)調(diào)器的軟件設(shè)計(jì)過(guò)程如圖4所示,網(wǎng)絡(luò)中有3個(gè)終端采集節(jié)點(diǎn),,所以要在確認(rèn)與3個(gè)節(jié)點(diǎn)都通信成功以后再進(jìn)行數(shù)據(jù)采集工作,。
4 上位機(jī)軟件設(shè)計(jì)與實(shí)現(xiàn)
上位機(jī)監(jiān)測(cè)軟件是在Visual Studio開(kāi)發(fā)環(huán)境下自定義編寫(xiě)的。軟件界面上能顯示協(xié)調(diào)器向上位機(jī)串口所發(fā)送的數(shù)據(jù),,經(jīng)過(guò)處理后分別可顯示出各終端節(jié)點(diǎn)的網(wǎng)絡(luò)短地址以及對(duì)應(yīng)的三軸加速度X,、Y、Z實(shí)時(shí)變化的數(shù)值,,最后在每個(gè)節(jié)點(diǎn)對(duì)應(yīng)的圖框中顯示三軸的變換曲線趨勢(shì)圖,,以紅、藍(lán),、綠三色線分別表示不同的方向,。測(cè)試結(jié)果如圖5所示,圖中有A,、B,、C 3個(gè)終端采集節(jié)點(diǎn),分別固定在人體的手臂以及兩腿腳踝處,。前兩幅曲線圖采集的是走路時(shí)左右腳的加速度值變換,,圖中的波峰波谷振動(dòng)區(qū)域就是抬腳落地的過(guò)程,平穩(wěn)區(qū)則是腳和地面接觸的過(guò)程,;第三幅曲線圖采集的是手臂來(lái)回?cái)[動(dòng)加速度值變化曲線,,可以從X、Y方向上明顯看出周期性變化,,Z方向也有小幅變化,,不明顯的原因是Z方向幾乎垂直于手臂擺動(dòng)的運(yùn)動(dòng)平面。
將ZigBee網(wǎng)絡(luò)用于采集人體動(dòng)作信息,,介紹了采集網(wǎng)絡(luò)以及檢測(cè)平臺(tái)的總體方案,ZigBee協(xié)議棧的工作原理及網(wǎng)絡(luò)拓?fù)?,終端節(jié)點(diǎn)以及協(xié)調(diào)器的軟硬件設(shè)計(jì),,并對(duì)系統(tǒng)進(jìn)行測(cè)試。測(cè)試結(jié)果表明,,利用ZigBee網(wǎng)絡(luò)星形拓?fù)淠軌蜉^好地采集到各節(jié)點(diǎn)加速度值并上傳,,通過(guò)自定義編寫(xiě)的監(jiān)測(cè)軟件可以觀察加速度值的變化曲線,從而分析人體動(dòng)作的變化。該系統(tǒng)方案實(shí)現(xiàn)了對(duì)人體動(dòng)作信息的采集,,利用該采集網(wǎng)絡(luò)進(jìn)行二次開(kāi)發(fā),,分析動(dòng)作類別,模擬出人體的運(yùn)動(dòng)軌跡,,可應(yīng)用于更廣闊的平臺(tái),。
參考文獻(xiàn)
[1] 薛洋.基于單個(gè)加速度傳感器的人體運(yùn)動(dòng)模式識(shí)別[D].廣州:華南理工大學(xué),2011.
[2] 謝小芳,黃俊,譚成宇.基于RFID的電力溫度監(jiān)控系統(tǒng)的軟件分析與設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2013,39(1):23-26.
[3] 劉溯. 基于ZigBee技術(shù)的工業(yè)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué), 2011.
[4] 原羿,蘇鴻根.基于ZigBee技術(shù)的無(wú)線網(wǎng)絡(luò)應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用與軟件, 2004, 21(6): 89-91.
[5] 陳志奎, 李良. 基于ZigBee的智能家庭醫(yī)保系統(tǒng)[J].計(jì)算機(jī)研究與發(fā)展, 2010,47(2):355-360.
[6] Instrument T. Z-Stack-ZigBee protocol stack[Z]. 2009.
[7] 宋冬,廖杰,陳星,等.基于 ZigBee和GPRS的智能家居系統(tǒng)設(shè)計(jì)[J]. Computer Engineering, 2012,38(23):243-246.
[8] Instruments T. Z-Stack User′s Guide For SmartRF05EBand CC2530[EB/OL].(2010-01-19)[2012-04-18].http://www.ti.com.
[9] Instruments T. CC2530 data sheet[EB/OL].(2010-10-05)[2012-09-14].http://www.ti.com.