基于Zigbee的無(wú)線定位系統(tǒng)_第1頁(yè)
基于Zigbee的無(wú)線定位系統(tǒng)_第2頁(yè)
基于Zigbee的無(wú)線定位系統(tǒng)_第3頁(yè)
基于Zigbee的無(wú)線定位系統(tǒng)_第4頁(yè)
基于Zigbee的無(wú)線定位系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、創(chuàng)新創(chuàng)業(yè)項(xiàng)目訓(xùn)練計(jì)劃項(xiàng)目總結(jié)報(bào)告創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目結(jié)題報(bào)告項(xiàng) 目 編 號(hào):項(xiàng) 目 名 稱:智能搜狗項(xiàng) 目 級(jí) 別:項(xiàng)目負(fù)責(zé)人:項(xiàng)目類型:R創(chuàng)新訓(xùn)練 ð創(chuàng)業(yè)訓(xùn)練 ð創(chuàng)業(yè)實(shí)踐指 導(dǎo) 教 師:所在學(xué)部學(xué)院:教務(wù)處制大連理工大學(xué)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目原創(chuàng)性聲明本人鄭重聲明:所呈交的項(xiàng)目結(jié)題報(bào)告以及所完成的作品實(shí)物等相關(guān)成果,是本人和項(xiàng)目組其他成員獨(dú)立進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過(guò)的作品成果,不侵犯任何第三方的知識(shí)產(chǎn)權(quán)或其他權(quán)利。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。項(xiàng)目負(fù)責(zé)人簽名: 年 月 日 項(xiàng)目指導(dǎo)

2、教師審核簽名: 年 月 日智能搜狗Intelligent Searching23摘要今年來(lái),隨著人們生活水平的提高,人們對(duì)日常生活中一些重要的物品或者是家里養(yǎng)的寵物等可移動(dòng)事物的實(shí)時(shí)位置尤為關(guān)心,希望隨時(shí)隨地都能知道其具體方位,但是現(xiàn)有的GPS技術(shù)還未全面普及,價(jià)格依然很昂貴,所以,本項(xiàng)目著重研究利用低成本硬件設(shè)備實(shí)現(xiàn)實(shí)時(shí)定位的功能,將無(wú)線定位技術(shù)帶入人們生活的方方面面。通過(guò)前期的調(diào)查研究,我們發(fā)現(xiàn)現(xiàn)在市場(chǎng)上的定位裝置價(jià)格普遍昂貴,而且功耗較高,本項(xiàng)目利用ZIGBEE模塊的低成本、低功耗的特點(diǎn)很好的解決了這些問(wèn)題。關(guān)鍵詞:無(wú)線定位;ZIGBEEAbstractIn recent years,w

3、ith the development of peoples living standard,people place more attention on the real-time position of something important or mobilizable at home like pets,they want it to be capable that they can attain the specific position of the object at anytime and anywhere.But the GPS has not been popularize

4、d,and the price is still very high.Therefore,our project is to do some research to find how to achieve real-time positioning with low-cost hardware,and bring wireless positioning technology into peoples daily life.According to the early investigation,we found that the positioning devices in the mark

5、et are generally very expensive and have high consumption of energy.Our project is to use the low-cost ZIGBEE module with low power consumption to solve these problems.Key Words:Wireless Positioning;ZIGBEE1 項(xiàng)目概述1.1項(xiàng)目成員及指導(dǎo)教師基本情況項(xiàng)目成員:學(xué)部:專業(yè)指導(dǎo)老師:專業(yè)領(lǐng)域:智能儀器控制1.2項(xiàng)目的選題背景、目的與意義如今人們的生活水平不斷提高,生活節(jié)奏不斷加快,每天進(jìn)行這繁重的

