基于無線傳感網(wǎng)的溫度監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于無線傳感網(wǎng)的溫度監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于無線傳感網(wǎng)的溫度監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于無線傳感網(wǎng)的溫度監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于無線傳感網(wǎng)的溫度監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于無線傳感網(wǎng)的溫度監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)摘 要無線傳感網(wǎng)是由眾多部署在復雜環(huán)境中的節(jié)點組成的,利用節(jié)點收集數(shù)據(jù),分析后做出決策,ZigBee 技術(shù)作為一種新興的近距離、低功耗的無線傳感網(wǎng)技術(shù),獲得了廣泛支持,成為當前研究的熱點和重點之一. 本文介紹了在對無線傳感網(wǎng)以及 ZigBee 協(xié)議棧學習的基礎(chǔ)上,設(shè)計節(jié)點采集溫度等數(shù)據(jù)的程序,以及開發(fā)上位機的監(jiān)控軟件,通過實驗平臺進行組網(wǎng),將節(jié)點上采集的數(shù)據(jù)發(fā)送給協(xié)調(diào)器,再通過以太網(wǎng)將數(shù)據(jù)發(fā)送給上位機軟件,利用監(jiān)控軟件監(jiān)控數(shù)據(jù)的變化,實現(xiàn)對溫度等數(shù)據(jù)的監(jiān)控功能。 該系統(tǒng)的目標是實時監(jiān)控環(huán)境溫度變化,并在溫度異常時發(fā)出警報。利用無線傳感網(wǎng),本系統(tǒng)可部署在各

2、種需要溫度監(jiān)控的環(huán)境中。關(guān)鍵詞:無線傳感網(wǎng) ZIGBEECC2430 Z-STACK 信息采集Design and realization of temperature monitoring system based on wireless sensor networkABSTRACT Wireless sensor network is composed of numerous of nodes deployed in a complex environment, using node gather data and analysising to make a decision , ZigB

3、ee technology as a new near distance and low power wireless sensor network technology, receives broad support,and has become one of research hot spot and focus on the current. In this paper,based on Studying on wireless sensor network, and ZigBee protocol stack, i designed the program of node temper

4、ature data acquisition as well as the development of PC monitoring software, through the experiment platform for network, the data collected on nodes is sent to the coordinator, then the coordinator sent the data to PC via Ethernet software.we can use monitoring software to monitor the change of the

5、 data,and then realize the temperature data of monitoring and other functions. The goal of the system is real-time monitoring the environment temperature changes, and sound an alarm when the temperature is abnormal . Using wireless sensor network, this system can be deployed in a variety of environm

6、ent needing temperature monitoring.Key words: Zigbee, wireless sensor network, Temperature Acquisition ,Z-Stack目 錄第一章 緒論.11.1 論文研究的背景和意義 .11.2 研究現(xiàn)狀及發(fā)展趨勢 .11.3 本文主要結(jié)構(gòu) .2第二章 ZIGBEE 協(xié)議棧.52.1 ZIGBEE協(xié)議棧簡介 .52.2 設(shè)備類型 .62.2.1 協(xié)調(diào)器.72.2.2 路由器.72.2.3 終端設(shè)備.72.2.4 設(shè)備的協(xié)議棧配置.72.3 尋址 .72.3.1 尋址類型.82.3.2 網(wǎng)絡地址分配.82.

7、3.3Zstack 尋址.92.4 本章總結(jié) .10第三章 開發(fā)平臺與環(huán)境分析.113.1 開發(fā)平臺介紹 .113.1.1 實驗平臺簡介.113.1.2 仿真器.123.1.3 網(wǎng)關(guān)主板.133.1.4 有源感知節(jié)點.133.1.5 Zigbee 模塊.143.2 軟件開發(fā)環(huán)境 .15第四章 系統(tǒng)設(shè)計與實現(xiàn).214.1 系統(tǒng)整體設(shè)計 .214.2 模塊的軟件設(shè)計 .224.2.1 模塊軟件整體設(shè)計.224.2.2 添加任務過程分析 .234.2.3 具體功能實現(xiàn) .244.2.4 上位機監(jiān)控軟件開發(fā).274.3 本章小結(jié) .29第五章 系統(tǒng)運行與演示.305.1 系統(tǒng)連接與配置 .305.2

8、編譯和下載項目文件 .315.3 運行監(jiān)控系統(tǒng) .32結(jié)束語.34參考文獻.35附錄.36致謝.57天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書00第一章 緒論1.1 論文研究的背景和意義伴隨著著無線網(wǎng)絡通信、大規(guī)模集成電路、傳感器等技術(shù)的快速發(fā)展和逐漸成熟,無線傳感器網(wǎng)絡(Wireless Sensor Network,WSN)應運而生。無線傳感網(wǎng)絡是由部署在一定區(qū)域內(nèi)的數(shù)量巨大的傳感器節(jié)點,通過自組織形成多跳網(wǎng)絡,進行協(xié)作的感知、采集區(qū)域內(nèi)的信息,經(jīng)過處理并最終發(fā)送給觀察者。無線傳感網(wǎng)中的節(jié)點具有體積小,數(shù)量多,能耗低,集成無線通信以及數(shù)據(jù)采集和處理功能,它們通過無線信道通信,自組織的構(gòu)成

9、網(wǎng)絡。傳感器中包括了多種傳感器,可以測量周圍環(huán)境的溫度,濕度,光強,RSSI 值等眾多對人類有價值的信息和現(xiàn)象。在采集數(shù)據(jù)后,還可以通過網(wǎng)關(guān)連接到網(wǎng)絡基礎(chǔ)設(shè)施中,比如將數(shù)據(jù)發(fā)送給較近的基站,達到講采集的數(shù)據(jù)和信息傳送給遠程的終端的目的。所以,傳感器節(jié)點在無線傳感網(wǎng)中起著基礎(chǔ)作用,其設(shè)計的好壞將影響整個系統(tǒng)和網(wǎng)絡的質(zhì)量 CC2430 是一種低功耗,高效率的片上系統(tǒng),可以很好的解決無線傳感網(wǎng)絡中能量消耗較大的問題。CC2430 芯片是由 Chipon 公司開發(fā)的全球首款集成了 ZigBee 協(xié)議的片上系統(tǒng)解決方案,外置元件需要較少,成本低廉,可以很廉價、快速的構(gòu)建 Zigbee 節(jié)點。CC2430

