當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]摘要:為解決現(xiàn)Z-Stack定位程序代碼量大,結(jié)構(gòu)復(fù)雜等問題,提出一種基于TinyOS的CC2430定位方案。在分析TinyOS組件架構(gòu)基礎(chǔ)上,設(shè)計(jì)實(shí)現(xiàn)盲節(jié)點(diǎn)、錨節(jié)點(diǎn)與匯聚節(jié)點(diǎn)間的無線通信以及匯聚節(jié)點(diǎn)與PC機(jī)的串口通信。在此基礎(chǔ)

摘要:為解決現(xiàn)Z-Stack定位程序代碼量大,結(jié)構(gòu)復(fù)雜等問題,提出一種基于TinyOS的CC2430定位方案。在分析TinyOS組件架構(gòu)基礎(chǔ)上,設(shè)計(jì)實(shí)現(xiàn)盲節(jié)點(diǎn)、錨節(jié)點(diǎn)與匯聚節(jié)點(diǎn)間的無線通信以及匯聚節(jié)點(diǎn)與PC機(jī)的串口通信。在此基礎(chǔ)上實(shí)現(xiàn)PC對(duì)各錨節(jié)點(diǎn)RSSI(Received Signal Strength Indicator)寄存器值的正確讀取,確定實(shí)驗(yàn)室環(huán)境下對(duì)教-常態(tài)無線傳播模型的具體參數(shù),并采用質(zhì)心算法來提高定位精度。實(shí)驗(yàn)顯示,在由四個(gè)錨節(jié)點(diǎn)組成的4.8x3.6m2矩形定位區(qū)域中,通過RSSI質(zhì)心定位算法求得的盲節(jié)點(diǎn)坐標(biāo)為(2.483 1,1.018 5),實(shí)際坐標(biāo)為(2.40,1.20),誤差為0.199 6 m,表明較好地實(shí)現(xiàn)對(duì)盲節(jié)點(diǎn)的定位。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);TinyOS;CC2430;RSSI;質(zhì)心算法

    無線傳感器網(wǎng)絡(luò)是由分布在給定區(qū)域內(nèi)大量傳感器節(jié)點(diǎn)以無線自組織多跳的通信方式構(gòu)成的網(wǎng)絡(luò)系統(tǒng),目前在環(huán)境監(jiān)測保護(hù)、樓宇監(jiān)控、家庭安防、醫(yī)療護(hù)理、目標(biāo)跟蹤、軍事等領(lǐng)域已獲得了廣泛的應(yīng)用。
   
1 CC2430芯片介紹
    CC2430芯片是TI/Chipcon公司生產(chǎn)的真正意義上的片上系統(tǒng)(SOC)級(jí)解決方案,它集增強(qiáng)型工業(yè)標(biāo)準(zhǔn)8051核心、優(yōu)秀的射頻芯片CC24 20、強(qiáng)大的外圍資源于一體。集成的外設(shè)資源主要有DMA、定時(shí)/計(jì)數(shù)器、看門狗定時(shí)器、AES-128協(xié)處理器、8通道8~14位ADC、USART、休眠模式定時(shí)器、復(fù)位電路及21個(gè)可編程I/O,支持IEEE802.15.4和ZigBee協(xié)議。
    CC2430芯片具有性能高、功耗低、接收靈敏度高、抗干擾性強(qiáng)、硬件CSMA/CA支持、數(shù)字化RSSI/LQI支持、DMA支持等特點(diǎn),支持無線數(shù)據(jù)傳輸率高達(dá)250 kbps。

2 TinyOS系統(tǒng)與nesC語言
    由于無線傳感器網(wǎng)絡(luò)的特殊性,需要操作系統(tǒng)能夠高效地使用傳感器節(jié)點(diǎn)的有限內(nèi)存、低功耗處理器、多樣傳感器、有限的電源,并且能對(duì)各種特定應(yīng)用提供最大的支持。
    基于此,UC Berkeley研究人員專為嵌入式無線傳感器網(wǎng)絡(luò)開發(fā)出TinyOS系統(tǒng),目前已經(jīng)成為無線傳感器網(wǎng)絡(luò)領(lǐng)域事實(shí)上的標(biāo)準(zhǔn)平臺(tái)。  TinyOS系統(tǒng)具有組件化編程、事件驅(qū)動(dòng)模式、輕量級(jí)線程技術(shù)、主動(dòng)消息通信技術(shù)等特點(diǎn)。TinyOS采用組件架構(gòu)方式,快速實(shí)現(xiàn)各種應(yīng)用,組件包括網(wǎng)絡(luò)協(xié)議、分布式服務(wù)、傳感器驅(qū)動(dòng)以及數(shù)據(jù)獲取工具等,一個(gè)完整的應(yīng)用系統(tǒng)通過組合不同的組件來實(shí)現(xiàn)。采用事件驅(qū)動(dòng)的運(yùn)行模型,可以處理高并發(fā)性的事件,并實(shí)現(xiàn)節(jié)能。
    TinyOS應(yīng)用程序通常由頂層配件、核心處理模塊和其它組件構(gòu)成。每個(gè)應(yīng)用程序有且僅有一個(gè)頂層配件,組件間通過接口進(jìn)行連接通信,下層組件提供接口,通過provideinterface interfaceName來聲明,上層組件使用接口,通過useinterface interfaceName來聲明。接口提供兩類函數(shù),分別是命令(command)函數(shù)與事件(event)函數(shù),上層組件向下層組件發(fā)出命令,啟動(dòng)下層組件的功能:下層組件完成相應(yīng)的功能后向上層組件報(bào)告事件。應(yīng)用程序總體框架如圖1所示。


    TinyOS系統(tǒng)本身以及應(yīng)用程序都是采用nesC語言編寫,nesC語言是對(duì)C語言的擴(kuò)展,具有類似于C語言的語法,但支持TinyOS的并發(fā)模型,同時(shí)具有組件化機(jī)制,能夠與其他組件連接在一起從而形成一個(gè)魯棒性很好的嵌入式系統(tǒng)。nesC語言把組件化/模塊化的編程思想和基于事件驅(qū)動(dòng)的執(zhí)行模型緊密結(jié)合起來。應(yīng)用nesC語言能夠更快速方便地編寫基于TinyOS的應(yīng)用程序。