6、工作和學(xué)習(xí),無(wú)暇顧及生活中的一些細(xì)節(jié)問(wèn)題,而生活中往往有些東西是我們非常關(guān)心的,比如一些重要的物品,甚至是自己養(yǎng)的寵物,我們代之關(guān)懷備至,總希望時(shí)時(shí)刻刻能夠知道它們的具體位置,抑或在自己忘記或者找不到的情況下能夠輕松地尋獲它們的方位,一方面節(jié)省時(shí)間,另一方面也為自己分憂。在科技迅猛發(fā)展的今天,網(wǎng)絡(luò)幾乎成為人民生產(chǎn)、生活的必需品,尤其是無(wú)線網(wǎng)絡(luò)的發(fā)展給人們的生活帶來(lái)了無(wú)盡的便捷,無(wú)線定位技術(shù)更是迅猛地發(fā)展起來(lái)。如今比較成熟的GPS技術(shù)價(jià)格依然十分昂貴,對(duì)于生活中這樣的一些小應(yīng)用,成本太高不劃算,而且功耗高,不切實(shí)際。本項(xiàng)目正是從這方面出發(fā),利用低功耗、低成本的ZIGBEE模塊來(lái)實(shí)現(xiàn)無(wú)線定位的功能

7、,將無(wú)線定位技術(shù)引入生活的方方面面。13項(xiàng)目實(shí)施過(guò)程的人員工作分配和完成情況2013.4-2013.5項(xiàng)目論證,最終采取zigbee技術(shù)實(shí)現(xiàn)功能2013.6-20137查閱zigbee技術(shù)基本知識(shí)2013.8-2013.9了解協(xié)議棧工作原理,掌握程序指令功能2013.10-2014.1在硬件電路基礎(chǔ)上編程,逐步完成通信以及信號(hào)質(zhì)量檢測(cè)功能2014.2-2014.4建立距離-信號(hào)模型,實(shí)現(xiàn)測(cè)量功能本項(xiàng)目組由兩名同學(xué)組成,項(xiàng)目負(fù)責(zé)人為xxx,組員為xxx。任務(wù)分配如下:xxx 主要負(fù)責(zé)實(shí)驗(yàn)程序的編寫與調(diào)試等xxx 主要負(fù)責(zé)實(shí)驗(yàn)器材的購(gòu)買、實(shí)驗(yàn)數(shù)據(jù)的測(cè)試與處理以及相關(guān)定位算法的設(shè)計(jì)等1.4 項(xiàng)目實(shí)施

8、過(guò)程收獲和體會(huì)(1)在設(shè)計(jì)的過(guò)程中最關(guān)鍵的是查閱相關(guān)資料和組員之間的相互溝通;(2)相關(guān)理論知識(shí)的學(xué)習(xí)是必要的;(3)實(shí)驗(yàn)的數(shù)據(jù)總是和理論值有一定的差距的,實(shí)驗(yàn)中需要不斷地調(diào)整和測(cè)試;(4)在經(jīng)費(fèi)允許的條件下,一定要購(gòu)買開發(fā)板來(lái)節(jié)省開發(fā)的時(shí)間。2 項(xiàng)目預(yù)期成果完成情況和創(chuàng)新點(diǎn)本項(xiàng)目基本完成預(yù)期成果,具體功能如下:(1)單個(gè)ZIGBEE模塊的收發(fā)功能、和計(jì)算機(jī)之間的串口通信;調(diào)用和調(diào)試協(xié)議棧程序,完成單個(gè)ZIGBEE模塊的收發(fā)數(shù)據(jù)包的功能,為多個(gè)模塊之間的組網(wǎng)通信做準(zhǔn)備,利用數(shù)據(jù)線將ZIGBEE模塊和計(jì)算機(jī)連接,實(shí)現(xiàn)兩者之間的串口通信,為計(jì)算機(jī)接收Z(yǔ)IGBEE信息和顯示數(shù)據(jù)做準(zhǔn)備。(2)實(shí)現(xiàn)ZI

