Zigbee學習之路3(單播實驗)

2021-07-29 03:54:49 字數 2209 閱讀 8753

嘿,又和大家見面了

言歸正傳,

在zigbee網路裡,模組之間要進行通訊,發射模組非常明確知道接收模組的網路位址,以這個位址傳送資料給接收模組,叫單播。

模組在入網的時候,

父節點隨機分配網路位址給子節點,但是協調器模組在網路裡的位址永遠是0x0000.

一、單個任務掛鉤乙個端點!!!!!!!!!!!!!

1、傳送資料的流程

char themessagedata ="hello lao da";//通過終端傳輸到協調器利用串列埠列印的字串

// take the first endpoint, can be changed to search through endpoints

(byte)osal_strlen( themessagedata ) + 1,//傳送字串的長度

(byte *)&themessagedata,//字串內容陣列的首位址

af_discv_route, af_default_radius )

p1sel &=0xfe;// 1111 1110  通過led閃爍判斷資料傳輸次數 接收資料出現延時問題 需要的資料位 傳輸資料為一幀一幀的傳輸

p1dir |=0x01;

p1_0 ^=1;

2、接收資料的流程(以函式講解)

//afincomingmsgpacket_t *pkt為無線資料報內容 

}資料傳輸原理:

端點 (endpoint)

1、他是乙個位元組編號的,資料收和傳送的基本單元,在模組通訊的時候,傳送模組必須指定收發雙方模組的網路位址和端點一致,這樣,才能掛載在一起。

2、端點要使用必須要和模組裡的某個任務掛鉤定義;

首先每乙個端點可以看成是乙個1個位元組數字編號的開有一扇門的房間,資料最終的目標是進入到無線資料報指定的目標端點房間,而取無線資料這個相關的**在任務事件處理函式裡,ti協議棧有那麼多的任務事件處理函式,所以必須要指定在哪個任務事件處理函式 來取這個無線資料報裡面的有用資料。

3、乙個端點只能掛鉤在乙個任務上,而乙個任務可以掛鉤多個端點,且端點對所有的任務是公用的,定義乙個少乙個。

乙個端點加入可以掛鉤在多個任務上,那麼接收模組接到無線資料時候,這個時候同乙個端點有多個任務事件處理函式去處理,不合理;乙個任務上掛多個端點(6 7 掛應用層任務),傳送給協調器模組的6 7端點的資料都會進入到應用層任務事件處理函式裡來,僅僅做個判斷到底是投遞到6房間還是7號房間就可以了。

結合**,定義端點和任務掛鉤在基礎實驗的**裡是那些** 

所以,基本實驗室0xa406 10 0x0000 10  無線資料報發出去以後,首先目標協調器模組的網路位址0x0000對上了,協調器可以拿到這個無線資料報在底層任務,判斷10號端點房間已經定義且和我們應用層任務掛鉤,那麼這個無線資料報傳送乙個訊息

到們應用層任務    

case af_incoming_msg_cmd:

break;

在訊息處理裡,把hello lao da 通過串列埠送出去

uart_send_string(pkt->cmd.data,pkt->cmd.datalength); 

鏃 clusterid

鏃就是相當於端點房間裡面的人,是接收最終的目標。這東西是2個位元組編號,

在射頻傳送的時候,必須要指定接收模組的鏃,傳送模組不需要指定。

二,多個任務掛鉤乙個端點執行!!!!!!!!!!!!!!!!

結合**傳送模組:

在傳送模組裡,我們用的資料傳送源端點,也是10,所以我們也定義這個10端點也掛鉤應用層任務,原則上,外部給我們終端模組10號端點來資料,也會進入終端應用層任務事件處理 函式裡。而我們這個端點僅僅這裡作為傳送模組,但是我們要實用10端點,必須要掛鉤定義。

if(0==p0_1)//按鈕3按下

//       if(0==p2_0)

//      

if(0==p2_0)//按鈕4按下 }

接收模組:

// register the endpoint description with the af

// register the endpoint description with the af

當然,在前面需要宣告:

if(7==pkt->endpoint)

}if(8==pkt->endpoint)

}最後,使用了olcd 實現了zigbee點播資料的通訊,也使用了串列埠顯示傳送的字串

分別使用了單個鏃掛載乙個端點的實驗,和多個鏃掛載乙個端點的實驗  

zigbee學習之路 一 zigbee介紹

一.前言 二.zigbee定義 三.zigbee特點 下面是zigbee特點的詳細介紹 1 低功耗 兩節五號電池支援長達6 個月到2 年左右的使用時間。2 低成本 由於簡化了協議棧,降低核心的效能要求,以cc2530 為例,核心就是乙個增強型的8051 核心,從而降低了晶元成本。每塊cc2530 大...

我的ZigBee學習之路

每個人總要有自己的一技之長,來體現自己的價值。每個都應該培養自己的以及之長,來實現自己的價值。這個世界是殘酷的,同時也是公平的,天道酬勤 相信付出總會有所回報。時間,是個神奇的東西,它帶走了一切,同時也帶來了一切。它是我們生命中唯一可以把握的事物。假如我們能夠活到90歲,每年365天,每天24小時,...

zigbee學習之路 六 Time3 查詢方式

一.前言 通過上次的學習,相信大家對cc2530微控制器的定時器的使用有了一定的了解,今天我們來介紹定時器3的使用,為什麼介紹定時器3呢,因為它和定時器4功能是差不多的,所以學會定時器3,就基本掌握了cc2530定時器的使用。二.原理分析 我們要使用定時器3,就要先配置控制它的暫存器t3ctl,下面...