3 RSSI定位原理
    RSSI全稱Received Signal Strength Indicator(接收信號(hào)強(qiáng)度指示),是一種基于距離的定位算法。RSSI原理是已知發(fā)射節(jié)點(diǎn)的發(fā)射信號(hào)強(qiáng)度,接收節(jié)點(diǎn)根據(jù)接收信號(hào)的強(qiáng)度,計(jì)算出信號(hào)在傳播過程中的損耗,利用理論和經(jīng)驗(yàn)?zāi)P蛯鬏敁p耗轉(zhuǎn)化為距離,再根據(jù)接收節(jié)點(diǎn)的已知位置利用三邊測量法計(jì)算出發(fā)射節(jié)點(diǎn)的位置。由于該方法不需要額外的硬件設(shè)備,是一種低功耗廉價(jià)的測距技術(shù),因此在很多項(xiàng)目中得到了廣泛的應(yīng)用。


    本文在RSSI定位基礎(chǔ)上使用質(zhì)心算法提高定位精度,如圖2所示,最后求得的盲節(jié)點(diǎn)坐標(biāo)為點(diǎn)D、E和F組成的三角形的質(zhì)心。

4 定位算法在TinyOS中的實(shí)現(xiàn)
    根據(jù)RSSI測距原理,要確定盲節(jié)點(diǎn)的位置,至少需要三個(gè)錨節(jié)點(diǎn)(已知位置的接收節(jié)點(diǎn)),并需要一個(gè)匯聚節(jié)點(diǎn)來傳輸各錨節(jié)點(diǎn)的RSSI寄存器值到PC機(jī),最終通過串口調(diào)試助手來顯示結(jié)果并進(jìn)一步定位盲節(jié)點(diǎn)坐標(biāo)。下面分別介紹移動(dòng)盲節(jié)點(diǎn)、靜態(tài)錨節(jié)點(diǎn)以及匯聚節(jié)點(diǎn)的實(shí)現(xiàn)流程。
4.1 盲節(jié)點(diǎn)
    盲節(jié)點(diǎn)的主要任務(wù)是向所有錨節(jié)點(diǎn)廣播信息,具體的流程如圖3所示。


    
4.2 靜態(tài)錨節(jié)點(diǎn)
    錨節(jié)點(diǎn)主要功能是接收盲節(jié)點(diǎn)的廣播信息,然后提取RSSI寄存器中的值,通過路由層發(fā)送接口轉(zhuǎn)發(fā)給匯聚節(jié)點(diǎn),或轉(zhuǎn)發(fā)其它錨節(jié)點(diǎn)的數(shù)據(jù)給匯聚節(jié)點(diǎn)。主要實(shí)現(xiàn)流程如圖4所示。


    錨節(jié)點(diǎn)的組件連接如下:

    靜態(tài)錨節(jié)點(diǎn)通過CC2420Packet接口來獲取RSSI值,具體函數(shù)如下:
    rssi=((int)call CC2420Paeket.getRssi(msg));
4.3 匯聚節(jié)點(diǎn)
    匯聚節(jié)點(diǎn),也稱為基站,主要負(fù)責(zé)接收各錨節(jié)點(diǎn)發(fā)送的接收表信息,包括錨節(jié)點(diǎn)ID、DSN和RSSI,并將這些數(shù)據(jù)包通過串口轉(zhuǎn)發(fā)到PC機(jī)。具體流程如圖5所示。


    匯聚節(jié)點(diǎn)組件連接如下:
   
   