9、GBEE模塊間的組網(wǎng)功能;將多個(gè)ZIGBEE模塊組合在一起形成一個(gè)網(wǎng)絡(luò),便于數(shù)據(jù)的搜集和獲取,為接收多個(gè)RSSI數(shù)據(jù)做準(zhǔn)備。(3)RSSI信號(hào)的檢測(cè)并顯示;利用ZIGBEE模塊實(shí)現(xiàn)RSSI信號(hào)的檢測(cè),并將其顯示在計(jì)算機(jī)屏幕上,為后續(xù)的定位算法做準(zhǔn)備。(4)基于RSSI的定位算法;利用接收到的RSSI信號(hào)計(jì)算出實(shí)際終端的位置。創(chuàng)新點(diǎn):(1)利用串口通信的方式,解決了數(shù)據(jù)的顯示問(wèn)題,而且可以利用計(jì)算機(jī)連接互聯(lián)網(wǎng),解決了數(shù)據(jù)共享的問(wèn)題。(2)利用三個(gè)節(jié)點(diǎn)實(shí)現(xiàn)了終端的定位功能,無(wú)論在成本上還是在功耗上都大大降低了。(3)基于RSSI信號(hào)實(shí)現(xiàn)了定位功能,避免了使用昂貴的專用定位芯片的成本。3 項(xiàng)目說(shuō)明3

10、.1實(shí)驗(yàn)方法設(shè)計(jì)及方案基于ZIGBEE技術(shù),利用無(wú)線通信模塊實(shí)現(xiàn)各個(gè)模塊之間的組網(wǎng)并檢測(cè)終端節(jié)點(diǎn)的RSSI值,利用多個(gè)RSSI值設(shè)計(jì)算法從而實(shí)現(xiàn)定位的功能。圖3-1 項(xiàng)目設(shè)計(jì)整體框圖3.2 ZigBee技術(shù)協(xié)議ZigBee技術(shù)是一種可靠性高、功耗低的無(wú)線通信技術(shù),在ZigBee技術(shù)中,其體系結(jié)構(gòu)通常由層來(lái)量化它的各個(gè)簡(jiǎn)化標(biāo)準(zhǔn)。每一層負(fù)責(zé)完成所規(guī)定的任務(wù),并且向上層提供服務(wù)。各層之間的接口通過(guò)所定義的邏輯鏈路來(lái)提供服務(wù)。ZigBee技術(shù)的體系結(jié)構(gòu)主要由物理(PYH)層。媒體接入控制(MAC)層、網(wǎng)絡(luò)/安全層以及應(yīng)用構(gòu)架層組成,其各層之間分布如圖。應(yīng)用構(gòu)架層網(wǎng)絡(luò)/安全層層MAC層物理(PHY)層Z

11、igBee協(xié)議IEEE 802.15.4圖3-2 Zigbee技術(shù)結(jié)構(gòu)不難看出,ZigBee技術(shù)的協(xié)議層結(jié)構(gòu)簡(jiǎn)單,不像諸如藍(lán)牙和其他網(wǎng)絡(luò)結(jié)構(gòu),這些網(wǎng)絡(luò)結(jié)構(gòu)通常分為7層,而ZigBee技術(shù)僅為3層。在ZigBee技術(shù)中,PHY層和MAC層采用IEEE 802.15.4協(xié)議標(biāo)準(zhǔn),其中,PHY提供了兩種類型的服務(wù):即通過(guò)物理層管理實(shí)體接口(PLME)對(duì)PHY層數(shù)據(jù)和PHY層管理提供服務(wù)。PHY層數(shù)據(jù)服務(wù)可以通過(guò)無(wú)線物理信道發(fā)送和接收物理層協(xié)議數(shù)據(jù)單元(PPDU)來(lái)實(shí)現(xiàn)。PHY層的特征是啟動(dòng)和關(guān)閉無(wú)線收發(fā)器,能量檢測(cè),鏈路質(zhì)量,信道選擇,清楚信道,評(píng)估(CCA),以及通過(guò)無(wú)線物理媒體對(duì)數(shù)據(jù)包進(jìn)行發(fā)送和

