打印
[Zigbee]

Zigbee数据包结构

[复制链接]
1330|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jonas222|  楼主 | 2020-5-29 21:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



1.抓取数据包
要了解Zigbee数据协议,可从其通信数据包进行分析。在此,我们需要构建一个协议分析仪。对于TI产品可使用Texas Instruments Packet Sniffer软件,结合CC2530-EB开发板(任何一款基于Zigbee协议的开发板即可)、仿真下载器实现。
(1)选择IEEE 802.15.4/Zigbee
(2)打开协调器和终端,连接Debug调试器跟CC2530开发板,会在软件中检测到图中下方信息,此时点击上方开始按钮,便会在对话框中抓取到协调器跟终端通信的数据包。

2.数据包解读
首先可以看到数据包由很多分段组成,这与Zigbee协议是对应的。Zigbee协议采用分层设计方式,故图中图一样的网络层也使用了不同的颜色。
第1-6行是协调器建立Zigbee无线网络和终端节点加入网络的过程。
第1、3、5行是终端节点发送信标(Beacon)请求。
第2、4、6是协调器建立了Zigbee无线网络,并尝试与终端节点建立连接。在Zigbee网络中,协调器的网络地址必定是0x0000,数据包中“Source Address”就是协调器的网络地址。
第7行,终端节点发送加入网络请求(Association Request)
第8行,协调器对终端节点的加入网络请求做出应答,这个可以通过“Sequence Number”来判读。
第9行,终端节点收到协调器的应答后,发送数据请求(Data Request),请求协调器分配网络地址。从数据包可以看到,终端节点的IEEE地址是:0x00124B0008E8566F(64位地址)。
为什么使用的是64位的地址?
因为此时终端节点还没有加入网络,所以有效的网络地址还没有分配。从开始我们看到,终端节点网络默认地址是0xFFFF,为什么不能使用。默认地址是每个终端节点的地址,当网络中存在多个终端节点时,如果都使用默认地址就会产生冲突。
第10行,协调器对终端节点的数据请求做出应答。(序列号都是0x9A)
第11行,协调器分配的网络地址发送给终端节点,新分配的地址是:0xDC35
第12行,终端节点做应答。
第13-15行,终端节点使用短地址0xDC35与协调器进行通信。
第16行,可以看到“MAC payload”栏的最后三个数据是:4C 45 44,这就是终端节点发送的数据“LED”。数据发送是以ASCII码的格式发送的,L的ASCII码为0x4C,E的的ASCII码为0x45,D的ASCII码为0x44。
从数据包中可以看到,每层数据包中都有一个payload字段,payload字段可以理解为有效数据,称为净荷,及每层所包含的有效数据。
应用程序支持子层(APS)                  
网络层(NWK)                    
介质访问控制层(MAC)

从上可以看出,协议中下层中有效数据都包含了上一层中的有效数据。
2.1 APS

2.2 NWK
2.3 MAC
负责网络号、网络发现,提供点对点通信的数据确认及
2.4 PHY
负责将数据通过发射天线发送出去以及从天线接收数据。

(1)       同步头(SHR,Synchronization Header)
(2)       物理层头(PHR,PHY Header)
(3)       物理层净荷(PHY Payload)

使用特权

评论回复

相关帖子

沙发
labasi| | 2020-6-4 14:54 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
板凳
paotangsan| | 2020-6-4 14:54 | 只看该作者
怎么赶脚跟以太网差不多呢

使用特权

评论回复
地板
renzheshengui| | 2020-6-4 14:55 | 只看该作者
拆分的很详细

使用特权

评论回复
5
wakayi| | 2020-6-4 14:55 | 只看该作者
有木有神马抓包工具啊

使用特权

评论回复
6
wowu| | 2020-6-4 14:55 | 只看该作者
基本上都是这个结构吗

使用特权

评论回复
7
aspoke| | 2020-6-21 13:33 | 只看该作者
zigbee一次传输的数据包长度是多少

使用特权

评论回复
8
232321122| | 2020-6-21 13:33 | 只看该作者
zigbee用zcl库做开发,为什么抓不到数据包

使用特权

评论回复
9
ghuca| | 2020-6-21 13:33 | 只看该作者
zigbee怎么传输大量数据

使用特权

评论回复
10
soodesyt| | 2020-6-21 13:33 | 只看该作者
        

使用特权

评论回复
11
mnynt121| | 2020-6-21 13:34 | 只看该作者
zigbee在存放接收处理数据时的缓存是多大?

使用特权

评论回复
12
plsbackup| | 2020-6-21 13:34 | 只看该作者
你用的是 z-stack么?  

使用特权

评论回复
13
kmzuaz| | 2020-6-21 13:34 | 只看该作者
zigbee协议是怎么定义数据的

使用特权

评论回复
14
qiufengsd| | 2020-6-21 13:35 | 只看该作者
zigbee三种组网方式对应的数据传输模式是什么?

使用特权

评论回复
15
eefas| | 2020-6-21 13:35 | 只看该作者
怎么读取zigbee模块输出的数据

使用特权

评论回复
16
backlugin| | 2020-6-21 13:35 | 只看该作者
zigbee接收端如何识别地址

使用特权

评论回复
17
soodesyt| | 2020-6-21 13:35 | 只看该作者
谢谢楼主分享的资料了。  

使用特权

评论回复
18
mnynt121| | 2020-6-21 13:35 | 只看该作者
zigbee 用什么来查看丢包率

使用特权

评论回复
19
ghuca| | 2020-6-21 13:35 | 只看该作者
Zigbee传输怎么保证不丢数据?

使用特权

评论回复
20
plsbackup| | 2020-6-21 13:36 | 只看该作者
zigbee芯片 是不是用的 CC2X30系列的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

1330

帖子

0

粉丝