10、 芯片延用了以往 CC2420 芯片的架構(gòu),在單個芯片上整合了 ZigBee 射頻(RF)前端、內(nèi)存和微控制器。它使用 1 個 8 位 MCU(8051) ,具有 128 KB 可編程閃存和 8 KB 的 RAM,還包含數(shù)字模擬轉(zhuǎn)換器、定時器、AES128 協(xié)同處理器、看門狗定時器、32 kHz 晶振的休眠模式定時器、上電復位電路以及 21 個可編程 I/O 引腳。CC2430 芯片采用 0.18mCMOS 工藝生產(chǎn),在接收和發(fā)射模式下電流損耗分別低于 27mA 或 25 mA。CC2430 的休眠模式和轉(zhuǎn)換到主動模式的超短時間的特性,特別適合那些要求電池壽命非常長的應用。1.2 研究現(xiàn)狀及發(fā)

11、展趨勢 無線傳感器網(wǎng)絡將邏輯中的信息世界與客觀的物理世界連接、融合在一起,極大改變了人類與自然界的交互方式。人們通過傳感器網(wǎng)絡可以直接感知客觀的世界,從而極大地擴展現(xiàn)有網(wǎng)絡的功能和人類認識世界的能力以及范圍。美國商業(yè)周刊和 MI 技術(shù)評論曾經(jīng)在預測未來技術(shù)發(fā)展的報告中,分別將無線傳感器網(wǎng)絡列為改變世界的 10 大技術(shù)之一以及 21 世紀最有影響的 21 項技術(shù)。同時,無線傳感器網(wǎng)絡、塑料電子學和仿生人體器官也被稱為全球未來天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書11三大高科技產(chǎn)業(yè)。最近幾年,隨著成本的降低,無線傳感器網(wǎng)絡已經(jīng)在如下幾個領(lǐng)域中有了大規(guī)模應用:1)環(huán)境監(jiān)測由于環(huán)境污染問題越來越

12、突出,人們對與環(huán)境的保護愈發(fā)關(guān)注,于是對于環(huán)境的監(jiān)測需求相應增加。無線傳感器網(wǎng)絡為在環(huán)境監(jiān)測中采集數(shù)據(jù)提供很大便利,同時還可以減少對環(huán)境的破壞。無線傳感器網(wǎng)絡可以環(huán)境變化對農(nóng)作物的影響,跟蹤候鳥和昆蟲的遷移,監(jiān)測大氣、海洋和土壤的成分等。2)醫(yī)療護理無線傳感器網(wǎng)絡也可以應用在醫(yī)療和護理領(lǐng)域。英特爾公司推出的基于無線傳感器網(wǎng)絡的家庭護理技術(shù)即為其中之一,該系統(tǒng)利用在鞋、家具以家用電器等家用設(shè)備中嵌入傳感器,對老齡人士、阿爾茨海默氏病患者以及殘障人士的家庭生活有很大幫助。3)軍事領(lǐng)域由于無線傳感器網(wǎng)絡節(jié)點造價低廉,可以密集隨機的分布在各種惡劣的戰(zhàn)場環(huán)境中,包括偵察敵情、監(jiān)控兵力、裝備和物資,判斷生

13、物化學攻擊等多方面用途。目前無線傳感器網(wǎng)絡還存在著如下問題:1)網(wǎng)絡內(nèi)節(jié)點的通信問題。傳感器節(jié)點在正常通信過程中,信號可能被一些障礙物阻擋而受到影響,怎樣提高傳感器節(jié)點的穿透性是亟待解決的問題。2)延長傳感器網(wǎng)絡的使用壽命?,F(xiàn)在一般使用高能電池、降低傳感節(jié)點的功耗兩種方式來解決這個問題。此外還有傳感器網(wǎng)絡的自我能量收集技術(shù)和電池無線充電技術(shù),但這兩項技術(shù)尚在研究中,還不成熟。無線傳感器網(wǎng)絡有著十分廣泛的應用前景以及較好的發(fā)展趨勢,除了在工業(yè)、農(nóng)業(yè)、軍事、環(huán)境、醫(yī)療等領(lǐng)域有具有巨大的運用價值,在未來還將在許多新興領(lǐng)域體現(xiàn)其優(yōu)越性,如家用、保健、交通等領(lǐng)域。將來微型傳感器可以將家用電器等其他日常用

14、品同互聯(lián)網(wǎng)相連,對這些設(shè)備進行遠距離控制,這樣有利于家庭的安全調(diào)控、節(jié)電。1.3 本文主要結(jié)構(gòu) 第一章緒論首先簡要介紹了無線傳感網(wǎng),接著介紹了無線傳感網(wǎng)的研究背景、現(xiàn)狀和發(fā)展趨勢,最后對本題的提出和本文的工作內(nèi)容做了說明。第二章首先介紹了 Zigbee 技術(shù)的體系結(jié)構(gòu)。對 Z-Stack 協(xié)議棧的功能及其實現(xiàn)進行了概述,包括地址分配、尋址、節(jié)點綁定、路由選擇機制,配置 PANID 等功能,以及選擇網(wǎng)絡加天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書22入等幾個方面。第三章對系統(tǒng)整體方案進行了論述,包括硬件介紹和軟件設(shè)計。硬件主要介紹數(shù)據(jù)匯聚模塊,溫度傳感器模塊;軟件設(shè)計包括上位機界面設(shè)計、數(shù)據(jù)匯

15、聚模塊、溫度傳感器模塊的軟件設(shè)計。第三章對整個系統(tǒng)的開發(fā)平臺進了論述,硬件方面主要包括無線龍的無線傳感網(wǎng)實驗箱,包括主板,協(xié)調(diào)器,節(jié)點,以及相應的硬件模塊介紹,在軟件方面有嵌入式開發(fā)平臺 IAR,上位機的監(jiān)控軟件,zigbee 協(xié)議棧等。天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書33第二章 ZigBee 協(xié)議棧協(xié)議棧2.1 zigbee 協(xié)議棧簡介 Zigbee 協(xié)議棧由一系列子層組成,每層為其上層提供特定的服務:數(shù)據(jù)實體提供數(shù)據(jù)傳輸?shù)姆?,管理實體則提供其他的全部服務。服務接入點(SAP)為每一層的服務實體為其上一層提供服務的結(jié)構(gòu),SAP 中也提供了完成服務所需要的服務指令。Zigbee