12、接收。同樣,MAC層也提供了兩種類型的服務(wù):通過(guò)MAC層管理實(shí)體服務(wù)接入點(diǎn)(MLME SAP)向MAC層數(shù)據(jù)和MAC層管理提供服務(wù)。MAC層數(shù)據(jù)服務(wù)可以通過(guò)PHY層數(shù)據(jù)服務(wù)發(fā)送和接收MAC層協(xié)議數(shù)據(jù)單元(MPDU)。MAC層的具體特征是:信標(biāo)管理,信道接入,時(shí)隙管理,發(fā)送和確認(rèn)幀,發(fā)送連接及斷開連接請(qǐng)求。除此之外,MAC層為應(yīng)用合適的安全機(jī)制提供一些方法。ZigBee技術(shù)的網(wǎng)絡(luò)層、安全層主要用于為ZigBee的LR WPAN 網(wǎng)的組網(wǎng)連接、數(shù)據(jù)管理以及網(wǎng)絡(luò)安全等;應(yīng)用框架層主要為ZigBee技術(shù)的實(shí)際應(yīng)用提供一些應(yīng)用框架模型等,以便對(duì)ZigBee技術(shù)的開發(fā)應(yīng)用。本項(xiàng)目的主要程序也都添加在應(yīng)用層

13、。3.3 定位程序流程利用Zigbee技術(shù)中的Z-stack協(xié)議,在應(yīng)用層內(nèi)添加定位程序。整體流程如下圖:1.協(xié)調(diào)器建立網(wǎng)絡(luò)協(xié)調(diào)器是網(wǎng)絡(luò)的發(fā)起者與管理者。首先,由協(xié)調(diào)器建立網(wǎng)絡(luò),同時(shí),不斷向周圍拋出數(shù)據(jù)包,待其他節(jié)點(diǎn)檢測(cè),使網(wǎng)絡(luò)被發(fā)現(xiàn)。2. 路由器加入網(wǎng)絡(luò)并登記地址定位系統(tǒng)中除協(xié)調(diào)器外的其他參考點(diǎn)皆為路由器,路由器發(fā)現(xiàn)由協(xié)調(diào)器建立的網(wǎng)絡(luò)后,向協(xié)調(diào)器發(fā)出申請(qǐng),請(qǐng)求加入網(wǎng)絡(luò)。符合要求后,協(xié)調(diào)器會(huì)為終端分配地址,就此,路由器成功加入網(wǎng)絡(luò)。協(xié)調(diào)器同時(shí)會(huì)登記各個(gè)路由器的地址,用于對(duì)返回Rssi值的管理與處理。3.待測(cè)節(jié)點(diǎn)加入網(wǎng)絡(luò)待測(cè)節(jié)點(diǎn)進(jìn)入網(wǎng)絡(luò)覆蓋區(qū)域后,會(huì)同路由器一樣,加入網(wǎng)絡(luò),由協(xié)調(diào)器負(fù)責(zé)管理。4.

14、 .終端節(jié)點(diǎn)發(fā)廣播,各參考點(diǎn)測(cè)量Rssi值待測(cè)節(jié)點(diǎn)加入網(wǎng)絡(luò)后,會(huì)周期性發(fā)送廣播,各參考點(diǎn)接受數(shù)據(jù)包,并獲得與待測(cè)節(jié)點(diǎn)的通信信號(hào)質(zhì)量(Rssi值)。5.各參考點(diǎn)向協(xié)調(diào)器傳送測(cè)量值 各參考點(diǎn)每得到三組Rssi值后,取平均值分別將數(shù)值傳送到協(xié)調(diào)器,.傳送方式采用點(diǎn)播。6.協(xié)調(diào)器通過(guò)算法實(shí)現(xiàn)定位 接受到各路由器點(diǎn)播的數(shù)值,協(xié)調(diào)器采用地址查表的方式管理數(shù)值,將數(shù)值利用f(x) = 10(x-a)/(10*n)求得通信雙方距離關(guān)系,在利用三邊定位算法獲得待測(cè)點(diǎn)坐標(biāo)。圖3-3 項(xiàng)目設(shè)計(jì)流程圖3.3 定位模型建立1.距離-Rssi關(guān)系公式 d= 10(|RSSI|-a)/(10*n) 參數(shù)獲得實(shí)驗(yàn)中關(guān)于RSS

