ZigBee協(xie)議棧(zhan)的基礎(chu)實驗
時(shi)間(jian):2018-08-16 來源(yuan):未知
雖然對(dui)(dui)ZigBee 協議(yi)(yi)的(de)基本(ben)內容還不太了解(jie),甚至ZigBee 協議(yi)(yi)棧(zhan)是什么也不清楚。這(zhe)個沒關(guan)系我們可(ke)以(yi)通(tong)過相應的(de)實驗(yan)來(lai)逐步(bu)了解(jie)ZigBee。通(tong)過協議(yi)(yi)棧(zhan)的(de)基礎實驗(yan)來(lai)對(dui)(dui)ZigBee 協議(yi)(yi)以(yi)及ZigBee 協議(yi)(yi)梳建立一個形象、直觀的(de)認識(shi),這(zhe)將有助于對(dui)(dui)ZigBee 協議(yi)(yi)的(de)理解(jie)。
1.1ZIGBEE點燈實驗(yan)
數(shu)據(ju)傳輸實(shi)驗的(de)基本功能:兩個(ge)ZigBee節點(dian)進行點(dian)對點(dian)通(tong)信,ZigBee終端節點(dian)2發(fa)送"LED"三個(ge)字符,ZigBee協調(diao)節點(dian)收到(dao)數(shu)據(ju)后,對接(jie)收到(dao)的(de)數(shu)據(ju)進行判斷,如果收到(dao)的(de)數(shu)據(ju)是"LED",則使開(kai)發(fa)板上的(de)LED燈(deng)閃(shan)爍(1S閃(shan)爍一(yi)次)。數(shu)據(ju)傳輸實(shi)驗原(yuan)理圖如圖下所(suo)示。無線控制終端節點(dian)燈(deng),一(yi)秒鐘閃(shan)亮一(yi)次。

ZigBee無線傳感器(qi)網絡中(zhong)有(you)三種設備類型(xing):協(xie)調(diao)器(qi)(Coordinator)、路由器(qi)(Router)和終端(duan)節點(EndDevice),設備類型(xing)是由ZigBee 協(xie)議(yi)錢不同的編譯選項來選擇的。
協(xie)調器主(zhu)要(yao)負(fu)責(ze)網絡組建(jian)、維護、控制終端節(jie)點的(de)加(jia)入等(deng)。路由(you)器主(zhu)要(yao)負(fu)責(ze)數(shu)(shu)據(ju)包的(de)路由(you)選擇。終端節(jie)點負(fu)責(ze)數(shu)(shu)據(ju)的(de)采集,不具備路由(you)功能。
工(gong)程路(lu)徑:C:\Texas Instruments\ZStack-CC2530-2.3.0-1.4.0\Projects\zstack\Samples\GenericApp\CC2530DB
雙擊GenericApp工程名打開工程,

從新(xin)編譯工程,

刪(shan)除(chu)工(gong)程中(zhong)的(de)GenericApp.C 文件,刪(shan)除(chu)方(fang)法是:先選擇要刪(shan)除(chu)的(de)文件,右鍵在(zai)彈(dan)出的(de)下拉菜(cai)單中(zhong)選擇Remove 即可,如下

在工(gong)(gong)程工(gong)(gong)程中添(tian)加(jia)兩個(ge)文(wen)件(jian)Coordinator.c和EndDevice.c。添(tian)加(jia)如下:先在C:\Texas Instruments\ZStack-CC2530-2.3.0-1.4.0\Projects\zstack\Samples\GenericApp\Source文(wen)件(jian)夾中新建上面兩個(ge).c文(wen)件(jian)。然(ran)后添(tian)加(jia)你(ni)剛才新建的文(wen)件(jian)(EndDevice.c和Coordinator.c)。

添加完之后

接下(xia)來就可以在CoordinatorEB工程中的Coordinator.c中是實現協(xie)調功(gong)能和對數據處理(li)。
Coordinator.c中添加如下(xia):(略)
在(zai)EndDevice.c文件(jian)中添加:(略)
這里用到timer定時發送信息,需要定義一個時間標志LED_EVENT,需要在GenericApp.h中定義一下(xia):
#define LED_EVENT 0x0002
編譯工程CoordinatorED:

彈出對話框,選擇(ze)Exclude from build:

同理在EndDeviceED工(gong)程中,把Coordinator.c的文件禁止編(bian)譯,具體操(cao)作同上。
安裝好SmartRF04B驅動后,通過USB先連接仿真器(qi)和PC機。仿真器(qi)的十針插頭線與ZigBee設備的十針接口相連。下載編譯后的程序:


下(xia)載(zai)完之后(hou),從新(xin)上(shang)電等待連接。觀察實(shi)驗現象(xiang)(協調節點的(de)燈的(de)閃亮情況(kuang))。
打(da)開協調器電(dian)源開關,然后打(da)開終端節點(dian)電(dian)源開關,兒(er)秒(miao)鐘后,會(hui)發現協調器的(de)LED 燈已經閃爍起(qi)來了,這說明協調器已經收到了終端節點(dian)發送(song)的(de)數據。