4.4 程序移植與實(shí)驗(yàn)結(jié)果
    本實(shí)驗(yàn)在Cygwin平臺(tái)下進(jìn)行編譯與移植,編譯過程如圖6所示。


    進(jìn)入Cygwin環(huán)境,切換到TinyOS定位程序目錄下,輸入編譯移植命令:
    make cc2430em install NID=0x GRP=00
    其中NID是節(jié)點(diǎn)號(hào),是節(jié)點(diǎn)的身份標(biāo)識(shí),同一網(wǎng)絡(luò)中的節(jié)點(diǎn)號(hào)必須惟一;GRP是網(wǎng)絡(luò)號(hào),同一網(wǎng)絡(luò)中所有節(jié)點(diǎn)的網(wǎng)絡(luò)號(hào)必須一致。
    在所有節(jié)點(diǎn)的TinyOS移植完畢后,啟動(dòng)所有節(jié)點(diǎn),應(yīng)用串口調(diào)試助手顯示匯聚節(jié)點(diǎn)發(fā)送到PC機(jī)的RSSI數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)如圖7所示,其中1~7個(gè)字節(jié)數(shù)據(jù)為信息包的包頭,8~9兩字節(jié)為中繼錨節(jié)點(diǎn)的節(jié)點(diǎn)號(hào),10~11兩字節(jié)為源錨節(jié)點(diǎn)的節(jié)點(diǎn)號(hào),12~13字節(jié)為源錨節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的跳數(shù),14~15字節(jié)為盲節(jié)點(diǎn)的節(jié)點(diǎn)號(hào),21~22兩字節(jié)數(shù)據(jù)為錨節(jié)點(diǎn)的RSSI值。


    在確定PC機(jī)能夠正確接收各錨節(jié)點(diǎn)的RSSI值后,還需要選取合適的RSSI測距信號(hào)衰減模型,將RSSI值轉(zhuǎn)化為距離。本實(shí)驗(yàn)中采用在無線信號(hào)傳輸中應(yīng)用廣泛的對(duì)數(shù)--常態(tài)模型,如式(1)所示:
    RSSI=-(10n·lg(d)+A)+45 (1)
    其中A為盲節(jié)點(diǎn)與錨節(jié)點(diǎn)相距1米時(shí)RSSI的絕對(duì)值,本實(shí)驗(yàn)中測得A≈40,n為無線信號(hào)傳播指數(shù),一般取2~4,經(jīng)過多次試驗(yàn)取3.0較為合適。將本模型應(yīng)用在所測得的RSSI中,并對(duì)比實(shí)際距離得到如表1和圖8所示結(jié)果:表1中d為RSSI理論模型所得距離,D為實(shí)際測量結(jié)果。


    在實(shí)驗(yàn)室環(huán)境下布置了4個(gè)錨節(jié)點(diǎn)、1個(gè)匯聚節(jié)點(diǎn)和1個(gè)盲節(jié)點(diǎn),4個(gè)錨節(jié)點(diǎn)分布在4.8x3.6 m2矩形的4個(gè)點(diǎn),盲節(jié)點(diǎn)位于矩形區(qū)域內(nèi),匯聚節(jié)點(diǎn)在矩形區(qū)域外。
    讀取如圖7所示的各錨節(jié)點(diǎn)RSSI值,在Matlab環(huán)境下通過對(duì)數(shù)--常態(tài)傳播模型將RSSI值轉(zhuǎn)變?yōu)榫嚯x,最后通過質(zhì)心算法對(duì)盲節(jié)點(diǎn)進(jìn)行定位,計(jì)算出盲節(jié)點(diǎn)的坐標(biāo)。在實(shí)驗(yàn)中采用10次測量取平均值來減小定位誤差,并計(jì)算對(duì)比盲節(jié)點(diǎn)理論坐標(biāo)與實(shí)際坐標(biāo)的誤差,得到如圖9所示的定位結(jié)果。


    通過定位算法計(jì)算出的盲節(jié)點(diǎn)坐標(biāo)為(2.483 1,1.018 5),實(shí)際盲節(jié)點(diǎn)坐標(biāo)為(2.4,1.2),誤差為0.199 6 m,基本實(shí)現(xiàn)了對(duì)盲節(jié)點(diǎn)的定位。

5 結(jié)論
    本文在TinyOS操作系統(tǒng)下實(shí)現(xiàn)了基于CC2430模塊的RSSI定位,分析了盲節(jié)點(diǎn)、錨節(jié)點(diǎn)和匯聚節(jié)點(diǎn)的工作流程,確定了實(shí)驗(yàn)室條件下無線傳輸模型Shadowing模型參數(shù),最后利用Matlab計(jì)算出盲節(jié)點(diǎn)坐標(biāo)。定位結(jié)果顯示,通過定位算法所得的盲節(jié)點(diǎn)坐標(biāo)與實(shí)際坐標(biāo)誤差為0.199 6 m,可滿足大多數(shù)無線傳感器網(wǎng)絡(luò)對(duì)節(jié)點(diǎn)定位的要求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