15、I值和實(shí)際距離關(guān)系的原始數(shù)據(jù)如下表所示:實(shí)際距離d(m)12345678910|RSSI|(組1)37486064697476778181|RSSI|(組2)4050606472680818181根據(jù)經(jīng)驗(yàn)公式d= 10(|RSSI|-a)/(10*n),其中a,n為隨環(huán)境變化的參數(shù)經(jīng)過(guò)曲線擬合后,得到擬合圖形如下所示:圖3-4 擬合圖像擬合結(jié)果如下:General model: f(x) = 10(x-a)/(10*n)Coefficients (with 95% confidence bounds): a = 38.28 (32.84, 43.72) n = 4.387 (3.772, 5.

16、002)Goodness of fit: SSE: 1.131 R-square: 0.9863 Adjusted R-square: 0.9846 RMSE: 0.3761General model: f(x) = 10(x-a)/(10*n)Coefficients (with 95% confidence bounds): a = 39.29 (27.26, 51.31) n = 4.484 (3.113, 5.855)Goodness of fit: SSE: 4.648 R-square: 0.9437 Adjusted R-square: 0.9366 RMSE: 0.7622可見

17、擬合效果較好,參數(shù)相差不大,從而可以得到測(cè)試環(huán)境下的公式參數(shù),明確了RSSI值和實(shí)際距離的關(guān)系。但由于該參數(shù)受環(huán)境影響較大,因而需要實(shí)時(shí)測(cè)量。2.三邊定位算法下圖所示的三個(gè)節(jié)點(diǎn)所構(gòu)成的三角形為等邊三角形。圖3-5 三邊定位示意圖為計(jì)算方便,預(yù)先將實(shí)驗(yàn)中需要設(shè)置的三個(gè)節(jié)點(diǎn)組成等邊三角形,相關(guān)坐標(biāo)如圖所示,實(shí)驗(yàn)中通過(guò)RSSI值計(jì)算出終端離三個(gè)節(jié)點(diǎn)的距離,從而可以利用下述公式計(jì)算出終端的坐標(biāo)位置。=> 從而實(shí)現(xiàn)定位的功能。3.3數(shù)據(jù)分析處理演示實(shí)驗(yàn)采用在小區(qū)域內(nèi)進(jìn)行測(cè)試,在邊長(zhǎng)為10米的正三角形區(qū)域中嘗試準(zhǔn)確定位。經(jīng)比較得,位置誤差在1米以內(nèi),初步到達(dá)設(shè)計(jì)預(yù)期結(jié)果。同時(shí),各節(jié)點(diǎn)的直接通信距離在

18、100米左右,如果再在節(jié)點(diǎn)添加CC2591芯片,節(jié)點(diǎn)直接通信距離可達(dá)1公里以上,完全可以滿足區(qū)域定位的要求。4 項(xiàng)目總結(jié)經(jīng)過(guò)一年多的努力,我們終于完成了本項(xiàng)目的設(shè)計(jì)和制作,一路走來(lái)經(jīng)歷了很多坎坷,通過(guò)查閱資料,互相探討,提高了自己發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的能力,增強(qiáng)了自己的動(dòng)手能力和解決實(shí)際問(wèn)題的能力,并且通過(guò)對(duì)ZIGBEE模塊的學(xué)習(xí),使得對(duì)于無(wú)線通信方面有了更加深刻的認(rèn)識(shí)和理解,對(duì)于自己以后從事相關(guān)項(xiàng)目和研究,打下了堅(jiān)實(shí)的基礎(chǔ)。5 參考文獻(xiàn)1 蔣挺.趙成林 紫蜂技術(shù)及其應(yīng)用.北京: 北京郵電大學(xué)出版社,2005.附錄 程序節(jié)選1.主函數(shù)int main( void ) osal_int_disab