16、協(xié)議棧的結(jié)構(gòu)自上而下包括 zigbee 應用層,IEEE802.15.3MAC 層和IIEEE802.15.4 PHY 層。IEEE802.15.4 定義了最下面的兩層:物理層和介質(zhì)接入控制層。而Zigbee 聯(lián)盟則提供了應用層和網(wǎng)絡層的框架設(shè)計,應用層的框架包括了 zigbee 設(shè)備對象(ZDO)、應用支持子(APS)以及由制造商制定的應用對象。圖 2-1 zigbee 協(xié)議棧天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書44 對比于其他無線通信標準,zigbee協(xié)議有著明顯的優(yōu)勢和特定,需要的套件緊湊且簡單,具體實現(xiàn)要求較低,zigbee協(xié)議套件的大概最低需求為:8 位處理器,比如80C51

17、;32kb的 ROM,最小軟件只需4KB的 ROM,例如 CC2530 芯片,具有 8051 單片機增強型內(nèi)核,內(nèi)存為 32 位 128kb。網(wǎng)絡主節(jié)點,即協(xié)調(diào)器節(jié)點需要更多的 sdram,用來容納網(wǎng)絡中所有節(jié)點的設(shè)備信息,設(shè)備關(guān)聯(lián)表以及與安全有關(guān)的密匙存儲等等。 Zigbee聯(lián)盟希望可以建立一種可連接每個電子設(shè)備的無線網(wǎng)。并預言zigbee將成為全球最高端的無線技術(shù)之一, ,同時IPV6與IEEE802.15.4 結(jié)合是傳感器網(wǎng)絡的發(fā)展趨勢,因為IPV6采用 128 位地址,可以幾乎不受限制的提供地址。 在 IAR 中打開 zigbee 協(xié)議棧,其結(jié)構(gòu)如圖:圖 2.1 zigbee協(xié)議棧Ap

18、p :應用層目錄,用戶在這里創(chuàng)建不同的工程,本目錄包含了協(xié)議棧的應用層內(nèi)容和創(chuàng)建項目的內(nèi)容,一般是以操作系統(tǒng)的任務的形式實現(xiàn)的。HAL:硬件抽象層,包含了與硬件相關(guān)的配置信息、驅(qū)動及操作函數(shù)。MAC:MAC層目錄,包含了 mac 層的參數(shù)配置文件及其 LIB 庫的函數(shù)接口文件。MT:實現(xiàn)了通過串口對各層控制,以及與各層進行直接交付。NWK:網(wǎng)絡層目錄,包含網(wǎng)絡層配置參數(shù)相關(guān)文件和 aps 層庫的函數(shù)接口以及網(wǎng)絡層庫函數(shù)接口文件及 OSAL:協(xié)議棧的操作系統(tǒng)。天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書55PROFILE:AF層的目錄。Security:安全層目錄,包含安全層的處理函數(shù),如加密函

19、數(shù)等。Tools:工程配置目錄,包含空間劃分、z-stack相關(guān)配置的信息。Zdo:zdo目錄。Zmac:mac目錄,包括mac層參數(shù)的配置以及mac層lib庫函數(shù)回調(diào)處理函數(shù)。Zmain:主函數(shù)的目錄,包含入口函數(shù) main 以及硬件配置的文件。Output:輸出文件目錄,這是由開發(fā)環(huán)境IAR ew_8051自動生成的。 由此可以看出,整個 zigbee 協(xié)議棧已經(jīng)體現(xiàn)了 zigbee 的全部功能,建立一個 zigbee 項目的方法主要就是對應用層的添加和修改。2.2 設(shè)備類型在ZigBee網(wǎng)絡中,一共有三種不同的邏輯設(shè)備類型:Coordinator(協(xié)調(diào)器節(jié)點),Router(路由器節(jié)點)

20、和End-Device(終端設(shè)備節(jié)點)。ZigBee網(wǎng)絡是由一個Coordinator 節(jié)點、多個Router 節(jié)點、多個 End_Device 節(jié)點組成,zigbee網(wǎng)絡拓撲結(jié)構(gòu)如下: 圖 2.2 zigbee 網(wǎng)絡拓撲結(jié)構(gòu)天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書662.2.1 協(xié)調(diào)器 協(xié)調(diào)器節(jié)點負責整個網(wǎng)絡的啟動,同時也是網(wǎng)絡中的第一個設(shè)備。它選擇一個可用信道和網(wǎng)絡 ID,即 PANID(Personal Area Network ID),隨后啟動整個網(wǎng)絡。協(xié)調(diào)器也可以協(xié)助建立協(xié)議棧中的應用層和安全層的綁定. 需要注意的是,協(xié)調(diào)器的功能主要涉及網(wǎng)絡的啟動和配置,當完成這些任務后,協(xié)調(diào)器

21、的功能就類似一個路由器,而接下來整個網(wǎng)絡的操作,由于 ZigBee 網(wǎng)絡本身的特性,并不依賴協(xié)調(diào)器的存在。2.2.2 路由器路由器的主要功能是:允許其他設(shè)備加入網(wǎng)絡,負責多跳路由和協(xié)助它的子設(shè)備終端之間的通訊,這些子設(shè)備通常是由電池供電。通常情況,路由器希望一直處于活動狀態(tài),因此它一般必須使用主電源供電。但是當使用樹群這種網(wǎng)絡模式時,路由允許間隔一定的周期操作一次,即可以使用電池給其供電。2.2.3 終端設(shè)備 終端設(shè)備不負責維持網(wǎng)絡結(jié)構(gòu),一般是一個電池供電的設(shè)備,它可以處于睡眠模式或者喚醒模式。通常,終端設(shè)備對存儲空間(特別是RAM需要)較小。注意:不同的設(shè)備類型在 IAR 中編譯時要選擇不用

