品质协会 发表于 2017-8-6 20:51:05

什么是IEEE address?16位Zigbee的短地址与IEEE地址有什么区别?

IEEE address(地址)是生产是写入设备的地址,IEEE地址是芯片的固定地址,就像电脑网卡的MAC地址一样,地址较长通讯使用效率低,Zigbee引入了短地址,16位短地址是协议栈来说的,协议里面规定在一个组网的网络中,每个都要有自己的短地址,这样是为了网络上节点的区分,由网络给设备分配唯一的端地址,通讯效率高一些。

如何确定ffd和rfd的网络地址?

网络地址是16bit的,除了Coordinator是0x0000外,其他节点的网络地址不是一个固定的值。

在设备加入ZigBee网络后,ZigBee网络将为所有加入网络的设备(无论是FFD还是RFD)分配一个网络地址。网络地址值根据特定算法实现,根据设置可以是Coordinator统一分配,也可以是由它所连接的Router来分配。

如果想得到这个网络地址值,有几种方法:

a.应该提供了专门的函数,这函数能查询自己的网络地址值;

b.一个节点要加入ZigBee网络,必然先向Coordinator发出连接请求。描述连接请求的变量是一个结构体;找到这个结构体变量,里面会有发送和接收地址项;你可以把这个地址值取出来,赋到你自己定义的变量中,或者打印出来,即可得到网络地址。

如何按照地址发送信号?

TI(Chipcon)应该提供了专门的数据包发送函数,并定义了一个结构体来描述数据包。这个结构体中会有1个变量表示数据包的目的地址,把目的地址值赋给这个变量,数据包就可以被发送到指定的地址。

叶平 发表于 2017-8-7 11:23:09

谢谢分享。。。

flyerchang 发表于 2019-12-12 15:14:55

谢谢分享
页: [1]
查看完整版本: 什么是IEEE address?16位Zigbee的短地址与IEEE地址有什么区别?