My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
PassingDataInKittyBee  
已預設的方法傳輸資料
Updated Jan 15, 2012 by LDSRC2...@gmail.com

Introduction

根據SetUpSimpleZigBeeNetwork我們已經建立起了基礎網路,接下來我們要說明資料傳輸的方法

Details

預設的資料傳輸

CatcanCMDfirmware裏面有提到我們預設的資料傳輸方法:

-End Device(或Router)會把UART上, RX所收到的資料傳回 Coordinator, 從Coordinator的TX原封不動傳出

-Coordinator會把RX所收到的任何資料, broadcast傳到網路裏的每一個device, 從該device的TX傳出

下面這三個視窗從上到下分別是Coordinator, Router, End device, ping node的command 最後一個byte可以看出device type.(00=Coor, 01=router, 02=End device)

這時我們從Router輸入80bytes的資料, 你可以看到, Coordinator就傳出了80bytes.

再從End device 輸入80bytes的資料, 資料也是從Coordinator傳出, 不論RF的路線是否經過Router, Router都不會有輸出

下圖中我們從Coordinator輸入80bytes的資料, 你可以看到, Router跟End device都輸出了相同的資料

以上這些是default的傳輸方法, 這樣的結構已經可以做一些簡單的ModBus protocol.

指定傳輸

Catcan ZigBee API裏有提到使用command set來傳遞資料給指定的device. 我們可以根據 device的 Short Address或是IEEE address 來針對特定device 傳輸

例如現在要從 short address= A0 11的device 對 short address=08 7B 的device傳遞 4個bytes的資料(00 11 22 33) 那應該是要這樣下:

FE 00 43 07 08 7B 04 00 11 22 33 33

FE 00 43 是command的header跟command本身

07 代表後面有7個bytes

08 7B 是收件的Short Address

04 則是代表 要傳送的資料有 4個bytes

00 11 22 33 是這4個bytes的內容

33 最後一個byte是 FCS,剛好是33

08 7B 這個device 會把收到的封包, 轉成從TX這樣輸出:

FE 10 43 08 A0 11 04 00 11 22 33 EE

FE 1043 表示是由 FE 00 43的command發出來的

08 代表後面有8個bytes.

A0 11 是發件者的short address

04 00 11 22 33 代表了資料長度跟資料內容

EE 是FCS

Note:

  1. default的傳輸比較簡單跟直接, 但是需要資料的來源地帶資料本身裏面
  2. 指定傳輸也可以做boradcast, 使用FE 00 42
  3. 指定傳輸本身有資料來源的資訊,也帶有資料的長度,但是需要管理 ZigBee 網路的Short Address, 功能較多, 但是使用上須要更多的技巧


Sign in to add a comment
Powered by Google Project Hosting