22、的編譯選項,不同的設(shè)備類型的項目文件是相互獨立的。2.2.4 設(shè)備的棧配置ZigBee 棧參數(shù)的集合需要被配置為一定的值,和這些值在一起被稱之為棧配置。ZigBee聯(lián)盟已經(jīng)定義了這些由棧配置組成的棧參數(shù)。網(wǎng)絡中的所有設(shè)備一定要遵循同樣的棧配置。為了促進互用性這個目標,ZigBee 聯(lián)盟為 ZigBee2006 規(guī)范定義了棧配置。所有遵循此棧配置的設(shè)備可以用在其他開發(fā)商開發(fā)的遵循同樣棧配置的網(wǎng)絡中。2.3 尋址2.3.1 地址類型ZigBee 設(shè)備有兩種類型的地址。一種是 16 位網(wǎng)絡地址,另一種是 64 位IEEE地址,即MAC地址。天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書7716 位網(wǎng)絡

23、地址是設(shè)備加入網(wǎng)絡后分配的。它在網(wǎng)絡中是唯一的,用來在網(wǎng)絡中鑒別設(shè)備和發(fā)送數(shù)據(jù)。64 位地址是由IEEE來維護和分配全球唯一的地址,它通常由制造商或者被安裝時設(shè)置,設(shè)備將在它的生命周期中一直擁有它。2.3.2 網(wǎng)絡地址分配ZigBee 使用的是分布式尋址方案來為設(shè)備分配網(wǎng)絡地址。此方案能保證在整個網(wǎng)絡中所有分配的地址是唯一的。這是必須的,只有這樣才能保證一個特定的數(shù)據(jù)包能夠發(fā)給它指定的設(shè)備,而不出現(xiàn)混亂。同時,這個尋址算法的分布特性保證設(shè)備只能與他的父設(shè)備通訊來接受一個網(wǎng)絡地址,并不需要整個網(wǎng)絡范圍內(nèi)通訊的地址分配,這有助于提高網(wǎng)絡的可測量性。 在每個路由加入網(wǎng)絡之前,尋址方案需要知道和配置一

24、些參數(shù)。這些參數(shù)分別是MAX_DEPTH,MAX_ROUTERS和MAX_CHILDREN。這些參數(shù)也是棧配置的一部分。 ZigBee2006協(xié)議棧已經(jīng)規(guī)定了這些參數(shù)的值:MAX_DEPTH =5,MAX_ROUTERS = 6和MAX_CHILDREN = 20。 MAX_DEPTH決定網(wǎng)絡的最大深度。協(xié)調(diào)器(Coordinator)的深度規(guī)定為 0,其兒子位于深度 1,它的兒子的兒子位于深度 2,以此類推。MAX_DEPTH 參數(shù)限制了網(wǎng)絡在物理上的長度。 MAX_ROUTER決定一個路由(Router)或者一個協(xié)調(diào)器(Coordinator)節(jié)點可以處理的具有路由功能的兒子節(jié)點的最大個數(shù)

25、。MAX_CHILDREN決定一個路由(Router)或者一個協(xié)調(diào)器節(jié)點可以處理的兒子節(jié)點的最大個數(shù)。 2.3.3 Z-Stack 尋址 在 zigbee 網(wǎng)絡中向設(shè)備發(fā)送數(shù)據(jù)時,應用程序通常使用 AF_DataRequest()函數(shù),此函數(shù)將數(shù)據(jù)包發(fā)送給一個 afAddrType 類型的目標設(shè)備。其數(shù)據(jù)結(jié)構(gòu)定義如下:typedef structunion天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書88uint16 shortAddr; addr;afAddrMode_t addrMode;byte endPoint; afAddrType_t;目的地址模式可以設(shè)置為以下幾個值:typedef

26、 enumafAddrNotPresent = AddrNotPresent,afAddr16Bit = Addr16Bit,afAddrGroup = AddrGroup,afAddrBroadcast = AddrBroadcast afAddrMode_t;在Zigbee中,數(shù)據(jù)包可以有單點傳送(unicast)、多點傳送(multicast)或者廣播傳送三種方式,所以必須有地址模式參數(shù)來標明哪種方式。單點傳送中數(shù)據(jù)包只發(fā)送給一個設(shè)備,多點傳送中數(shù)據(jù)包則要傳送給一組設(shè)備,廣播中數(shù)據(jù)包則要發(fā)送給整個網(wǎng)絡的所有節(jié)點。2.3.4 重要設(shè)備地址 應用程序如果需要知道它的父親地址和它的設(shè)備地址。

27、使用下面的函數(shù)獲取該設(shè)備的父設(shè)備的地址(在 ZStack API 中定義):NLME_GetCoordShortAddr()返回本設(shè)備的父設(shè)備的 16 位網(wǎng)絡地址NLME_GetCoordExtAddr()返回本設(shè)備的父設(shè)備的 64 位擴展地址使用下面的函數(shù)獲取設(shè)備地址:NLME_GetShortAddr()返回本設(shè)備的 16 位網(wǎng)絡地址NLME_GetExtAddr()返回本設(shè)備的 64 位擴展地址天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書992.4 本章小結(jié)本章節(jié)主要介紹了 zigbee 協(xié)議棧,其實 TI 公司的 Zigbee 協(xié)議總體而言并不復雜,只需開發(fā)者用心的專注于應用層與驅(qū)動測

28、層的開發(fā),并且協(xié)議棧有很多現(xiàn)成的模板可以用。本章重點講述的 zigbee 協(xié)議中設(shè)計的一些重要屬于,如設(shè)備類型,尋址等,詳細了解這些內(nèi)容對開發(fā)者更深入的了解 zigbee 協(xié)議標準有很大的意義。其實作為 zigbee 無線通信網(wǎng)絡的一名開發(fā)者,僅僅需了解 zigbee 中一些關(guān)鍵的問題,不需要了解太多協(xié)議的具體實現(xiàn)細節(jié),就可以完成開發(fā)工作。 天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書1010 第三章 開發(fā)平臺與環(huán)境分析3.1 開發(fā)平臺整體介紹 3.1.1 實驗設(shè)備簡介: 本選題采用無線龍公司的理想系列ZigBee 無線傳感器網(wǎng)絡平臺DREAMRF-CC2430 ,該平臺支持國際802.15.

