开发者学堂课程【嵌入式之RFID开发与应用2020版:zigbee中的地址概念】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/665/detail/11134
zigbee中的地址概念
内容介绍:
一、地址概念的基本介绍
二、地址概念的详细介绍
三、通信方式
四、通信设备
本节课通过一些实验观察整个zigbee通讯过程中用到了哪些接口以及在使用提供的协议接口之前需要了解的概念。
一、地址概念的基本介绍
1.channel,信道地址,对于2.4G刚好采用了32bit中间16位中为1的位表示该信道被启用(0x800~0×7fff800)
2.panID,16bit网络地址,只有panID相同的设备才能组成
一个网络。
3、MAC由IEEE规定的64bit地址,类似网卡MAC必须唯一,又叫zigbee的长地址。
4、shortAddr,由父节点分配的16bit短地址,用于设备之间的通信。
4、endpoint,是一个1-240的具体设备端点号,与应用相关。
二、地址概念的详细介绍
下面的几个概念在程序开发里面是比较重要的。
1、channel:也就是信道地址。zigbee内支持27个信道。800多兆的频段有1个信道,900兆的频段有10个信道。2.4G有16个信道,总共加起来有27个信道。
27个信道的表示:32位的数据类型的中间的16位表达,其中1表示该信道是否被占用。
取值范围:0x800-0x7fff800;这就是16个信道的表达方式。
信道在一开始创建网络就要确定,信道不确定是不会加入到网络的。
信道确定的建立网络一方和加入网络的一方是否处于同一频段。因此信道必须先确定。
2、panID:网络地址。占用16位,也就是可以建立6万多个网段。
类似于IP地址内的网段地址,也就是IP地址里面的子网掩码唯一覆盖的区域。为0覆盖的区域可以认为是主机地址。在这里可以理解为mac、shortaddr地址。在zigbee里面的mac地址和pcpip里面的mac地址是不同的。panID是表达了一个网段,如果信道相同但是panID不同,那么这两个设备也无法通信。所以需要通信的前提是panID和channel必须相通,然后选择mac和短地址。
3、mac和短地址严格意义上来说拥有一个就可以了。因为实际通讯过程中也是二选一的,只是大多数选择的是短地址。
channel和panID都通了之后,通过不同的短地址可以给不同的对象发数据。但是一般情况下短地址都是由路由器和协调器所分配的。作为一个终端设备在加入网络之前是不知道短地址是什么。所以想要和一个刚加入的设备的通信,这时就比较麻烦,因为无法知道短地址是多少,这时可以用绑定通信来解决通过mac地址。因为每个设备的mac地址是唯一的,通过mac地址来绑定,绑定完之后直接使用绑定的来通信。可以不知道短地址的情况下也可以通信。
4、端点endpoint:数据已经收到。例如:信道相同、网络地址相同、短地址也找到了但是数据还是收不到,那就说明没有定义端点,也就是端点号没有匹配上。电脑收到网络包的数据包,但是找不到对应的端口数据依然会丢失。
这里用1-240作为普通用户的端点。0号端点被占用,241之后的保留。
以上几个概念非常重要,需要重点理解。
三、通信方式
1、单播通信(点播):给指定设备收发数据
2、组播通信:给加入到组的所有的成员发出邀请
3、广播通信:与网内设备通信
(1)短地址广播:短地址为全邀,16位。0xffff这个属于广播地址。短地址广播发给网络里面的所有应用(统一个网络用短地址来划分可以分出6万多个设备。理论支持6万多个设备但是实际上能不能支持6万多个设备取决于协调器的运算能力。所有的数据需要经过协调器路由器处理,如果处理能力不高,也无法支持很多节点。)
(2)端点也有一个广播0xff。阿里收到的数据包发给所有的应用
4、绑定通信:不是设备之间通信,而是不同端点之间的通信
四、通信设备
1、协调器:全功能设备FFD
2、路由器:全功能设备FFD
3、终端:半功能设备(功耗低)
除了终端以外,协调器和路由器的功能几乎相似。都能够使得其他设备加入网络,能够分配地址。
后面有很多关于地址的说明,先将以上概念掌握,后面会通过代码例子进行说明。