在这里,我们将介绍ZigBee网络的一些基本概念,包括:
IEEE-802.15.4定义了两种设备类型:
注意: RFD设备的处理能力和内存大小通常小于FFD设备。
在ZigBee中,存在三种设备类型:
| 设备类型 | 创建网络 | 路由 | 供电方式 | 作父节点 | |
|---|---|---|---|---|---|
| 协调器 | 是 | 是 | 主电源 | 是 | 网络中只有一个,且节点ID始终为0 |
| 路由设备 | 否 | 是 | 主电源 | 是 | |
| 终端设备 | 否 | 否 | 主电源或电池 | 否 | 必须有父节点 |
Coordinator对比Router,除了可以创建网络之外,其余功能是一样的。
每个设备入网后,都会广播发出一个Announce报文,通知所有的设备,我加入这个网络了。



马鞍山虽然是一个地名,但不是一个精确的地名。据统计,中国可能有二十几个地方叫马鞍山。
对应到ZigBee网络也会有同样的问题。ZigBee使用PAN ID和扩展的PAN ID来识别网络。
马鞍山就类似于PAN ID,Extended PAN ID就类似一个全地名,比如说安徽省马鞍山市
ZigBee是一个低速率的通信技术,本身最大的数据传输速率就只有250Kbps,并且在实际传输的时候有MAC层头部、网络层头部,还有各种安全控制的字段等等,导致的后果就是真正有效的数据载荷占比比较低。这种情况下,如果每次通信仍然使用这个64 bit的PAN ID,就会导致有效载荷占比进一步降低。所以大部分时候的通信都是使用16 bit的PAN ID来标识目的网络,可以改善这种情况。仅在回复节点扫描请求入网的Beacon Request的Beacon报文中,或是进行PAN ID更新时,才会在报文中使用扩展的PAN ID。
PAN,又称个人区域网络,通过其PAN ID与其他网络分开。这是同一PAN中所有节点将共享的16位标识符。因此,这与以太网世界中的子网掩码类似,因为您通常只与本地网络内的设备通信,在这种情况下为PAN。该标识符放置在每个传出数据包中的低层MAC层标头中,它使接收该数据包的设备可以过滤出与他们的网络无关的消息。 他们可以将其与自己的PAN ID进行比较,并确定这是来自自己网络中某人的消息,还是来自恰好在此信道上的其他网络中的某人的消息,因此无需尝试解码或解密。
0xFFFF这个PANID用于广播,那么所有网络都能收得到。


PAN ID由协调器在网络创建时随机生成,或者在创建网络的时候由用户指定。因为PAN ID是一个网络与另一个网络之间的区别因素,所以它应该是随机的以确保其唯一性。建议您为PAN ID选择一个随机的16位值,以防止您的网络与该区域中碰巧存在的任何其他网络重合。
现在,如果您碰巧选择了另一个网络已经使用的PAN ID,该怎么办?或者,如果您确实选择了一个与任何其他网络都没有冲突的随机PAN ID,但后来又有另一个网络与您的网络重叠,该怎么办?如果曾经发生过PAN ID冲突,则协议栈实际上可以检测到这种冲突并可以自动更新其PAN ID,并通知其网络中的所有节点都移至新的PAN ID,以便每个节点可以继续与原始网络中的节点进行通信,并排除冲突网络上的任何节点。如果PAN ID冲突,我们需要使用扩展的PAN ID来区分网络。
扩展PAN ID是PAN中所有节点都知道的另一个网络标识符。
正常的短16位PAN ID由于简短,在空中传输的所有数据包中都有包含,但64位扩展PAN ID很少通过空中传输。扩展的PAN ID对于每个PAN也是唯一的,当16位PAN ID不足以始终将一个网络与另一个网络区分开时,它基本上用作备份标准。例如,当发生PAN ID冲突并且您要通知网络中的所有设备更新PAN ID时,将网络与冲突的网络区分开的方式是,网络中的这些设备都共享相同的扩展PAN ID。扩展PAN ID极不可能发生冲突,因为与短PAN ID中的16位相比,它具有64位。

扩展的PAN ID由协调器在网络创建时随机生成。
这也是允许您选择网络的有用因素。如果您尝试加入一个网络而不是创建一个网络,那么您可能想知道如何判断哪些网络可用。网络之间可区分的方式不仅在PAN ID中,而且在扩展的PAN ID中。您可能想做一些特别的事情,决定只使用扩展PAN ID的特定子集,以便您可以将网络与其他网络区分开来,但不要太限制自己,因为您限制得越多您发生冲突的可能性就越大,并且如果您的扩展PAN ID曾经发生冲突,您实际上无能为力。它有点像WiFi SSID,不同之处在于WiFi网络之间的SSID可以相同,而ZigBee不同网络间的扩展PAN ID则不能相同。
除了其网络范围的标准外,一个节点还通过其单独的节点地址与另一个节点区分开。
节点具有短地址和长地址。长地址是IEEE分配的MAC地址或EUI-64,称为IEEE地址或MAC地址。它是一个全球唯一的64位地址,这意味着世界上没有两个基于IEEE的无线电设备具有相同的EUI-64。通常在制造时分配。芯片在出厂之前,它们会被分配(IEEE会给芯片厂商分配不同的地址范围),并且它们永远不会改变。它用来区分不同的无线设备。但是因为64位是相对比较大的数据量,所以这个长地址不是经常通过空中发送的。

在大多数情况下,为了提供通信的效率,更短的16位地址是通过无线方式使用的。这被称为Short ID或Node ID,在网络中是唯一的,类似于以太网世界中的IP地址。它是在节点进入网络时由他的父节点分配的,并且在该网络内应该是唯一的。可能有两个网络,每个网络都有一个具有相同节点ID的节点,但是因为它们位于不同的PAN中,所以没有关系。

请注意,短地址有可能会发生变化,因为有可能会产生冲突。两个节点在进入网络时可能选择了相同的随机节点ID。如果发生这种情况,就像PAN ID方案一样,有一种解决冲突的方法。当节点注意到冲突时,基于EUI-64信息作为后备,它们可以商定新地址。因此,如果需要,节点可以根据冲突在运行时更改地址。