29、4 標準和ZigBee2006 標準。 DREAMRF-CC2430 配套提供ZigBee 模塊提供了93dB 的鏈路質(zhì)量,優(yōu)秀的接收器靈敏度和健壯的抗干擾性,多種供電模式,以及一套廣泛的外設(shè)集包括2個UART、14 位ADC 和21 個通用GPIO,4 個定時器,AES 加密處理器,DMA 控制器等等。DREAMRF-CC2430 功能特點:1、具有 USB 高速下載、支持IAR 集成開發(fā)環(huán)境;2、具有在線下載、調(diào)試、仿真功能;3、提供ZigBee2006 協(xié)議棧;4、基礎(chǔ)例子程序以源代碼方式提供;5、靈活配置。根據(jù)需求可選配多種無線模塊及擴展傳感器板;6、開發(fā)方便、快捷、簡單;7、C51

30、編程。熟悉、順手、入手快;8、具有液晶顯示。直觀、明了;9、采用最新ARM9 微控制器為核心,配置大型彩色TFT 液晶顯示屏和高級觸摸屏,支持UCOS-II 實時操作系統(tǒng)和GUI 圖形軟件,文件系統(tǒng)等,將ARM 32 位微控制器和多種無線網(wǎng)絡模塊有機結(jié)合,為使用32 位ARM 微控制器開發(fā)各種無線網(wǎng)絡,提供了方便途徑。10、板上模塊接口包括最新的溫度、濕度,光線,壓力,3 軸加速度等傳感器,LED, 鍵盤,串口,直流、步進電機等;也可以通過模塊置換增加更多類型傳感器模塊;大量軟件代碼,實現(xiàn)了和這些傳感器的控制接口,是ARM 微控制器可以和各種無線有線網(wǎng)絡進行實時連接,實時數(shù)據(jù)采集和分析,自動控

31、制管理。DREAMRF-CC2430 系統(tǒng)結(jié)構(gòu):理想系列 ZigBee 無線傳感器網(wǎng)絡平臺DREAMRF-CC2430 由1 .PC 機部分、2.網(wǎng)關(guān)部分、3.路由節(jié)點部分、4.傳感器節(jié)點部分四部分組成,用戶可以很方便的實現(xiàn)傳感器網(wǎng)絡無線化,網(wǎng)絡化,規(guī)?;难菔?,教學,觀測和再次開發(fā)。整體開發(fā)概念示意圖如圖1 所示。1 PC 機:完成接收網(wǎng)關(guān)數(shù)據(jù)和發(fā)送指令,實現(xiàn)可視化,形象化人機界面,方便用戶操作,觀察;天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書11112 網(wǎng)關(guān):完成通過計算機發(fā)送的指令發(fā)送或接收路由節(jié)點或者傳感器節(jié)點數(shù)據(jù),并將接收到的數(shù)據(jù)發(fā)送給計算機;3 路由節(jié)點: 在網(wǎng)關(guān)不能和所有的傳感

32、器節(jié)點通信時,路由節(jié)點作為一種中介使網(wǎng)關(guān)和傳感器節(jié)點通信,實現(xiàn)路由通信功能;4 傳感器節(jié)點:完成對設(shè)備的控制和數(shù)據(jù)的采集,包括燈的控制溫度、光照度、加速度數(shù)據(jù)等等。ZigBee 無線傳感器網(wǎng)絡根據(jù)不同的情況可以由一個網(wǎng)關(guān),一個或多個路由器,一個或多個傳感器節(jié)點組成。系統(tǒng)大小只受PC 軟件觀測數(shù)量,路由深度,網(wǎng)絡最大負載量限制。ZigBee2006 無線傳感器網(wǎng)絡在沒有進行網(wǎng)絡拓補修改之前支持5 級路由,31101 個網(wǎng)絡節(jié)點。傳感器網(wǎng)絡系統(tǒng)結(jié)構(gòu)圖如圖所示。 圖 3_1 傳感器網(wǎng)絡系統(tǒng)結(jié)構(gòu)3.1.2 仿真器C51RF 無線ZigBee 開發(fā)技術(shù)核心-C51RF-3 仿真器C51RF-3 仿真器具

33、有在線下載、調(diào)試、仿真等功能,具有一個USB接口,一個復位按鍵以及一根仿真線。 C51RF-3 仿真器通過USB 接口與計算機進行通信,要在CC2430的ZigBee 模塊的開發(fā)上實現(xiàn)下載、調(diào)試(DEBUG)、仿真等的通信都由此接口來實現(xiàn)。仿真器上的復位鍵用來實現(xiàn)C51RF-3 仿真器的復位,仿真線是一根10芯的下載、調(diào)試(DEBUG)、仿真線,通過它與CC2430 的天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書1212ZigBee模塊進行連接。3.1.3 網(wǎng)關(guān)主板 理想系列ZigBee 無線傳感器網(wǎng)絡平臺DREAMRF-CC2430 網(wǎng)關(guān)主板包括32 位ARM 高性能微控制器。網(wǎng)關(guān)硬件包括彩

34、色OLED 觸摸圖形顯示器,觸摸按鍵,支持UCOS-II 操作系統(tǒng),GUI 圖形軟件。集成了802.15.4/ZigBee 網(wǎng)絡路由器、網(wǎng)絡節(jié)點和軟件協(xié)議棧等完整軟件硬件。還包括UHF EPC Gen2 大功率RFID 讀卡器及HF 的RFID 讀卡器接口。提供光敏、溫度、壓力(選配) 、蜂鳴器、濕度等感知傳感器。圖 3_2 網(wǎng)關(guān)主板3.1.4 有源感知節(jié)點 理想系列 ZigBee 無線傳感器網(wǎng)絡平臺 DREAMRF-CC2430 提供有源網(wǎng)絡感知節(jié)點,節(jié)點提供三種傳感器(光敏、溫度、加速度)來進行數(shù)據(jù)采集,并提供 ZigBee 無線模塊進行數(shù)據(jù)傳輸,提供 2 種電源供電方式進行能源供應。此外