19、le( INTS_ALL );/ 關(guān)閉所有中斷 / Initialization for board related stuff such as LEDs HAL_BOARD_INIT(); / Make sure supply voltage is high enough to run zmain_vdd_check(); / Initialize board I/O InitBoard( OB_COLD ); / Initialze HAL drivers HalDriverInit(); / Initialize NV System osal_nv_init( NULL ); / Ini

20、tialize the MAC ZMacInit(); / Determine the extended address zmain_ext_addr(); / Initialize basic NV items zgInit();#ifndef NONWK / Since the AF isn't a task, call it's initialization routine afInit();#endif / Initialize the operating system osal_init_system(); / Allow interrupts osal_int_en

21、able( INTS_ALL ); / Final board initialization InitBoard( OB_READY ); / Display information about this device zmain_dev_info(); /* Display the device info on the LCD */#ifdef LCD_SUPPORTED zmain_lcd_init();#endif#ifdef WDT_IN_PM1 /* If WDT is used, this is a good place to enable it. */ WatchDogEnabl

22、e( WDTIMX );#endif osal_start_system(); / No Return from here return 0; / Shouldn't get here. 2.系統(tǒng)函數(shù)void osal_start_system( void )#if !defined ( ZBIT ) && !defined ( UBIT ) for(;) / Forever Loop#endif uint8 idx = 0; osalTimeUpdate(); Hal_ProcessPoll(); / This replaces MT_SerialPoll() and

23、 osal_check_timer(). do if (tasksEventsidx) / Task is highest priority that is ready. break; while (+idx < tasksCnt); if (idx < tasksCnt) uint16 events; halIntState_t intState; HAL_ENTER_CRITICAL_SECTION(intState); events = tasksEventsidx; tasksEventsidx = 0; / Clear the Events for this task.

24、HAL_EXIT_CRITICAL_SECTION(intState); events = (tasksArridx)( idx, events ); HAL_ENTER_CRITICAL_SECTION(intState); tasksEventsidx |= events; / Add back unprocessed events to the current task. HAL_EXIT_CRITICAL_SECTION(intState); #if defined( POWER_SAVING ) else / Complete pass through all task events

25、 with no activity? osal_pwrmgr_powerconserve(); / Put the processor/system into sleep #endif 3.任務(wù)事件處理函數(shù)uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events ) afIncomingMSGPacket_t *MSGpkt; (void)task_id; / Intentionally unreferenced paramete if ( events & SYS_EVENT_MSG ) MSGpkt = (afIncom

26、ingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID ); while ( MSGpkt ) switch ( MSGpkt->hdr.event ) case CMD_SERIAL_MSG: /串口收到數(shù)據(jù)后由MT_UART層傳遞過(guò)來(lái)的數(shù)據(jù),編譯時(shí)不定義MT_TASK,則由MT_UART層直接傳遞到此應(yīng)用層 SampleApp_SerialCMD(mtOSALSerialData_t *)MSGpkt); break; case KEY_CHANGE: SampleApp_HandleKeys( (keyChange_t *)MSGpk

27、t)->state, (keyChange_t *)MSGpkt)->keys ); break; / Received when a messages is received (OTA) for this endpoint case AF_INCOMING_MSG_CMD: SampleApp_MessageMSGCB( MSGpkt ); break; / Received whenever the device changes state in the network case ZDO_STATE_CHANGE: SampleApp_NwkState = (devStates

28、_t)(MSGpkt->hdr.status); if ( (SampleApp_NwkState = DEV_ZB_COORD) | (SampleApp_NwkState = DEV_ROUTER) SampleApp_NwkState = DEV_END_DEVICE ) / Start sending the periodic message in a regular interval. osal_start_timerEx( SampleApp_TaskID, SAMPLEAPP_SEND_PERIODIC_MSG_EVT, SAMPLEAPP_SEND_PERIODIC_MS

29、G_TIMEOUT ); if(SampleApp_NwkState = DEV_END_DEVICE) SampleApp_SendPointToPointMessage(); if(SampleApp_NwkState = DEV_ROUTER) SampleApp_SendPointToPointMessage1(); else / Device is no longer in the network break; default: break; / Release the memory osal_msg_deallocate( (uint8 *)MSGpkt ); / Next - i

