版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章 緒論Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用第1章緒論第2章開(kāi)發(fā)環(huán)境的搭建第3章基于BasicRF的點(diǎn)對(duì)點(diǎn)按鍵點(diǎn)燈第4章基于BasicRF的點(diǎn)對(duì)點(diǎn)串口點(diǎn)燈第5章基于BasicRF的點(diǎn)對(duì)點(diǎn)串口聊天第6章基于BasicRF的無(wú)線傳感網(wǎng)絡(luò)構(gòu)建第7章認(rèn)知Z-Stack協(xié)議棧第8章Z-Stack協(xié)議棧運(yùn)行機(jī)制詳解第9章基于Z-Stack協(xié)議棧的點(diǎn)對(duì)點(diǎn)通信第10章基于Z-Stack協(xié)議棧的傳感網(wǎng)絡(luò)構(gòu)建目
錄一、無(wú)線傳感網(wǎng)概述二、短距離無(wú)線通訊技術(shù)簡(jiǎn)介三、Zigbee技術(shù)簡(jiǎn)介四、開(kāi)發(fā)芯片—CC2530簡(jiǎn)介五、課程思政Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用一、無(wú)線傳感網(wǎng)概述Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用無(wú)線傳感網(wǎng)就是由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信方式形成的一個(gè)多跳的自組織的網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中被感知對(duì)象的信息,并發(fā)送給觀察者。簡(jiǎn)稱WSN(wireless
sensor
network),即無(wú)線傳感器網(wǎng)絡(luò)。一、無(wú)線傳感網(wǎng)概述無(wú)線傳感器網(wǎng)絡(luò)結(jié)構(gòu)如圖1-1所示,傳感器網(wǎng)絡(luò)系統(tǒng)通常包括傳感器節(jié)點(diǎn)(sensor
node
)、
匯聚節(jié)點(diǎn)(sink
node)和管理節(jié)點(diǎn)。大量傳感器節(jié)點(diǎn)隨機(jī)部署在監(jiān)測(cè)區(qū)域(sensor
field)內(nèi)部或附近,能夠通過(guò)自組織方式構(gòu)成網(wǎng)絡(luò)。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用一、無(wú)線傳感網(wǎng)概述Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用無(wú)線傳感器網(wǎng)絡(luò)通常具有如下主要特點(diǎn):(1)自組織。
(2)多跳路由。(3)動(dòng)態(tài)網(wǎng)絡(luò)拓?fù)洹?/p>
(4)節(jié)點(diǎn)資源有限。二、短距離無(wú)線通訊技術(shù)簡(jiǎn)介Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用目前使用較廣泛的近距無(wú)線通信技術(shù)有:藍(lán)牙(Bluetooth),無(wú)線局域網(wǎng)802.11(Wi-Fi)和紅外數(shù)據(jù)傳輸(IrDA)。同時(shí)更有一些具有發(fā)展?jié)摿Φ慕酂o(wú)線技術(shù)標(biāo)準(zhǔn),他們分別是:ZigBee、
超寬頻(UltraWideBand)、RFID、短距通信(NFC)、WiMedia、GPS、DECT、無(wú)線1394和專用無(wú)線系統(tǒng)等。三、Zigbee技術(shù)簡(jiǎn)介Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用ZigBee是基于IEEE802.15.4標(biāo)準(zhǔn)的低功耗局域網(wǎng)協(xié)議。根據(jù)國(guó)際標(biāo)準(zhǔn)規(guī)定,ZigBee技術(shù)是一種短距離、低功耗的無(wú)線通信技術(shù)。又稱紫蜂協(xié)議,來(lái)源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飛翔和“嗡嗡”(zig)地抖動(dòng)翅膀的“舞蹈”來(lái)與同伴傳遞花粉所在方位信息,也就是說(shuō)蜜蜂依靠這樣的方式構(gòu)成了群體中的通信網(wǎng)絡(luò)。其特點(diǎn)是近距離、低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率。三、Zigbee技術(shù)簡(jiǎn)介Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用ZigBee是一種低速短距離傳輸?shù)臒o(wú)線網(wǎng)絡(luò)協(xié)議。ZigBee協(xié)議從下到上分別為物理層(PHY)、媒體訪問(wèn)控制層(MAC)、傳輸層(TL)、網(wǎng)絡(luò)層(NWK)、應(yīng)用層(APL)等。其中物理層和媒體訪問(wèn)控制層遵循IEEE
802.15.4標(biāo)準(zhǔn)的規(guī)定。ZigBee協(xié)議比藍(lán)牙、高速率個(gè)人區(qū)域網(wǎng)絡(luò)或802.11x無(wú)線局域網(wǎng)更簡(jiǎn)單使用。
ZigBee可以說(shuō)是藍(lán)牙的同族兄弟,它使用2.4GHz波段,采用跳頻技術(shù)。與藍(lán)牙相比,
ZigBee更簡(jiǎn)單、速率更慢、功率及費(fèi)用也更低。主要適合用于自動(dòng)控制和遠(yuǎn)程控制領(lǐng)域,可以嵌入各種設(shè)備。簡(jiǎn)而言之,
ZigBee就是一種便宜的,低功耗的近距離無(wú)線組網(wǎng)通訊技術(shù)。三、Zigbee技術(shù)簡(jiǎn)介Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用①低功耗。②低成本。③低速率。④近距離。⑤短時(shí)延。⑥高容量。⑦高安全。⑧免執(zhí)照頻段。ZigBee技術(shù)特點(diǎn):三、Zigbee技術(shù)簡(jiǎn)介Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用Zigbee物理信道:ZigBee在868MHz(歐洲)頻段上有1個(gè)信道,信道編號(hào)為0,信道帶寬為
0.6MHz;在915MHz(美國(guó))頻段上有10個(gè)信道,信道編號(hào)為1—10,信道間隔為2MHz;在2.4G
的頻段上具有
16
個(gè)信道,從
2.405GHz
—
2.480GHz
間分布,信道編號(hào)為11—26,信道間隔是5M,具有很強(qiáng)的信道抗串?dāng)_能力。三、Zigbee技術(shù)簡(jiǎn)介Zigbee物理信道:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、Zigbee技術(shù)簡(jiǎn)介Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用ZigBee網(wǎng)絡(luò)設(shè)備類型:1、網(wǎng)絡(luò)協(xié)調(diào)器:包括所有的網(wǎng)絡(luò)消息,是3種設(shè)備類型中最復(fù)雜的一種,存儲(chǔ)容量最大、計(jì)算能力
強(qiáng)。發(fā)送網(wǎng)絡(luò)信標(biāo)、建立一個(gè)網(wǎng)絡(luò)、管理網(wǎng)絡(luò)節(jié)點(diǎn)、存儲(chǔ)網(wǎng)絡(luò)節(jié)點(diǎn)信息、尋找一對(duì)節(jié)點(diǎn)間的路由消息、不斷地接收信息。2、全功能設(shè)備(FFD):可以擔(dān)任網(wǎng)絡(luò)協(xié)調(diào)者,形成網(wǎng)絡(luò),讓其它的FFD或RFD連結(jié),F(xiàn)FD具備控制器的功能,可提供信息雙向傳輸。附帶由標(biāo)準(zhǔn)指定的全部802.15.4功能和所有特征。更多的存儲(chǔ)器、計(jì)算機(jī)能力可使其在空閑時(shí)起網(wǎng)絡(luò)路由作用。也可能做終端設(shè)備。3、精簡(jiǎn)功能設(shè)備(RFD):RFD只能傳送信息給FFD或從FFD接收信息。附帶有限的功能來(lái)控制成本和復(fù)雜性。在網(wǎng)絡(luò)中通常用作終端設(shè)備。ZigBee相對(duì)簡(jiǎn)單的實(shí)現(xiàn)自然節(jié)省了費(fèi)用。RFD由于省掉了內(nèi)存和其他電路,降低了ZigBee部件成本,而簡(jiǎn)單的8位處理器和小協(xié)議棧也有助于降低成本。三、Zigbee技術(shù)簡(jiǎn)介ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):ZigBee技術(shù)具有強(qiáng)大的組網(wǎng)能力,可以形成星型、樹(shù)型和MESH網(wǎng)狀網(wǎng),可以根據(jù)實(shí)際
項(xiàng)目需要來(lái)選擇合適的網(wǎng)絡(luò)結(jié)構(gòu)。MESH:網(wǎng)狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)具有強(qiáng)大的功能,網(wǎng)絡(luò)可以通過(guò)“多跳”的方式來(lái)通信;該拓?fù)浣Y(jié)構(gòu)還可以組成極為復(fù)雜的網(wǎng)絡(luò);網(wǎng)絡(luò)還
具備自組織、自愈功能;星型和族樹(shù)型網(wǎng)絡(luò)適合一點(diǎn)對(duì)多點(diǎn)、距離相對(duì)較近的應(yīng)用。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用四、開(kāi)發(fā)芯片—CC2530簡(jiǎn)介Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用CC2530是TI公司開(kāi)發(fā)的一款專門(mén)用于無(wú)線傳感器網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)傳輸?shù)募尚酒?,可以用?.4-GHz
IEEE802.15.4、ZigBee和RF4CE應(yīng)用的一個(gè)真正的SoC解決方案。它能夠以非常低的功耗和較低
的成本來(lái)建立強(qiáng)大的無(wú)線傳感器網(wǎng)絡(luò),可以幫助我們進(jìn)行一些實(shí)際的工程實(shí)際,目前在軍民領(lǐng)域都有著廣泛的應(yīng)用。CC2530內(nèi)部使用業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051CPU,結(jié)合了領(lǐng)先的RF收發(fā)器,具有8KB容量的RAM,具備
32/64/128/256KB四種不同容量的系統(tǒng)內(nèi)可編程閃存和其他許多強(qiáng)大的功能。CC2530根據(jù)內(nèi)部閃存容量的不同分為4種不同型號(hào):CC2530F32/64/128/256,F(xiàn)后面的數(shù)值即表示該型號(hào)芯片具有的閃存容量級(jí)別。CC2530單片機(jī)采用QFN40封裝,外觀上是一個(gè)邊長(zhǎng)為6mm的正方形芯片,每個(gè)邊上有10個(gè)引腳,總共40個(gè)引腳。CC2530的引腳布局如圖1-4所示。四、開(kāi)發(fā)芯片—CC2530簡(jiǎn)介Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用四、開(kāi)發(fā)芯片—CC2530簡(jiǎn)介按表1-1將CC2530的40個(gè)引腳按功能進(jìn)行分類,其中共有有21個(gè)數(shù)字I/O引腳,這些引腳可以組成
3個(gè)8位端口,分別為端口0、端口1和端口2,通常表示為P0、P1和P2。其中,P0和P1是完全的8位端口,而P2僅有5位可以使用。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用五、課程思政思政元素強(qiáng)化愛(ài)國(guó)主義教育。在我國(guó),對(duì)于物聯(lián)網(wǎng)標(biāo)準(zhǔn)的發(fā)展,華為的推進(jìn)最早。2014年5月,華為提出了窄帶技術(shù)NB
M2M;2015年5月融合NB
OFDMA形成了NB-CIoT;2015年7月份,NB-LTE跟NB-CIoT進(jìn)一步融合形成NB-IoT;NB-IoT具有覆蓋廣、連接多、速率低、成本低、功耗低、架構(gòu)優(yōu)等特點(diǎn)。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用謝謝!Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用第二章 開(kāi)發(fā)環(huán)境的搭建Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用一、任務(wù)描述二、知識(shí)講解三、課程思政四、小結(jié)目
錄Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用一、任務(wù)描述Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用工欲善其事,必先利其器。本章的主要任務(wù)完成zigbee開(kāi)發(fā)的環(huán)境搭建,即進(jìn)行IAR
Embedded
Workbench的安裝,以及工程模板的創(chuàng)建,搭建好zigbee開(kāi)發(fā)的環(huán)境。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用針對(duì)CC2530芯片進(jìn)行zigbee技術(shù)的應(yīng)用系統(tǒng)開(kāi)發(fā)一般需要以下幾個(gè)調(diào)試工具來(lái)完成:軟件集成開(kāi)發(fā)環(huán)境(IAR
Embedded
Wordbench):完成系統(tǒng)的軟件開(kāi)發(fā),進(jìn)行軟件和硬件仿真調(diào)試,它也是硬件調(diào)試的輔助手段。ZigBee
Debugger仿真下載器:下載和調(diào)試程序。IAR
Embedded
Wordbench主要完成系統(tǒng)的軟件開(kāi)發(fā)和調(diào)試。它提供了一整套的程序編制、維護(hù)、編譯、調(diào)試環(huán)境,能將匯編語(yǔ)言和C語(yǔ)言程序編譯成HEX可執(zhí)行輸出文件,并能將程序下載到目標(biāo)CC2530上運(yùn)行調(diào)試。二、知識(shí)講解IAR
Embedded
Workbench的安裝:1.IAR
Embedded
Workbench下載地址:/updates/
2.安裝IAR軟件,雙擊EW8051-EV-8103-Web.exe,見(jiàn)圖2-1。在彈出的對(duì)話框選擇Next點(diǎn)擊。推薦默認(rèn)安裝路徑,按引導(dǎo)指示,直至安裝完成即可。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解新建工程:1建立一個(gè)新的工程1)打開(kāi)IAR集成開(kāi)發(fā)環(huán)境,單擊菜單欄的Project,在彈出的下拉菜單中選擇Create
New
Project。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解新建工程:1建立一個(gè)新的工程2)在彈出窗口選中Empty
project再點(diǎn)OK,如下圖:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解新建工程:1建立一個(gè)新的工程3)選擇保存工程的位置和工程名:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解新建工程:1建立一個(gè)新的工程4)選擇菜單欄上的File,在彈出的下拉菜單中選擇SaveWorkspace。在彈出的Save
Workspace
As對(duì)話框中選擇保存的位置,輸入文件名即可,保存Workspace。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解新建工程:2建立一個(gè)源文件新建源文件,點(diǎn)擊File選擇New中File,再點(diǎn)擊File選擇Save填寫(xiě)好源文件的名稱,點(diǎn)擊保存即可。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解新建工程:3添加源文件到工程源文件建立好了還需要把源文件添加到工程里面,選擇project的
Add
File,添加剛才保存的文件。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用新建工程:4編寫(xiě)代碼參照以下代碼輸入main.c文件,本例中沒(méi)有邏輯代碼只有主函數(shù),所以不對(duì)代碼進(jìn)行剖析。#include
"ioCC2530.h"http://引用CC2530頭文件void
main(void){}二、知識(shí)講解工程配置:IAR集成了許多種處理器,在建立工程后必須對(duì)工程進(jìn)行設(shè)置才能夠開(kāi)發(fā)出相應(yīng)的程序。設(shè)置步驟如下:1)點(diǎn)擊菜單欄上的Project,在彈出的下拉菜單中選擇Options,彈出的Option
fornode“DEMO”;快捷方式:在工程名上點(diǎn)右鍵,選擇Options…。設(shè)置窗口如右圖所示:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解工程配置:2)設(shè)置相關(guān)參數(shù)。在General
Option選項(xiàng)Target標(biāo)簽下,Device欄中選擇Texas
Instruments文件夾下的CC2530F256.i51Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解工程配置:2)設(shè)置相關(guān)參數(shù)。在General
Option選項(xiàng)Target標(biāo)簽下,Device欄中選擇Texas
Instruments文件夾下的CC2530F256.i51Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解工程配置:3)設(shè)置Codemodel、Data
model、Callingconvention如右圖所示:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解工程配置:4)Linker選項(xiàng)Config標(biāo)簽,勾選Overridedefault,點(diǎn)擊下面對(duì)話框最右邊的按鍵,選
lnk51ew_cc2530F256.xcl:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解工程配置:5)Debugger欄中的
Setup欄設(shè)置為T(mén)esasInstrumentsZigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解工程配置:6)然后在Debugger選項(xiàng)的Driver里選擇
Texas
Instruments(使用編程器仿真),下面選擇io8051.ddf文件,如圖所示。至此,基本配置已經(jīng)完成。其它配置以后需要用到時(shí)我們會(huì)提及。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解編譯工程:點(diǎn)擊Make圖標(biāo),如果所有文件都沒(méi)有錯(cuò),編譯結(jié)果顯示如圖所示:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解安裝SmartRF仿真器驅(qū)動(dòng):USB線鏈接仿真器,USB一端插在PC機(jī)上。打開(kāi)設(shè)備管理器,如下圖:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解安裝SmartRF仿真器驅(qū)動(dòng):Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解安裝SmartRF仿真器驅(qū)動(dòng):點(diǎn)下一步即可成功安裝好驅(qū)動(dòng),如果查看驅(qū)動(dòng)是裝好呢?同樣在設(shè)備管理器中,如果正確識(shí)別仿真器將會(huì)出現(xiàn)SmartRF04EB的設(shè)備。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解程序仿真與調(diào)試:將上面編譯沒(méi)有錯(cuò)誤的工程下載到開(kāi)發(fā)板中運(yùn)行,點(diǎn)擊Debug按鍵,開(kāi)始下載程序并在線仿真調(diào)試。常用快捷鍵:單步執(zhí)行:F10單步執(zhí)行一條C語(yǔ)句或匯編指令進(jìn)入函數(shù):F11跟蹤執(zhí)行一條C語(yǔ)句或匯編指令全速運(yùn)行:F5
GoZigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、課程思政Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用思政元素:代碼編寫(xiě)排版約束。思政元素強(qiáng)化職業(yè)素養(yǎng)教育。學(xué)生在掌握知識(shí)的同時(shí),職業(yè)素養(yǎng)教育也是十分必要的,在進(jìn)行項(xiàng)目開(kāi)發(fā)時(shí),所編寫(xiě)的代碼一定要做到可讀性強(qiáng)、可維護(hù)性強(qiáng)、高內(nèi)聚、低耦合、增強(qiáng)移植性。代碼編寫(xiě)格式的規(guī)范,體現(xiàn)著從業(yè)者的團(tuán)隊(duì)意識(shí)和職業(yè)素養(yǎng)。那么如何提升代碼編寫(xiě)的規(guī)范性那?下面介紹幾個(gè)排版約束。
1、程序塊要采用縮進(jìn)風(fēng)格編寫(xiě),縮進(jìn)的空格數(shù)為4個(gè)。2、相對(duì)獨(dú)立的程序塊之間、變量說(shuō)明之后,必須加空行。3、較長(zhǎng)的語(yǔ)句(如循環(huán)、判斷等語(yǔ)句或者函數(shù)等)(>80字符)要分成多行書(shū)寫(xiě)。4、不允許把多個(gè)語(yǔ)句寫(xiě)在一行中,即一行只寫(xiě)一條語(yǔ)句。四、小結(jié)本部分主要介紹了開(kāi)發(fā)環(huán)境IAR的安裝,工程的創(chuàng)建和配置,以及仿真調(diào)試的使用,旨在讓學(xué)生掌握針對(duì)CC2530芯片程序開(kāi)發(fā)過(guò)程。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用謝謝!Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用第三章 基于BasicRF的點(diǎn)對(duì)點(diǎn)按鍵點(diǎn)燈Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用目
錄一、任務(wù)描述二、知識(shí)講解三、任務(wù)實(shí)施四、課程思政五、小結(jié)Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用一、任務(wù)描述Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用以Basic
RF無(wú)線點(diǎn)對(duì)點(diǎn)傳輸協(xié)議為基礎(chǔ),采用兩塊ZigBee模塊作為無(wú)線發(fā)射模塊和無(wú)線接收模塊,實(shí)現(xiàn)節(jié)點(diǎn)A按下按鍵時(shí)控制節(jié)點(diǎn)B上LED燈的亮
滅,實(shí)現(xiàn)無(wú)線開(kāi)關(guān)LED燈的功能。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用Basic
RF簡(jiǎn)介:Basic
RF由TI公司提供,它包含了IEEE
802.15.4標(biāo)準(zhǔn)的數(shù)據(jù)包的收發(fā)。這個(gè)協(xié)議只是用來(lái)演示無(wú)線設(shè)備是如何進(jìn)行數(shù)據(jù)傳輸?shù)?,不包含完整功能的協(xié)議。但是它采用了與802.15.4
MAC兼容的數(shù)據(jù)包結(jié)構(gòu)及ACK包結(jié)構(gòu),其功能限制如下:不提供多跳?設(shè)備掃描及Beacon。不提供不同種的網(wǎng)絡(luò)設(shè)備,如協(xié)調(diào)器、路由器等。所有節(jié)點(diǎn)同級(jí),只實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)傳輸。傳輸時(shí)會(huì)等待信道空閑,但不按802.15.4
CSMA-CA要求進(jìn)行兩次CCA檢測(cè)。不重傳數(shù)據(jù)。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用Basic
RF簡(jiǎn)介:簡(jiǎn)言之,Basic
RF是簡(jiǎn)單無(wú)線點(diǎn)對(duì)點(diǎn)傳輸協(xié)議,可用來(lái)進(jìn)行Z-Stack協(xié)議棧無(wú)線設(shè)備數(shù)據(jù)傳輸?shù)娜腴T(mén)學(xué)習(xí)。力求由淺入深,使大家逐步掌握無(wú)線點(diǎn)對(duì)點(diǎn)通訊的整體過(guò)程。并能在Basic
RF軟件代碼的基礎(chǔ)上,進(jìn)行點(diǎn)對(duì)點(diǎn)的相對(duì)簡(jiǎn)單的無(wú)線傳感控制網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)。二、知識(shí)講解Basic
RF簡(jiǎn)介:Basic
RF軟件結(jié)構(gòu):Basic
RF軟件結(jié)構(gòu)包括硬件層(Hardware
layer)、硬件抽象層(HardwareAbstractionlayer)、基本無(wú)線傳輸層(Basic
RF
layer)和應(yīng)用層(Application),如圖所示。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用Basic
RF簡(jiǎn)介:硬件層是實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)幕A(chǔ),肯定要放在最底層。硬件抽象層包含訪問(wèn)無(wú)線接收功能,以及開(kāi)發(fā)板上的TIMER、GPIO、UART、ADC、LCD、buttons等外設(shè)功能。Basic
RF
layer:基本無(wú)線傳輸層提供一種簡(jiǎn)單雙向無(wú)線通信協(xié)議。Basic
RF由TI公司提供,它包含了IEEE
802.15.4標(biāo)準(zhǔn)的數(shù)據(jù)包的收發(fā)功能但并沒(méi)有使用到協(xié)議棧,它僅僅是是讓兩個(gè)結(jié)點(diǎn)進(jìn)行簡(jiǎn)單的通信,應(yīng)用層是用戶編寫(xiě)代碼的地方,可調(diào)用封裝好的Basic
RF和HAL的函數(shù),實(shí)現(xiàn)不同的應(yīng)用。它相當(dāng)于用戶使用Basic
RF層和HAL的接口。二、知識(shí)講解Basic
RF簡(jiǎn)介:CC2530
BasicRF文件結(jié)構(gòu)如圖所示:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解Basic
RF簡(jiǎn)介:CC2530
BasicRF工程文件介紹:docs文件夾。ide文件夾:打開(kāi)文件夾后會(huì)有三個(gè)文件夾,及一個(gè)工程。Ide\Settings文件夾:每個(gè)基礎(chǔ)實(shí)驗(yàn)都會(huì)有,主要保存有讀者自己的IAR環(huán)境里面的設(shè)置。Ide\srf05_CC2530文件夾:里面放有三個(gè)工程。(3)source文件夾:打開(kāi)文件夾里面有apps文件夾和components文件夾。Source\apps文件夾:存放BasicRF三個(gè)實(shí)驗(yàn)的應(yīng)用實(shí)現(xiàn)的源代碼Source\components文件夾:包含Z著igbBeae技si術(shù)cR無(wú)F線的傳應(yīng)感用網(wǎng)應(yīng)程用序使用不同組件的源代碼。二、知識(shí)講解Basic
RF操作:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用Basic
RF操作包括啟動(dòng)、發(fā)送、接收三個(gè)環(huán)節(jié)。1.啟動(dòng)。啟動(dòng)過(guò)程包括:初始化開(kāi)發(fā)板的硬件外設(shè)和配置I/O端口,設(shè)置無(wú)線通訊的網(wǎng)絡(luò)ID、信道、接收和發(fā)送模塊地址、安全加密等參數(shù)。創(chuàng)建basicRfCfg_t類型變量basicRfConfig,并初始化其中的成員。相關(guān)參數(shù)宏定義。調(diào)用halBoardInit()函數(shù),對(duì)硬件外設(shè)和I/O端口進(jìn)行初始化。調(diào)用halRfInit()函數(shù),打開(kāi)射頻模塊,設(shè)置默認(rèn)配置選項(xiàng)。二、知識(shí)講解Basic
RF操作:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用1.啟動(dòng)。代碼解析(1)創(chuàng)建basicRfCfg_t類型變量basicRfConfig,并初始化其中的成員。static
basicRfCfg_t
basicRfConfig;basicRfConfig.panId
=
PAN_ID;//創(chuàng)建basicRfCfg_t類型變量//宏定義basicRfConfig.channel
=
RF_CHANNEL;
//宏定義basicRfConfig.ackRequest
=
TRUE;
//宏定義二、知識(shí)講解Basic
RF操作:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用1.啟動(dòng)。代碼解析(2)相關(guān)參數(shù)宏定義。#defineRF_CHANNEL25 //
2.4
GHz
RF
channel#definePAN_ID0x2007#defineSWITCH_ADDR0x2520#defineLIGHT_ADDR0xBEEF注意:首先要確定兩個(gè)通訊模塊的網(wǎng)絡(luò)ID和通信信道要一致,其次設(shè)置各模塊的識(shí)別地址,即模塊的地址或編號(hào)。二、知識(shí)講解Basic
RF操作:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用2.發(fā)送。創(chuàng)建一個(gè)buffer,把數(shù)據(jù)放入其中,調(diào)用basicRfSendPacket()函數(shù)發(fā)送數(shù)據(jù)。在該工程中,light_switch.c文件中的appSwitch()函數(shù)是用來(lái)發(fā)送數(shù)據(jù)的,由于
代碼較長(zhǎng),appSwitch()函數(shù)具體實(shí)現(xiàn)代碼參見(jiàn)教材或工程文件。請(qǐng)注意刪除了液
晶顯示代碼。二、知識(shí)講解Basic
RF操作:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用發(fā)送:appSwitch()函數(shù)代碼解析。第2行,把要發(fā)送的數(shù)據(jù)LIGHT_TOGGLE_CMD(宏定義該值為0)放到buffer中,數(shù)組pTxData就是發(fā)送的buffer,即把要發(fā)送的數(shù)據(jù)存放到該數(shù)組中。第4行,為basicRfCfg_t型結(jié)構(gòu)體變量basicRfConfig.myAddr賦值,宏定義SWITCH_ADDR為0x2520,即發(fā)射模塊的本機(jī)地址。第5行,調(diào)用basicRfInit(&basicRfConfig)初始化函數(shù),負(fù)責(zé)調(diào)用halRfInit()配置參數(shù),設(shè)置中斷等。在basic_rf.c代碼中可以找到uint8basicRfInit(basicRfCfg_t*
pRfConfig)。二、知識(shí)講解Basic
RF操作:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用2.發(fā)送:appSwitch()函數(shù)代碼解析。第11行,調(diào)用halButtonPushed(),查看按鍵狀態(tài),如該函數(shù)值為0,說(shuō)明按鍵按下,按鍵連接的外圍電路應(yīng)為上拉模式。第13行,調(diào)用發(fā)送函數(shù)basicRfSendPacket(LIGHT_ADDR,pTxData,APP_PAYLOAD_LENGTH),該函數(shù)的形參數(shù)格式是:basicRfSendPacket(uint16
destAddr,uint8*
pPayload,uint8
length)。①destAddr是發(fā)送的目標(biāo)地址,實(shí)參是LIGHT_ADDR,即接收模塊的地址。②pPayload是指向發(fā)送緩沖區(qū)的地址,實(shí)參是pTxData,該地址的內(nèi)容是將要發(fā)送的數(shù)據(jù)。③length是發(fā)送數(shù)據(jù)長(zhǎng)度,實(shí)參是APP_PAYLOAD_LENGTH,單位是字節(jié)數(shù)。二、知識(shí)講解Basic
RF操作:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用3.接收。通過(guò)調(diào)用basicRfPacketIsReady()函數(shù)來(lái)檢查是否收到一個(gè)新的數(shù)據(jù)包,若有新數(shù)據(jù),則調(diào)用basicRfReceive()函數(shù),把數(shù)據(jù)接收到。在該工程中,light_switch.c文件中的appLight()函數(shù)是用來(lái)發(fā)送數(shù)據(jù)的,由于代碼較長(zhǎng),appLight()函數(shù)具體實(shí)現(xiàn)代碼參見(jiàn)教材或工程文件。請(qǐng)注意刪除了液晶顯示代碼。二、知識(shí)講解Basic
RF操作:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用3.接收:appLight()函數(shù)代碼解析。(1)第10行,調(diào)用basicRfPacketIsReady()函數(shù)來(lái)檢查是否收到一個(gè)新數(shù)據(jù)包,若有新數(shù)據(jù),則返回TRUE。新數(shù)據(jù)包信息存放在basicRfRxInfo_t型結(jié)構(gòu)體變量rxi中。(2)第12行,調(diào)用basicRfReceive(pRxData,APP_PAYLOAD_LENGTH,NULL)函數(shù),把收到的數(shù)據(jù)復(fù)制到buffer中,即pRxData,注意與發(fā)送數(shù)據(jù)buffer的pTxData區(qū)別。(3)第14行,判斷接收的內(nèi)容是否與發(fā)送的數(shù)據(jù)一致。若正確,則改變LED1燈的亮、滅狀態(tài)。三、任務(wù)實(shí)施1、打開(kāi)IT官網(wǎng)的工程:登錄TI官網(wǎng),下載CC2530BasicRF.rar,解壓后雙擊“\CC2530
BasicRF\CC2530BasicRF\ide\srf05_cc2530\iar”文件夾中的“l(fā)ight_switch.eww”工程文件,打開(kāi)后如圖所示。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、任務(wù)實(shí)施Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用2、查看按鍵引腳和LED燈引腳:本例采用與TI官網(wǎng)發(fā)布的開(kāi)發(fā)平臺(tái)一致的引腳設(shè)置,如使用的設(shè)備與本例不一致,請(qǐng)根據(jù)實(shí)際電路自行修改。打開(kāi)“hal_board.h”頭文件,打開(kāi)方法有兩種。展開(kāi)左邊Workspace欄中的“l(fā)ight_switch.c”的“+”號(hào),就可以在展開(kāi)文件列表中找到“hal_board.h”頭文件,雙擊該文件,就可以打開(kāi)它。在“l(fā)ight_switch.c”文件的開(kāi)始部分代碼中,可以找到“include<hal_board.h>”宏定義,右擊該宏定義并選中【Open“hal_board.h”】命令,立刻打開(kāi)該文件。三、任務(wù)實(shí)施Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用3、編寫(xiě)程序。在light_switch.c文件編寫(xiě)代碼,由于程序文件較長(zhǎng),具體參見(jiàn)教材或工程文件。三、任務(wù)實(shí)施Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用4、下載與操作。給發(fā)射和接收模塊下載程序在“l(fā)ight_switch.c”的主函數(shù)中找到“uint8
appMode=NONE;”代碼,并把它注釋掉,在其下一行添加“uint8
appMode=SWITCH;”代碼。編譯程序,無(wú)誤后下載到發(fā)射模塊中。在“l(fā)ight_switch.c”的主函數(shù)中找到“uint8
appMode=SWITCH;”代碼,將其修改為:“uint8
appMode=LIGHT;”。編譯程序,無(wú)誤后下載到接收模塊中。操作按下發(fā)送模塊上的按鍵,觀察接收節(jié)點(diǎn)上LED燈的變化。四、課程思政Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用思政元素:代碼編寫(xiě)注釋約束。思政元素強(qiáng)化職業(yè)素養(yǎng)教育。我們通過(guò)講解代碼注釋提升程序的可讀性和可維護(hù)性,進(jìn)一步強(qiáng)化學(xué)生的團(tuán)隊(duì)意識(shí)。1、一般情況下,源程序有效注釋量必須在20%以上。注釋的原則是有助于對(duì)程序的閱讀理解,注釋不宜太多也不能太少,注釋必須準(zhǔn)確、易懂、簡(jiǎn)潔。2、說(shuō)明性文件頭部應(yīng)進(jìn)行注釋,注釋必須列出:版權(quán)說(shuō)明、版本號(hào)、生成日期、作者、內(nèi)容、功能、與其它文件的關(guān)系、修改日志等,頭文件的注釋還應(yīng)有函數(shù)功能簡(jiǎn)要說(shuō)明。3、函數(shù)頭部應(yīng)進(jìn)行注釋,列出:函數(shù)的目的、功能、輸入?yún)?shù)、輸出參數(shù)、返回值、調(diào)用關(guān)系等。4、邊寫(xiě)代碼邊注釋,修改代碼同時(shí)修改相應(yīng)的注釋,以保證注釋與代碼的一致性。無(wú)用的注釋要?jiǎng)h除。5、將注釋與其上面的代碼用空行隔開(kāi)。6、對(duì)變量的定義和分支語(yǔ)句、條件語(yǔ)句、循環(huán)語(yǔ)句等必須編寫(xiě)注釋。五、小結(jié)本部分主要實(shí)現(xiàn)了以Basic
RF無(wú)線點(diǎn)對(duì)點(diǎn)傳輸協(xié)議為基礎(chǔ)無(wú)線LED燈的控制,通過(guò)本章講解使學(xué)生了解BasicRF
Layer工作機(jī)制;熟悉無(wú)線發(fā)送和接收函數(shù);理解發(fā)送地址和接收地址、PAN_ID、RF_CHANNEL等概念;學(xué)會(huì)使用CC2530建立點(diǎn)對(duì)點(diǎn)的無(wú)線通信方法。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用謝謝!Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用第四章 基于BasicRF的點(diǎn)對(duì)點(diǎn)串口點(diǎn)燈Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用目
錄一、任務(wù)描述二、知識(shí)講解三、任務(wù)實(shí)施四、課程思政五、小結(jié)Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用一、任務(wù)描述Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用以Basic
RF無(wú)線點(diǎn)對(duì)點(diǎn)傳輸協(xié)議為基礎(chǔ),采用兩塊ZigBee模塊作為無(wú)線發(fā)射模塊和無(wú)線接收模塊,節(jié)點(diǎn)A通過(guò)串口與PC機(jī)連接,接收串口發(fā)送的
數(shù)據(jù),PC串口發(fā)送數(shù)據(jù)為規(guī)定好的自定義控制指令,A節(jié)點(diǎn)接收到無(wú)線數(shù)
據(jù)后發(fā)送給B節(jié)點(diǎn),B節(jié)點(diǎn)根據(jù)收到的指令格式進(jìn)行LED燈的控制。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用定義數(shù)組:本例涉及到串口數(shù)據(jù)的發(fā)送以及無(wú)線數(shù)據(jù)的收發(fā),考慮到程序后續(xù)的拓展,在此定義四個(gè)數(shù)組,分別為串口發(fā)送數(shù)據(jù)、串口接收數(shù)組、無(wú)線發(fā)送數(shù)組、無(wú)線接收數(shù)組。#define
MAX_SEND_BUF_LEN
128#define
MAX_RECV_BUF_LEN
128static
uint8
pTxData[MAX_SEND_BUF_LEN];//無(wú)線發(fā)送緩沖區(qū)的大小
static
uint8
pRxData[MAX_RECV_BUF_LEN];//無(wú)線接收緩沖區(qū)的大小#define
MAX_UART_SEND_BUF_LEN
128#define
MAX_UART_RECV_BUF_LEN
128uint8
uTxData[MAX_UART_SEND_BUF_LEN];//串口發(fā)送緩沖區(qū)的大小
uint8
uRxData[MAX_UART_RECV_BUF_LEN];//串口接收緩沖區(qū)的大小二、知識(shí)講解通訊節(jié)點(diǎn)配置:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用/*****點(diǎn)對(duì)點(diǎn)通訊地址設(shè)置******/#define
RF_CHANNEL#define
PAN_ID
#define
RFsend_ADDR#define
RFreceive_ADDR200x20070x12340x5678//頻道11~26//網(wǎng)絡(luò)id//發(fā)送無(wú)線數(shù)據(jù)模塊地址//接收無(wú)線數(shù)據(jù)模塊地址二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用串口相關(guān)函數(shù):由于TI官網(wǎng)下載CC2530BasicRF工程模板中未實(shí)現(xiàn)UART相關(guān)函數(shù),所以要編寫(xiě)串口的初始化、輸入、輸出函數(shù)。由于代碼較長(zhǎng),具體代碼參見(jiàn)教材或查看工程文件,操作步驟如下:1、修改hal_uart.h文件,聲明初始化、輸入、輸出等函數(shù)。2、新建hal_uart.c文件,實(shí)現(xiàn)初始化、輸入、輸出等函數(shù)。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用自定義傳輸協(xié)議:由于需要控制Green、Red、Yellow、Orange(參看hal_board.h文件)四個(gè)燈,所以要自定義簡(jiǎn)單的控制協(xié)議,本控制協(xié)議制定見(jiàn)下表:通過(guò)串口發(fā)送具體指令如下(HEX發(fā)送):控制Green燈關(guān):FF
00
00控制Red燈關(guān):
FF
01
00控制Yellow燈關(guān):FF
02
00控制Orange燈關(guān):FF
03
00控制Green燈開(kāi):FF
00
01控制Red燈開(kāi):
FF
01
01控制Yellow燈開(kāi):FF
02
01控制Orange燈開(kāi):FF
03
011字節(jié)1字節(jié)1字節(jié)0XFF0X00—0X030X00/0X01指令開(kāi)始字節(jié)燈序列號(hào)依次為:Green、Red、Yellow、Orange關(guān)/開(kāi)三、任務(wù)實(shí)施Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用工程創(chuàng)建:1.復(fù)制庫(kù)文件。將第三章中CC2530BasicRF文件夾下的source文件夾復(fù)制到該任務(wù)的工程文件夾內(nèi),即“資源\PART4\基于BasicRF的點(diǎn)對(duì)點(diǎn)串口點(diǎn)燈”內(nèi)。并在該工程文件夾內(nèi)新建一個(gè)Project文件夾,用于存放工程文件。三、任務(wù)實(shí)施工程創(chuàng)建:2.新建工程。工程名字命名為:uartRF,具體方法參見(jiàn)第二章新建工程。在工程中新建App、basicrf、hal、utils等4個(gè)組,在hal組下新建common、interface、rf、srf05_soc組,在rf組下新建cc2530組,如圖所示。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、任務(wù)實(shí)施工程創(chuàng)建:2.新建工程。把source文件夾下components下各文件夾中的“xx.c”文件添加到對(duì)應(yīng)的文件夾中對(duì)應(yīng)關(guān)系如下所示:工程分組components下文件夾basicrfbasicrfhal\commoncommonhal\commontargets\commonhal\rf\cc2530radios\cc2530hal\
interfacetargets\interfacehal\srf05_soctargets\srf05_socutils
Zigbee技術(shù)無(wú)線傳感ut網(wǎng)il應(yīng)s用三、任務(wù)實(shí)施工程創(chuàng)建:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用3.新建程序文件。新建源程序文件,將其命名為uartRF.c,保存在資源\PART4\基于BasicRF的點(diǎn)對(duì)點(diǎn)串口點(diǎn)燈\Project文件夾中。并將該文件添加到工程中的App文件夾中。三、任務(wù)實(shí)施工程創(chuàng)建:4.為工程添加文件路徑。點(diǎn)擊IAR菜單中的【Project】->【Options…】,在彈出對(duì)話框中選擇“C/C++Compiler”,然后選擇“Preproce”選項(xiàng)卡,并在
“additional
include
directories:”中輸入頭文件的路徑,如圖所示。然后點(diǎn)擊【OK】。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、任務(wù)實(shí)施配置工程:點(diǎn)擊IAR菜單中的【Project】->【Options…】,分別對(duì)General
Options、Linker和Debugger三項(xiàng)進(jìn)行配置。1.
General
Options配置。選中
“Target”選項(xiàng)卡,在Device欄內(nèi)選擇
“CC2530F256.i51”(路徑:C:\…\8051\config\devices\TexasInstruments)。其它設(shè)置如圖所示。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、任務(wù)實(shí)施Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用配置工程:Linker配置。選中“Config”選項(xiàng)卡,勾選“Overide
default”,并在該欄內(nèi)選擇“l(fā)nk51ew_CC2530F256_banked.xcl”配置文件,其路徑:
C:\…\8051\config\devices\Texas
Instruments。Debugger配置。選中“Step”選項(xiàng)卡,在“Driver”欄內(nèi)選擇“TexasInstruments”;在“Device
Description
file”欄內(nèi),勾選“Overide
default”,并
在該欄內(nèi)選擇“io8051.ddf”配置文件,其路徑:C:\…\8051\config\devices\_generic。添加串口文件。將第二節(jié)編寫(xiě)的hal_uart.c文件保存到"PART4\基于BasicRF的點(diǎn)對(duì)點(diǎn)串口點(diǎn)燈\source\components\common"目錄下并添加到工程的common分組下。三、任務(wù)實(shí)施Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用編寫(xiě)程序。在uartRF.c文件編寫(xiě)代碼,由于程序文件較長(zhǎng),具體參見(jiàn)教材或工程文件。三、任務(wù)實(shí)施Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用下載與操作。1.給發(fā)射和接收模塊下載程序(1)在“uartRF.c”的主函數(shù)中找到“APP_MODES=NONE;”代碼,并把它注釋掉,在其下一行添加“APP_MODES=RFsend;”代碼。編譯程序,無(wú)誤后下載到發(fā)射模塊中。(2)在“uartRF.c”的主函數(shù)中找到“APP_MODES=NONE;”代碼,將其修改為:
“APP_MODES=RFreceive;”。編譯程序,無(wú)誤后下載到接收模塊中。2.操作將發(fā)送模塊A通過(guò)串口與PC機(jī)連接,打開(kāi)串口助手軟件,設(shè)置串口號(hào)及波特率等參數(shù),打開(kāi)串口,按照指令格式進(jìn)行HEX發(fā)送,觀察模塊B上LED燈的變化。四、課程思政Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用思政元素:我國(guó)5G技術(shù)的發(fā)展。思政元素強(qiáng)化愛(ài)國(guó)主義教育。中國(guó)在5G方面的三大優(yōu)勢(shì):市場(chǎng)優(yōu)勢(shì):未來(lái)5G消費(fèi)互聯(lián)網(wǎng)向產(chǎn)業(yè)互聯(lián)網(wǎng)發(fā)展是大勢(shì)所趨。而我國(guó)在移動(dòng)支付、電子商務(wù)方面,在全球處于領(lǐng)先地位。消費(fèi)互聯(lián)網(wǎng)領(lǐng)域形成的很多商業(yè)模式創(chuàng)新可以借鑒到產(chǎn)業(yè)互聯(lián)網(wǎng)里面。政策和體制機(jī)制優(yōu)勢(shì):5G網(wǎng)絡(luò)屬于基礎(chǔ)設(shè)施,初期投入很大,只靠運(yùn)營(yíng)商的投入,可能在短期內(nèi)很難形成有效的商業(yè)循環(huán)。我們從中央層面到地方層面,都高度關(guān)注并支持5G發(fā)展。技術(shù)優(yōu)勢(shì):從我國(guó)在5G整機(jī)制造和5G應(yīng)用的相關(guān)領(lǐng)域,都有一定的技術(shù)優(yōu)勢(shì)。五、小結(jié)Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用本部分主要實(shí)現(xiàn)了以BasicRF無(wú)線點(diǎn)對(duì)點(diǎn)傳輸協(xié)議為基礎(chǔ),實(shí)現(xiàn)通過(guò)串口發(fā)送指令給無(wú)線發(fā)送端點(diǎn),無(wú)線發(fā)送端點(diǎn)將數(shù)據(jù)發(fā)送給接收端點(diǎn),接收端點(diǎn)根據(jù)接收到的指令控制模塊上的LED燈。通過(guò)本章講解使學(xué)生進(jìn)一步了解BasicRFLayer工作機(jī)制;掌握利用模板創(chuàng)建工程以及在點(diǎn)對(duì)點(diǎn)中串口的使用。謝謝!Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用第五章基于BasicRF的點(diǎn)對(duì)點(diǎn)串口聊天Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用目
錄一、任務(wù)描述二、知識(shí)講解三、任務(wù)實(shí)施四、課程思政五、小結(jié)Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用一、任務(wù)描述Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用以BasicRF無(wú)線點(diǎn)對(duì)點(diǎn)傳輸協(xié)議為基礎(chǔ),采用2個(gè)ZigBee模塊(節(jié)點(diǎn)A和節(jié)點(diǎn)B),用一根串口線把節(jié)點(diǎn)A與PC機(jī)連接起來(lái)。再用一根串口線把節(jié)點(diǎn)B與PC機(jī)相連。打開(kāi)節(jié)點(diǎn)A和節(jié)點(diǎn)B對(duì)應(yīng)電腦上的的串口調(diào)試軟件。通過(guò)串口助手可實(shí)現(xiàn)信息的傳輸,像聊天軟件一樣進(jìn)行信息的收和發(fā),實(shí)現(xiàn)無(wú)線串口通信。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用基本設(shè)置:本例涉及到串口數(shù)據(jù)的發(fā)送以及無(wú)線數(shù)據(jù)的收發(fā),考慮到程序后續(xù)的拓展,在此定義四個(gè)數(shù)組,分別為串口發(fā)送數(shù)據(jù)、串口接收數(shù)組、無(wú)線發(fā)送數(shù)組、無(wú)線接收數(shù)組。#define
MAX_SEND_BUF_LEN
128#define
MAX_RECV_BUF_LEN
128static
uint8
pTxData[MAX_SEND_BUF_LEN];//無(wú)線發(fā)送緩沖區(qū)的大小
static
uint8
pRxData[MAX_RECV_BUF_LEN];//無(wú)線接收緩沖區(qū)的大小#define
MAX_UART_SEND_BUF_LEN
128#define
MAX_UART_RECV_BUF_LEN
128uint8
uTxData[MAX_UART_SEND_BUF_LEN];//串口發(fā)送緩沖區(qū)的大小
uint8
uRxData[MAX_UART_RECV_BUF_LEN];//串口接收緩沖區(qū)的大小二、知識(shí)講解通訊節(jié)點(diǎn)配置:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用/*****點(diǎn)對(duì)點(diǎn)通訊地址設(shè)置******/#define
RF_CHANNEL#define
PAN_ID
#define
RFsend_ADDR#define
RFreceive_ADDR200x20070x12340x5678//頻道11~26//網(wǎng)絡(luò)id//發(fā)送無(wú)線數(shù)據(jù)模塊地址//接收無(wú)線數(shù)據(jù)模塊地址二、知識(shí)講解相關(guān)函數(shù):Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用函數(shù)功能函數(shù)原型參數(shù)說(shuō)明串口初始化void
halUartInit(uint32
baud);波特率設(shè)置串口接收uint16
halUartRead(uint8
*pBuffer,uint16
length);參數(shù)1:接收數(shù)組參數(shù)2:接收長(zhǎng)度串口發(fā)送uint16
halUartWrite(uint8
*pBuffer,uint16
length);參數(shù)1:發(fā)送數(shù)組參數(shù)2:發(fā)送長(zhǎng)度二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用串口接收轉(zhuǎn)無(wú)線發(fā)送:通過(guò)調(diào)用RecvUartDate()函數(shù)來(lái)接收串口數(shù)據(jù),并以數(shù)據(jù)長(zhǎng)度來(lái)判斷是否有收到數(shù)據(jù)。如果有數(shù)據(jù),調(diào)用basicRfSendPacket()函數(shù),將數(shù)據(jù)發(fā)送出去,發(fā)送地址為接收端地址。len
=
RecvUartData();if(len
>
0){//接收串口數(shù)據(jù)//把串口數(shù)據(jù)通過(guò)zigbee發(fā)送出去
basicRfSendPacket(SEND_ADDR,uRxData,len);}二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用無(wú)線接收轉(zhuǎn)串口發(fā)送:通過(guò)調(diào)用basicRfPacketIsReady()函數(shù),查詢是否有新的無(wú)線數(shù)據(jù),如果有新的無(wú)線數(shù)據(jù),則調(diào)用basicRfReceive()函數(shù)接收無(wú)線數(shù)據(jù),然后調(diào)用halUartWrite()函數(shù),將數(shù)據(jù)通過(guò)串口發(fā)送給PC機(jī)。if(basicRfPacketIsReady())//查詢有沒(méi)收到無(wú)線信號(hào){//接收無(wú)線數(shù)據(jù)len
=
basicRfReceive(pRxData,
MAX_RECV_BUF_LEN,
NULL);//接收到的無(wú)線發(fā)送到串口數(shù)
halUartWrite(pRxData,len);}三、任務(wù)實(shí)施Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用工程創(chuàng)建:由于本章所完成的任務(wù)所用工程與第四章一致,只有應(yīng)用層文件代碼需要編寫(xiě),所以本章直接復(fù)制第四章工程,在該工程基礎(chǔ)上進(jìn)行代碼編寫(xiě)。三、任務(wù)實(shí)施Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用編寫(xiě)程序:由于代碼較長(zhǎng),且重點(diǎn)代碼上文已講解,具體代碼流程可參見(jiàn)教材或提供的工程文件中的uartRF.c文件。三、任務(wù)實(shí)施Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用下載與操作:1.給發(fā)射和接收模塊下載程序。(1)在“uartRF.c”的主函數(shù)中找到“APP_MODES=NONE;”代碼,并把它注釋掉,在其下一行添加“APP_MODES=A_POINT;”代碼,將basicRfSendPacket()發(fā)送函數(shù)的地
址參數(shù)設(shè)置為RFreceive_ADDR。編譯程序,無(wú)誤后下載到A模塊中。(2)在“uartRF.c”的主函數(shù)中找到“APP_MODES=NONE;”代碼,將其修改為:
“APP_MODES=B_POINT;”代碼,將basicRfSendPacket()發(fā)送函數(shù)的地址參數(shù)設(shè)置為
RFsend_ADDR。編譯程序,無(wú)誤后下載到B模塊中。三、任務(wù)實(shí)施下載與操作:2.操作將模塊A通過(guò)串口與PC機(jī)A連接,在PC機(jī)A上打開(kāi)串口助手軟件;將模塊B通過(guò)串口與PC機(jī)B連接,在PC機(jī)B上打開(kāi)串口助手軟件。設(shè)置兩臺(tái)PC機(jī)上串口助手的串口號(hào)及波特率等參數(shù)(與A、B模塊程序設(shè)置一致),打開(kāi)串口,如圖5-1所示。在兩臺(tái)PC機(jī)的串口助手發(fā)送框中輸入文字,點(diǎn)擊發(fā)送,觀察接收窗口。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用四、課程思政Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用思政元素:如何防范電信詐騙。思政元素強(qiáng)化學(xué)生安全教育。詐騙目的:作為學(xué)生遇到的詐騙,都是以騙取錢(qián)財(cái)為目的。詐騙手段:要么是以高額收益為誘餌;要么是以家人受到傷害急需救治為手段;要么以保護(hù)個(gè)人隱私為借口。處理辦法:我們都要看好自己的錢(qián)袋子,要相信老師、相信警察、相信政府。只要是涉及到金錢(qián)的,我們要向父母告知實(shí)情,向老師征求意見(jiàn),必要時(shí)主動(dòng)向警察求助。五、小結(jié)本部分主要實(shí)現(xiàn)了以Basic
RF無(wú)線點(diǎn)對(duì)點(diǎn)傳輸協(xié)議為基礎(chǔ),實(shí)現(xiàn)通過(guò)串口收發(fā)數(shù)據(jù)以及無(wú)線收發(fā)數(shù)據(jù)。通過(guò)本章講解使學(xué)生進(jìn)一步了解BasicRF
Layer工作機(jī)制;掌握串口的使用。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用謝謝!Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用第六章基于BasicRF的無(wú)線傳感網(wǎng)絡(luò)構(gòu)建Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用目
錄一、任務(wù)描述二、知識(shí)講解三、任務(wù)實(shí)施四、課程思政五、小結(jié)Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用一、任務(wù)描述Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用以BasicRF無(wú)線點(diǎn)對(duì)點(diǎn)傳輸協(xié)議為基礎(chǔ),進(jìn)行傳感器數(shù)據(jù)的采集,分別采集開(kāi)關(guān)量數(shù)據(jù)和模擬量數(shù)據(jù)。采用3個(gè)ZigBee模塊,節(jié)點(diǎn)A作為協(xié)調(diào)器使用,負(fù)責(zé)數(shù)據(jù)收集節(jié)點(diǎn)B和節(jié)點(diǎn)C的數(shù)據(jù),同時(shí)將收集的數(shù)據(jù)串口發(fā)送給PC機(jī),PC機(jī)可通過(guò)串口助手軟件查看接收到的傳感器數(shù)據(jù);節(jié)點(diǎn)B收集開(kāi)關(guān)量傳感器數(shù)據(jù)并無(wú)線發(fā)送給A節(jié)點(diǎn);節(jié)點(diǎn)C收集模擬量傳感器數(shù)據(jù)并無(wú)線發(fā)送給A節(jié)點(diǎn)。本應(yīng)用可拓展為N個(gè)節(jié)點(diǎn)。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用開(kāi)關(guān)量傳感器:開(kāi)關(guān)量傳感器:即傳感器發(fā)出的信號(hào)是斷點(diǎn)信號(hào),該物理量只有兩種狀態(tài),比如液位開(kāi)關(guān)就是一種常見(jiàn)的開(kāi)關(guān)量傳感器。當(dāng)液位低于設(shè)定值時(shí),液位開(kāi)關(guān)斷開(kāi)(或閉合);當(dāng)液位高于設(shè)定值時(shí),液位開(kāi)關(guān)閉合(或斷開(kāi))。常見(jiàn)的開(kāi)關(guān)量傳感器有:觸點(diǎn)開(kāi)關(guān)、接近傳感器、人體紅外傳感器、紅外對(duì)射傳感器、火焰?zhèn)鞲衅鳌⒙曇魝鞲衅鞯?。?duì)控制系統(tǒng)來(lái)說(shuō),由于CPU是二進(jìn)制的,數(shù)據(jù)的每位有“0”和“1”兩種狀態(tài),因此,開(kāi)關(guān)量只要用CPU內(nèi)部的一位即可表示,比如,用“0”表示開(kāi),用“1”表示關(guān)。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用開(kāi)關(guān)量傳感器:在單片機(jī)CC2530開(kāi)發(fā)中,通過(guò)I/O口采集傳感器的數(shù)據(jù),如傳感器沒(méi)有采集到數(shù)據(jù)時(shí),引腳狀態(tài)為高電平,傳感器有采集到數(shù)據(jù)時(shí),引腳為低電平。根據(jù)此原理,我們?cè)诒救蝿?wù)中通過(guò)按鍵模擬開(kāi)關(guān)量傳感器的數(shù)據(jù)采集,只不過(guò)傳感器是自動(dòng)采集數(shù)據(jù),此任務(wù)是手動(dòng)模擬,原理是一致的。在TI提供的點(diǎn)對(duì)點(diǎn)通訊工程模板中,按鍵引腳設(shè)置在hal_board.h文件中,如下所示://
Buttons#define
HAL_BOARD_IO_BTN_1_PORT0//
Button
S1#define
HAL_BOARD_IO_BTN_1_PIN1二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用開(kāi)關(guān)量傳感器:按鍵引腳初始化:1、按鍵引腳初始化可在hal_board..c文件的halBoardInit(void)函數(shù)中完成,代碼如下://
ButtonsMCU_IO_INPUT(HAL_BOARD_IO_BTN_1_PORT,
HAL_BOARD_IO_BTN_1_PIN,
MCU_IO_TRISTATE);2、按鍵引腳初始化也可通過(guò)hal_button.c文件中的halButtonInit(void)函數(shù)完成,兩種代碼一致,如下:void
halButtonInit(void){//
Button
push
inputMCU_IO_INPUT(HAL_BOARD_IO_BTN_1_PORT,
HAL_BOARD_IO_BTN_1_PIN,
MCU_IO_TRISTATE);}二、知識(shí)講解開(kāi)關(guān)量傳感器:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用引腳狀態(tài)查詢:通過(guò)hal_button.c文件中的halButtonPushed(void)函數(shù)來(lái)查看按鍵是否按下。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用P0DIR
&=
~(
1
<<1);return
P0_1;//設(shè)置P0.1為輸入方向//返回P0.1電平開(kāi)關(guān)量傳感器:自定義初始化函數(shù):在具體的工作中需要根據(jù)自己使用設(shè)備進(jìn)行相應(yīng)配置,可自行編寫(xiě)初始化函數(shù),根據(jù)掌握的CC2530單片機(jī)知識(shí)可直接配置寄存器,完成按鍵引腳初始化,以及通過(guò)掃描引腳或通過(guò)外部中斷方式查看引腳輸入狀態(tài)。例如我們可編寫(xiě)如下函數(shù):uint8
get_swsensor(void){P0SEL
&=~(1
<<1);
//設(shè)置P0.1為普通I/O口}二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用模擬量傳感器:模擬量傳感器:即傳感器發(fā)出的是連續(xù)信號(hào),用電壓、電流、電阻等表示被測(cè)參數(shù)的大小。常見(jiàn)的模擬量傳感器:光照傳感器、氣體濃度傳感器、溫度傳感器、壓力傳感器等。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用模擬量傳感器:在本任務(wù)中,我們通過(guò)CC2530芯片的ADC模塊獲取片內(nèi)溫度,將節(jié)點(diǎn)的片內(nèi)溫度傳輸給協(xié)調(diào)器。在實(shí)際的工作中可根據(jù)具體電路配置ADC的相關(guān)寄存器。由于ADC轉(zhuǎn)換的寄存器配置屬于單片機(jī)部分知識(shí),在此不做重點(diǎn)講解。本例獲取片內(nèi)溫度代碼如下:1、創(chuàng)建get_adc.h文件,保存到source\components\targets\interface文件加下,并添加到工程的hal\interface分組下,文件代碼如下:#ifndefSIMPLE_adc_H#defineSIMPLE_adc_Hextern
uint16
get_adc(void);#endif二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用模擬量傳感器:2、創(chuàng)建get_adc.c文件,保存到source\components\common文件加下,并添加到工程的hal\common分組下,文件代碼如下:#include
"ioCC2530.h"#include
"hal_defs.h"#include
"hal_types.h"#include
"get_adc.h”uint16
get_adc(void){
uint32
value;ADCIF=0;
//清ADC中斷標(biāo)志//采用內(nèi)部參考電壓,128抽取率,獲取片內(nèi)溫度,啟動(dòng)AD轉(zhuǎn)化ADCCON3
=
(0x00
|
0x10
|
0x0E);while
(
!ADCIF
){
;
//等待AD轉(zhuǎn)化結(jié)束
}value
=ADCL;value
|=
(((uint16)ADCH)<<
8);終轉(zhuǎn)換結(jié)果存入value中value=value
*
330;value=value>>15;算公式算出結(jié)果值return
(uint16)value;}//ADC轉(zhuǎn)換結(jié)//取得最//根據(jù)計(jì)二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用自定義傳感器上傳數(shù)據(jù)格式:在無(wú)線傳感器網(wǎng)中,節(jié)點(diǎn)上傳數(shù)據(jù)通常按照某種規(guī)定的數(shù)據(jù)格式傳輸,既可以傳輸大量信息,也方便在應(yīng)用層解析數(shù)據(jù)。在本例中為了讓學(xué)習(xí)者初步掌握數(shù)據(jù)傳輸格式,自定了簡(jiǎn)單的傳感器上傳數(shù)據(jù)格式,由于本案例未涉及上位機(jī)開(kāi)發(fā),所以在協(xié)調(diào)器解析數(shù)據(jù),通過(guò)串口顯示相關(guān)信息。HEADLENADRLADRHSTYPESDATA1字節(jié)1字節(jié)1字節(jié)1字節(jié)1字節(jié)1字節(jié)1字節(jié)數(shù)據(jù)頭,固定為0xFE數(shù)據(jù)包長(zhǎng)度:從HEAD到SDATA傳輸信息源節(jié)點(diǎn)的短地址低8位傳輸信息源節(jié)點(diǎn)的短地址高8位傳感器類型:01代表開(kāi)關(guān)量;02代表
模擬量傳感器數(shù)據(jù)低8位傳感器數(shù)據(jù)高8位三、任務(wù)實(shí)施工程創(chuàng)建:由于本章所完成的任務(wù)所用工程與第四章一致,只有應(yīng)用層文件代碼需要編寫(xiě),所以可參見(jiàn)第四章創(chuàng)建工程。也可以復(fù)制第四章工程,然后修改工作空間和工程名字。修改工作空間和工程名字步驟:第一步:修改工程名稱將工程文件夾下后綴為“dep、ewd、ewp、eww”的四個(gè)文件重命名為目標(biāo)名稱。本例修改為RFsystem,如圖:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、任務(wù)實(shí)施工程創(chuàng)建:第二步:修改工程內(nèi)容用編輯器(記事本或者UE)打開(kāi)“eww”后綴的文件,修改目的路徑的“RFsystem.ewp”為目標(biāo)名稱,見(jiàn)圖所示。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、任務(wù)實(shí)施添加文件:1、添加文件:按照本章第二節(jié)模擬量傳感器部分所講解,將get_adc.h和get_adc.c兩個(gè)文件添加到工程中。2、創(chuàng)建文件:在基于BasicRF的無(wú)線傳感網(wǎng)絡(luò)構(gòu)建\Project文件加下創(chuàng)建三個(gè)文件,分別是Collect.c,Switch_sensor.c,Analog_sensor.c。添加到工程的App組下,見(jiàn)圖所示。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、任務(wù)實(shí)施編寫(xiě)程序:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用1、協(xié)調(diào)器模塊Collect.c文件代碼;2、開(kāi)關(guān)量模塊Switch_sensor.c文件代碼;3、模擬量模塊Analog_sensor.c文件代碼。三個(gè)文件的代碼都較長(zhǎng),具體參見(jiàn)教材或工程文件。三、任務(wù)實(shí)施建立模塊設(shè)備:1、建立協(xié)調(diào)器模塊設(shè)備(1)建立模塊設(shè)備選擇菜單“Project
Edit
Configurations”,彈出項(xiàng)目的配置對(duì)話框,如圖所示,系統(tǒng)會(huì)檢測(cè)出項(xiàng)目中存在的模塊設(shè)備。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、任務(wù)實(shí)施建立模塊設(shè)備:1、建立協(xié)調(diào)器模塊設(shè)備單擊“New...”按鈕,在彈出的對(duì)話框中輸入模塊名稱為:“Collect”,基于Deubg模塊進(jìn)行配
置,然后單擊“OK”按鈕就完成了模塊設(shè)備的建立,對(duì)話框如圖所示。然后在項(xiàng)目配置對(duì)話框中就可以自動(dòng)檢測(cè)出剛才建立的模塊設(shè)備“Collect”。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、任務(wù)實(shí)施建立模塊設(shè)備:(2)文件編譯設(shè)置選擇“Collect”模塊,選擇Switch_sensor.c文件,單擊右鍵,選擇“Options”,在彈出的對(duì)話框中將“Exclude
from
build”復(fù)選框中打“
”,然后單擊“OK”。如圖所示。Analog_sensor.c文件操作方式相同。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、任務(wù)實(shí)施建立模塊設(shè)備:2、建立傳感器模塊設(shè)備開(kāi)關(guān)量和模擬量傳感器模塊設(shè)備操作步驟與建立協(xié)調(diào)器模塊設(shè)備一樣,模塊名稱分別為:“Switch_sensor和Analog_sensor”具體設(shè)置如圖所示。文件編譯設(shè)置參照協(xié)調(diào)器模塊設(shè)置。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用三、任務(wù)實(shí)施Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用下載與操作:1.給三個(gè)模塊下載程序。選擇“Collect”模塊,編譯程序無(wú)誤后,模塊上電,下載程序到協(xié)調(diào)器模塊中。選擇“Switch_sensor”模塊,編譯程序無(wú)誤后,模塊上電,下載程序到開(kāi)關(guān)量模塊中。選擇“Analog_sensor”模塊,編譯程序無(wú)誤后,模塊上電,下載程序到模擬量模塊中。三、任務(wù)實(shí)施下載與操作:2.操作將開(kāi)關(guān)量模塊和模擬量模塊上電運(yùn)行。將協(xié)調(diào)模塊上電并通過(guò)串口與PC機(jī)連接,在
PC機(jī)上打開(kāi)串口助手軟件,設(shè)置臺(tái)PC機(jī)上串
口助手的串口號(hào)及波特率等參數(shù),打開(kāi)串口,觀察接收數(shù)據(jù)窗口,我們可以按下開(kāi)關(guān)量模
塊上的按鍵,如圖所示。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用四、課程思政Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用思政元素:我國(guó)傳感器行業(yè)發(fā)展現(xiàn)狀。思政元素強(qiáng)化學(xué)生愛(ài)國(guó)主義教育。我國(guó)傳感器行業(yè)發(fā)展現(xiàn)狀。關(guān)鍵技術(shù)有待突破;企業(yè)競(jìng)爭(zhēng)實(shí)力不足;市場(chǎng)占有份額低。我國(guó)的傳感器產(chǎn)業(yè)如何突破發(fā)展瓶頸?利好政策推動(dòng)行業(yè)快速發(fā)展;下游應(yīng)用發(fā)展迅速,帶動(dòng)傳感器需求;我國(guó)傳感器朝著“四化”方向發(fā)展,有望實(shí)現(xiàn)彎道超車(chē);產(chǎn)業(yè)集群化發(fā)展:我國(guó)傳感器企業(yè)出現(xiàn)了區(qū)域性的傳感器企業(yè)集群。五、小結(jié)本部分主要實(shí)現(xiàn)了以Basic
RF無(wú)線點(diǎn)對(duì)點(diǎn)傳輸協(xié)議為基礎(chǔ),實(shí)現(xiàn)通過(guò)串口收發(fā)數(shù)據(jù)以及無(wú)線收發(fā)數(shù)據(jù)。通過(guò)本章講解使學(xué)生進(jìn)一步了解BasicRF
Layer工作機(jī)制;掌握串口的使用。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用謝謝!Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用第七章認(rèn)知Z-Stack協(xié)議棧Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用目
錄一、任務(wù)描述二、知識(shí)講解三、任務(wù)實(shí)施四、課程思政五、小結(jié)Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用一、任務(wù)描述Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用安裝Z-Stack協(xié)議棧,掌握協(xié)議棧體系分層架構(gòu)、協(xié)議棧源碼庫(kù)結(jié)構(gòu),以及PANID和網(wǎng)絡(luò)信道的修改。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用Z-Stack協(xié)議棧簡(jiǎn)介:Z-Stack協(xié)議棧是TI開(kāi)發(fā)的符合ZigBee規(guī)范的商用協(xié)議,目前這協(xié)議棧已經(jīng)成為這聯(lián)盟認(rèn)可并推廣的指定軟件協(xié)議棧。ZigBee網(wǎng)絡(luò)架構(gòu)由物理層(PHY)、MAC層、網(wǎng)絡(luò)層(NWK)、應(yīng)用程序支持子層(APS)、應(yīng)用層(APL)組成。IEEE
802.15.4定義了PHY(物理層)和MAC(介質(zhì)訪問(wèn)層)技術(shù)規(guī)范;ZigBee聯(lián)盟定義了NWK(網(wǎng)絡(luò)層)、APS(應(yīng)用程序支持子層)、APL(應(yīng)用層)技術(shù)規(guī)范。Z-Stack協(xié)議棧由TI公司開(kāi)發(fā),具體實(shí)現(xiàn)了這5個(gè)層次。ZigBee協(xié)議棧就是將各個(gè)層定義的協(xié)議都集合在一起,以函數(shù)的形式實(shí)現(xiàn),并供給用戶提供API(應(yīng)用層),用戶可以直接調(diào)用。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用Z-Stack協(xié)議棧簡(jiǎn)介:在開(kāi)發(fā)一個(gè)應(yīng)用時(shí),協(xié)議較底下的層與應(yīng)用是相互獨(dú)立的,它們可以從第三方來(lái)獲得,因此我們需要做的就只是在應(yīng)用層進(jìn)行相應(yīng)的改動(dòng)。Z-Stack協(xié)議棧由物理層(PHY)、介質(zhì)訪問(wèn)控制層(MAC)、網(wǎng)絡(luò)層(NWK)和應(yīng)用層(APS)組成,如Z-Stack協(xié)議棧的結(jié)構(gòu)圖所示。其中應(yīng)用層包括應(yīng)用程序支持子層、應(yīng)用程序框架層和ZDO設(shè)備對(duì)象。在協(xié)議棧中,上層實(shí)現(xiàn)的功能對(duì)下層來(lái)說(shuō)是不知道的,上層可以調(diào)用下層提供的函數(shù)來(lái)實(shí)現(xiàn)某些功能。二、知識(shí)講解Z-Stack協(xié)議棧簡(jiǎn)介:Z-Stack協(xié)議棧的結(jié)構(gòu)圖:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用Z-Stack協(xié)議棧簡(jiǎn)介:Z-Stack協(xié)議棧各層簡(jiǎn)介:物理層(PHY)物理層負(fù)責(zé)將數(shù)據(jù)通過(guò)發(fā)射天線發(fā)送出去,以及從天線上接收數(shù)據(jù)。介質(zhì)訪問(wèn)控制層(MAC)介質(zhì)訪問(wèn)控制層提供點(diǎn)對(duì)點(diǎn)通信的數(shù)據(jù)確認(rèn),以及一些用于網(wǎng)絡(luò)發(fā)現(xiàn)和網(wǎng)絡(luò)形成的命令,但是介質(zhì)訪問(wèn)控制層不支持多跳、網(wǎng)型網(wǎng)絡(luò)等拓?fù)浣Y(jié)構(gòu)。網(wǎng)絡(luò)層(NWK)網(wǎng)絡(luò)層主要是對(duì)網(wǎng)型網(wǎng)絡(luò)提供支持,如在全網(wǎng)范圍內(nèi)發(fā)送廣播包,為單播數(shù)據(jù)包選擇路由,確保數(shù)據(jù)包能夠可靠地從一個(gè)節(jié)點(diǎn)發(fā)送到另一個(gè)節(jié)點(diǎn)。此外,網(wǎng)絡(luò)層還具有安全特性,用戶可以自行選擇所需要的安全策略。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用Z-Stack協(xié)議棧簡(jiǎn)介:Z-Stack協(xié)議棧各層簡(jiǎn)介:4.應(yīng)用層(APS)應(yīng)用程序支持子層主要提供一些API函數(shù)供用戶調(diào)用,此外,綁定表也是存儲(chǔ)在應(yīng)用程序支持子層。應(yīng)用程序框架中包括了最多240個(gè)應(yīng)用程序?qū)ο螅總€(gè)應(yīng)用程序?qū)ο筮\(yùn)行在不同的端口上。因此,端口的作用是區(qū)分不同的應(yīng)用程序?qū)ο?。ZDO設(shè)備對(duì)象是運(yùn)行在端口0的應(yīng)用程序,對(duì)整個(gè)ZigBee設(shè)備的配置和管理,用戶應(yīng)用程序可以通過(guò)端口0與ZigBee協(xié)議棧的應(yīng)用程序支持子層、網(wǎng)絡(luò)層進(jìn)行通信,從而實(shí)現(xiàn)對(duì)這些層的初始化工作。二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用ZigBee網(wǎng)絡(luò)信道:IEEE
802.15.4/ZigBee工作在工業(yè)科學(xué)醫(yī)療(ISM)頻段,定義了兩個(gè)工作頻段,即2.4GHz頻段和868/915
MHz頻段。在IEEE
802.15.4中,總共分配了27個(gè)具有3種速率的信道:在2.4
GHz頻段有16個(gè)速率為250kb/s的信道,在915
MHz頻段有10個(gè)40
kb/s的信道,在868MHz頻段有1個(gè)20
kb/s的信道。具體信道分配如表所示。信道編號(hào)k為信道數(shù)中心頻率(MHz)信道間隔(MHz)頻率上限(MHz)頻率下限(MHz)k=0868.3868.6868.0k
=1,2,3……10906+2×(
k-1
)2928.0902.0k
=11,12,13……262401+5×(
k-11
)52483.52400.0二、知識(shí)講解Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用ZigBee網(wǎng)絡(luò)信道:一個(gè)IEEE802.15.4可以根據(jù)ISM頻段、可用性、擁擠狀況和數(shù)據(jù)速率在27個(gè)信道中選擇一個(gè)工作信道。從能量和成本效率來(lái)看,不同的數(shù)據(jù)速率能為不同的應(yīng)用提供較好的選擇。注意:ZigBee工作在2.4GHz頻段時(shí),與其他通信協(xié)議的信道有沖
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年?yáng)|方電氣集團(tuán)東方電機(jī)有限公司招聘?jìng)淇碱}庫(kù)附答案詳解
- 2026年徐州市泉山數(shù)據(jù)有限公司招聘?jìng)淇碱}庫(kù)及參考答案詳解
- 2026年山西豐樂(lè)鑫農(nóng)種業(yè)有限公司招聘?jìng)淇碱}庫(kù)及參考答案詳解
- 2025年佛山市順德區(qū)胡寶星職業(yè)技術(shù)學(xué)校面向社會(huì)公開(kāi)招聘語(yǔ)文音樂(lè)臨聘教師備考題庫(kù)及一套完整答案詳解
- 2026年南京大學(xué)化學(xué)學(xué)院技術(shù)管理招聘?jìng)淇碱}庫(kù)及完整答案詳解一套
- 學(xué)校收支管理內(nèi)控制度
- 金融營(yíng)銷內(nèi)控制度
- 恒大內(nèi)控制度
- 企業(yè)市場(chǎng)開(kāi)發(fā)內(nèi)控制度
- 財(cái)政局內(nèi)控制制度
- 除夕煙火秀活動(dòng)方案
- 地理中國(guó)的工業(yè)+課件-2025-2026學(xué)年初中地理湘教版八年級(jí)上冊(cè)
- 壓力管道安裝單位壓力管道質(zhì)量安全風(fēng)險(xiǎn)管控清單
- 2025年廣東省高中語(yǔ)文學(xué)業(yè)水平合格考試卷試題(含答案詳解)
- 停車(chē)場(chǎng)道閘施工方案范本
- 2025年廣東省春季高考語(yǔ)文試卷(解析卷)
- 2025年實(shí)驗(yàn)室安全事故案例
- 垃圾焚燒發(fā)電檢修培訓(xùn)
- 城市老舊建筑改造中的結(jié)構(gòu)加固與性能提升
- 全國(guó)計(jì)算機(jī)等級(jí)考試NCRE考務(wù)管理系統(tǒng)操作使用手冊(cè)
- 鐵路更換夾板課件
評(píng)論
0/150
提交評(píng)論