35、有源感知網(wǎng)絡節(jié)點提供仿真器接口進行程序下載。天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書1313圖 3_3 有源感知節(jié)點3.1.5 zigbee 模塊有源網(wǎng)絡感知節(jié)點配套 ZigBee 無線模塊采用無線龍標準雙排 20 針功能引腳 ZigBee圖 3_4 zigbee 模塊無線模塊采用的是 TI 的 ZigBee 片上系統(tǒng) CC2430 作為微控制器。天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書1414CC2430 是一顆真正的系統(tǒng)芯片(SoC)CMOS 解決方案。這種解決方案能夠提高性能并滿足以 ZigBee 為基礎(chǔ)的 2.4GHz ISM 波段應用對低成本,低功耗的要求。它使用 1 個 8

36、 位MCU(8051) ,具有 32/64/128 KB 可編程閃存和 8KB 的 RAM,還包含模擬數(shù)字轉(zhuǎn)換器(ADC)、幾個定時器(Timer) 、AES128 協(xié)同處理器、看門狗定時器(Watchdog Timer) 、32 kHz 晶振的休眠模式定時器、上電復位電路(Power On Reset)、掉電檢測電路(Brown Out Detection)以及 21 個可編程 I/O 引腳。3.2 軟件開發(fā)環(huán)境本題目的開發(fā)環(huán)境是 IARIAR Embedded Workbench(簡稱EW)的C/C+交叉編譯器和調(diào)試器是今天世界最完整的和最容易使用專業(yè)嵌入式應用開發(fā)工具。EW 對不同的微處

37、理器提供一樣直觀用戶界面。EW 今天已經(jīng)支持35 種以上的8 位/16 位32 位ARM 的微處理器結(jié)構(gòu)。圖 3_5 IAR 界面環(huán)境配置為了開發(fā)cc2430程序,需要對IAR進行一系列的配置。設(shè)置工程選項參數(shù)選擇 Project 菜單下的 Options 配置與 CC2430 相關(guān)的選項。Target 標簽天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書1515圖3_6 IAR參數(shù)配置配置Target,選擇Code model 和Data model,以及其它參數(shù)。Data Pointer 標簽圖3_7 IAR參數(shù)配置選擇數(shù)據(jù)指針數(shù)1 個,16 位。Stack/Heap 標簽天津理工大學 201

38、3 屆本科畢業(yè)設(shè)計說明書1616 圖3_8 IAR參數(shù)配置改變XDATA 棧大小到0 x1FF。單擊 Options 中右邊框架內(nèi)的Linker 選項,配置相關(guān)的選項。Output 標簽選中 Override default 可以在下面的文本框中更改輸出文件名。如果要用 C-SPY 進行調(diào)試,選中 format 下面的 Debug information for C-SPY, 圖3_9 IAR參數(shù)配置天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書1717Config 標簽單擊 Linker command file 欄文本框右邊的按鈕,選擇正確的連接命令文件圖3_10 IAR參數(shù)配置Code M

39、odel 關(guān)系表:Code Model FileNear lnk51ew_cc2430.xclBanked lnk51ew_cc2430b.xclDebugger單擊Options 中右邊框架內(nèi)的Debugger 選項,配置相關(guān)的選項。在Setup 標簽在 Device Description file 選擇CC2430.ddf 文件,其位置在程序安裝文件夾下如C:Program FilesIAR SystemsEmbedded Workbench 4.05 Evaluation version8051Configderivativeschipcon 。天津理工大學 2013 屆本科畢業(yè)設(shè)計說

40、明書1818。圖3_11 IAR參數(shù)配置最后按下“ok”保存設(shè)置。成功編譯工程,并且沒有錯誤信息提示后,按照下圖連接硬件系統(tǒng)圖3_12 系統(tǒng)連接示意圖編譯、連接、下載選擇 ProjectMake 或按F7 鍵編譯和連接工程,之后projectdebuge 就可以進入調(diào)試界面,同時程序?qū)⒈幌螺d到節(jié)點中。天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書1919圖 3_13 debug 界面天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書2020第四章 系統(tǒng)設(shè)計與實現(xiàn) 4.1 系統(tǒng)總體設(shè)計基于無線傳感網(wǎng)的監(jiān)控系統(tǒng)主要分為兩部分:zigbee 模塊程序開發(fā),上位機監(jiān)控軟件開發(fā)。Zigbee 模塊的開發(fā)是建立在

41、 ZigBee 協(xié)議棧的基礎(chǔ)上,添加自己的項目,實現(xiàn) cc2430 節(jié)點的啟動,傳感器收集數(shù)據(jù),發(fā)送數(shù)據(jù),接受命令等功能。數(shù)據(jù)匯聚模塊(主板)負責組建Zigbee 網(wǎng)絡,完成傳感器模塊與上位機(PC)數(shù)據(jù)的透明傳輸;數(shù)據(jù)匯聚模塊(主板)通過RS-232 串口與上位機相連。上位機有監(jiān)控界面可以測環(huán)境溫度,光強,RSSI 值,多個傳感器節(jié)點置于不同的監(jiān)測區(qū)域,每個傳感器節(jié)點把數(shù)據(jù)傳給匯聚節(jié)點,在匯聚節(jié)點完成數(shù)據(jù)融合,然后匯聚節(jié)點把數(shù)據(jù)通過串口傳給上位機做進一步處理并顯示給用戶。上位機監(jiān)控界面需要顯示所有溫度,光強,RSSI 值數(shù)據(jù)的大小及變化趨勢。 圖 4_1 系統(tǒng)整體框圖天津理工大學 2013

42、屆本科畢業(yè)設(shè)計說明書21214.2 模塊的軟件設(shè)計4.2.1 模塊軟件整體設(shè)計 Zigbee 網(wǎng)絡節(jié)點軟件系統(tǒng)是建立在 TI 的協(xié)議棧 ZStack1.4.31.2.1。通過更改協(xié)議棧的配置,可以把協(xié)議棧配置為協(xié)調(diào)器(Coordinator) 、終端(Enddevice) 。此協(xié)議棧支持CC2430 芯片,有較高的可靠性。 在各功能節(jié)點的協(xié)議棧程序設(shè)計時,該協(xié)議棧采用統(tǒng)一的編寫方式,用宏定義語句:def、ifdef、else 等語句區(qū)別各功能節(jié)點在各協(xié)議層中的操作,這樣的編寫方式將協(xié)議??闯梢粋€整體,提高了協(xié)議棧的移植性。根據(jù) ZigBee2006 標準的規(guī)范,ZStack1.4.31.2.1