30、f one is available MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID ); / return unprocessed events return (events SYS_EVENT_MSG); / Send a message out - This event is generated by a timer if ( events & SAMPLEAPP_SEND_PERIODIC_MSG_EVT ) / 周期性廣播函數(shù) SampleApp_SendPeriodicMessage(

31、); osal_start_timerEx( SampleApp_TaskID, SAMPLEAPP_SEND_PERIODIC_MSG_EVT, (SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT + (osal_rand() & 0x00FF) ); return (events SAMPLEAPP_SEND_PERIODIC_MSG_EVT); return 0;4.數(shù)據(jù)接收函數(shù)void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pkt ) /*16進(jìn)制轉(zhuǎn)ASCII碼表*/ uint8 asc_1616=&

32、#39;0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' uint16 flashTime,temp,temp2; uint8 Rssi,templqi; uint8 hehe15; uint8 i,j,m,n; switch ( pkt->clusterId ) ca

33、se SAMPLEAPP_PERIODIC_CLUSTERID: HalUARTWrite(0,"I get datan",11); k=k+1; templqi=pkt->LinkQuality; lqisum+=templqi/3; /提示接收到數(shù)據(jù)HalUARTWrite(0,&asc_16hehe0,1);、HalUARTWrite(0,&asc_16hehe1,1);HalUARTWrite(0,&asc_16hehe2,1);HalUARTWrite(0,&asc_16hehe3,1);HalUARTWrite(0,&

34、;asc_16hehe4,1);HalUARTWrite(0,&asc_16hehe5,1); if(k=3) Rssisum=81-lqisum*99/255; / SampleApp_SendPointToPointMessage2(); / 路由器 KEY0=Rssisum; hehe6=Rssisum/100; /協(xié)調(diào)器 hehe7=Rssisum/10%10; hehe8=Rssisum%100%10; HalUARTWrite(0,"KEY0:",5); HalUARTWrite(0,"-",1); HalUARTWrite(0,&a

35、mp;asc_16hehe6,1)HalUARTWrite(0,&asc_16hehe7,1);HalUARTWrite(0,&asc_16hehe8,1); HalUARTWrite(0,"n",1); hehe0=d1/100; /協(xié)調(diào)器 hehe1=d1/10%10; hehe2=d1%100%10; HalUARTWrite(0,"D1:",3); HalUARTWrite(0,"-",1); HalUARTWrite(0,&asc_16hehe0,1);HalUARTWrite(0,&asc_

36、16hehe1,1);HalUARTWrite(0,&asc_16hehe2,1); HalUARTWrite(0,"n",1); k=0; Rssisum=0;lqisum=0; break; case SAMPLEAPP_POINT_TO_POINT_CLUSTERID:/終端加入網(wǎng)絡(luò) j=pkt->cmd.Data0; for(i=1;i<j+1;i+) HalUARTWrite(0,&pkt->cmd.Datai,1); HalUARTWrite(0,"n",1); break; case SAMPLEAPP_POINT_TO_POINT_CLUSTERID1: /路由器注冊(cè) n=pkt->cmd.Data0; if(n='B') LIST0=pkt->srcAddr.addr.shortAddr; else LIST1=pkt->srcAddr.addr.shortAddr; break; case SAMPLEAPP_POINT_TO_POINT_CLUSTERID2:/路由器返回RSSI值 temp2=pkt->srcAddr

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論