43、 協(xié)議棧文件結(jié)構(gòu)如下:App:應用層,包含有具體應用需要的功能函數(shù),可供用戶自行修改設(shè)計。HAL:硬件抽象層,包含具體芯片的功能函數(shù)以及硬件構(gòu)架的接口參數(shù)。MAC:硬件物理層,包含針對具體芯片的物理層封裝(主要為 TIMAC-CC2430.lib 中的頭文件) ,ZMac 為在其上的 ZigBee 的 MAC 層封裝。MT:調(diào)試跟蹤與監(jiān)控測試,通過定義 MT_TASK 使能該功能,使設(shè)備能與 PC 端的 Z-TOOL 應用程序通信。NWK:網(wǎng)絡層,包含有網(wǎng)絡層函數(shù)封裝(主要為協(xié)調(diào)器與路由器需要的庫函數(shù)Router.lib 的頭文件,或者終端設(shè)備所需庫文件 EndDevice.lib 中的頭文件

44、) 。OSAL:操作系統(tǒng)抽象層,嵌入簡易操作系統(tǒng)的函數(shù)封裝,每個應用都以操作系統(tǒng)的一個任務形式執(zhí)行。Profile:通用操作框架,包含有設(shè)備描述幫助函數(shù),主要對相關(guān)設(shè)備的通用功能進行封裝。Security:安全層,包含 Security.lib 庫函數(shù)的頭文件。Tools:包含應用的配置文件。ZDO:ZigBee 設(shè)備對象的相關(guān)操作封裝。ZMac:ZigBee MAC 層的封裝。ZMain:包含 main 函數(shù)定義、起始代碼以及硬件功能配置函數(shù) OnBoard.h 等。整個協(xié)議棧采用中斷事件調(diào)用機制,任務添加函數(shù) osalTaskAdd()將各層初始化函數(shù)指針、各層事件處理函數(shù)指針以及各層任務

45、優(yōu)先級添加到任務表,然后通過中斷添加響應事件天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書2222(events) 。整個函數(shù)構(gòu)成消息處理機制,每個層次互不干擾互不影響。本設(shè)計中,終端節(jié)點負責采集當前的溫度數(shù)據(jù)在現(xiàn)場實時的顯示,并最終發(fā)送給協(xié)調(diào)器,在向協(xié)調(diào)器發(fā)送數(shù)據(jù)的同時還要實時的接收協(xié)調(diào)器發(fā)送過來的溫度報警數(shù)據(jù),并能夠超限報警。路由器只負責在終端節(jié)點和協(xié)調(diào)器之間的距離超過接收不到的情況下轉(zhuǎn)發(fā)協(xié)調(diào)器與終端節(jié)點所發(fā)送的數(shù)據(jù),起到一個中繼器的作用。協(xié)調(diào)器在接收到終端節(jié)點發(fā)送過來的溫度數(shù)據(jù)后進行相應的處理,然后通過 RS232 發(fā)送到上位機顯示,對上位機發(fā)送來的報警溫度進行處理,然后分節(jié)點的發(fā)送給相應

46、的節(jié)點報警。下圖為整個系統(tǒng)的流程圖圖 4_2 系統(tǒng)整體流程4.2.2 添加任務過程分析 在 Zstack(TI 的 Zigbee 協(xié)議棧)中,對于每個用戶自己新建立的任務通常需要兩個相關(guān)的處理函數(shù),包括: (1).用于初始化的函數(shù),如:SampleApp_Init(), 這個函數(shù)是在 osalInitTasks()這個 osal 中去調(diào)用的,其目的就是把一些用戶自己寫的任務中的一些變量,網(wǎng)絡模式,網(wǎng)絡終端類型等進行初始化;天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書2323在 osalInitTasks()中實現(xiàn)了多個任務初始化的設(shè)置,其中 macTaskInit( taskID+ )到ZDA

47、pp_Init( taskID+ )的幾行代碼表示對于幾個系統(tǒng)運行初始化任務的調(diào)用,而用戶自己實現(xiàn)的 SampleApp_Init()在最后,這里 taskID 隨著任務的增加也隨之遞增.所以用戶自己實現(xiàn)的任務的初始化操作應該在 osalInitTasks()中增加.void osalInitTasks( void )uint8 taskID = 0;/這里很重要, 調(diào)用 osal_mem_alloc()為當前 OSAL 中的各任務分配存儲空間(實際上是一個任/務數(shù)組),并用 tasksEvents 指向該任務數(shù)組(任務隊列).tasksEvents = (uint16 *)osal_mem_

48、alloc( sizeof( uint16 ) * tasksCnt);osal_memset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt); /將 taskSEvents 所指向的空間清零macTaskInit( taskID+ );nwk_init( taskID+ );Hal_Init( taskID+ );#if defined( MT_TASK )MT_TaskInit( taskID+ );#endifAPS_Init( taskID+ );ZDApp_Init( taskID+ );SampleApp_Init( taskID );

49、 /用戶自己需要添加的任務 (2).用于引起該任務狀態(tài)變化的事件發(fā)生后所需要執(zhí)行的事件處理函數(shù),如:SampleApp_ProcessEvent(),這個函數(shù)是首先在 const pTaskEventHandlerFn tasksArr 中進行設(shè)置(綁定),然后在 osalInitTasks()中如果發(fā)生事件進行調(diào)用綁定的事件處理函數(shù).4.2.3 具體功能實現(xiàn)(1)Master 節(jié)點設(shè)計 Master 節(jié)點的主要處理函數(shù)在uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events )函數(shù)中實現(xiàn),此函數(shù)主要負責處任務的所有 events

50、,包括計時器,數(shù)據(jù)傳送,以及用戶自定義的時間。在本設(shè)計中,master 節(jié)點還要負責網(wǎng)絡的建立,網(wǎng)絡節(jié)點的加入以及網(wǎng)絡號的分配等等。master 節(jié)點的流程圖如下:天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書2424 圖 4_3 master 節(jié)點流程圖sampleApp_ProcessEvent函數(shù)代碼如下:case SPI_INCOMING_ZTOOL_PORT:/ /P1_1=!P1_1; HalUARTRead( SPI_MGR_DEFAULT_PORT, UartRxBuf.RxBuf, 32 ); memcpy(LastRecLaddr,UartRxBuf.RXDATA.Laddr

51、,8); HalLedBlink(HAL_LED_1,2,50,1000); ReadFlag = 0;if(& = UartRxBuf.RxBuf0) if(1)/(CheckUartData(&UartRxBuf.RxBuf1,29) = UartRxBuf.RxBuf30)/如果校驗通過 switch(UartRxBuf.RXDATA.HeadCom0)/串口命令頭case R:天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書2525if(UartRxBuf.RXDATA.HeadCom1 = N) & (UartRxBuf.RXDATA.HeadCom2 = D)/

52、網(wǎng)絡發(fā)現(xiàn)ReadFlag = 1;/讀自己elseReadFlag = 0;/讀網(wǎng)絡break;case S:case T:case C:ReadFlag = 0;break;if(ReadFlag)UartOutNetDis();/串口輸出網(wǎng)絡結(jié)構(gòu)elsememcpy(&RfTx.TxBuf0,&UartRxBuf.RxBuf1,29);/裝入數(shù)據(jù)SrcSaddr = 0;flag = 0;for(j=0; jJoinNode.RouterCount; j+)/叛斷有無重復加入的節(jié)點findflag = 1;for(i=0; i8; i+)if(RfTx.TXDATA.Lad

53、dri != JoinNode.RouterAddrji)天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書2626findflag = 0;break;/不是if(findflag = 0)continue;SrcSaddr = JoinNode.RouterAddrj8;SrcSaddr = 8;SrcSaddr += JoinNode.RouterAddrj9; /查找到網(wǎng)絡地址flag = 1;break; if(flag = 0) for(j=0; jJoinNode.RfdCount; j+)/叛斷有無重復加入的節(jié)點 findflag = 1;for(i=0; i8; i+)if(RfT

54、x.TXDATA.Laddri != JoinNode.RfdAddrji)findflag = 0;break;/不是if(findflag = 0)continue;SrcSaddr = JoinNode.RfdAddrj8;SrcSaddr hdr.event 的內(nèi)容,決定要進行什么處理。case AF_INCOMING_MSG_CMD:接受到 master 節(jié)點的命令,需要對接受的命令進行處理,之后調(diào)用 SampleApp_MessageMSGCB( MSGpkt )函數(shù)進行處理,主要包括的是讀取傳感器,包括溫度、光感、RSSI 值,將數(shù)據(jù)發(fā)送給 master 節(jié)點。switch(Rf

55、Rece.RXDATA.HeadCom0)case R:/讀f(RfRece.RXDATA.HeadCom1 = A) & (RfRece.RXDATA.HeadCom2 = S)/讀傳感器if(RfRece.RXDATA.DataBuf0 = G) & (RfRece.RXDATA.DataBuf1 = M)/讀光敏memset(RfTx.TxBuf,x,32);RfTx.TXDATA.HeadCom0 = R;RfTx.TXDATA.HeadCom1 = A;RfTx.TXDATA.HeadCom2 = S; memcpy(RfTx.TXDATA.Laddr,ieeeAdd

56、r,8);/RfTx.TXDATA.Saddr = NLME_GetShortAddr();RfTx.TXDATA.DataBuf0 = G;RfTx.TXDATA.DataBuf1 = M; #ifdef POWER_SAVING Sensor_Delay(3000); #endiftemp = ReadSensorAdc(0);RfTx.TXDATA.DataBuf2 = temp/100 + 0 x30;temp = temp%100;RfTx.TXDATA.DataBuf3 = temp/10 + 0 x30;RfTx.TXDATA.DataBuf4 = temp%10 + 0 x30

57、;RfHaveTxDara = 1;天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書2828else if(RfRece.RXDATA.DataBuf0 = W) & (RfRece.RXDATA.DataBuf1 = D)/讀溫度 memset(RfTx.TxBuf,x,32); SPIReadTC77Data(); /注:第一次轉(zhuǎn)換溫度數(shù)據(jù),會出現(xiàn)不準確現(xiàn)像 Sensor_Delay(50); SPIReadTC77Data(); Sensor_Delay(50); temp1 = SPIReadTC77Data(); temp = temp1 / 100;Slave 節(jié)點的程序流程圖

58、如下: 圖 4_4 slave 節(jié)點流程圖天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書2929Slave 節(jié)點的部分主要代碼:SampleApp_ProcessEvent( uint8 task_id, uint16 events ) unsigned char *ieeeAddr; uint16 SrcSaddr;afIncomingMSGPacket_t *MSGpkt;if ( events & SYS_EVENT_MSG )MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID ); /檢索收到任

59、務信息 while ( MSGpkt )switch ( MSGpkt-hdr.event )case AF_INCOMING_MSG_CMD:SampleApp_MessageMSGCB( MSGpkt );break; /改變網(wǎng)絡狀態(tài) case ZDO_STATE_CHANGE:SampleApp_NwkState = (devStates_t)(MSGpkt-hdr.status); /網(wǎng)絡狀態(tài)=協(xié)調(diào)器,路由,設(shè)備if(SampleApp_NwkState = DEV_END_DEVICE) #ifdefWXL_RFD SampleApp_RDPSensorDevice(); /初使化設(shè)

60、備memset(RfTx.TxBuf,x,32);RfTx.TXDATA.Head = &RfTx.TXDATA.HeadCom0 = J;RfTx.TXDATA.HeadCom1 = O;天津理工大學 2013 屆本科畢業(yè)設(shè)計說明書3030RfTx.TXDATA.HeadCom2 = N;ieeeAddr = NLME_GetExtAddr();memcpy(RfTx.TXDATA.Laddr,ieeeAddr,8); SrcSaddr = NLME_GetShortAddr();RfTx.TXDATA.Saddr0 = SrcSaddr; RfTx.TXDATA.Saddr1 = SrcSaddr8;RfTx.TXDATA.DataBuf0 = R;RfTx.TX

溫馨提示

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

評論

0/150

提交評論