我正在挖掘ZigBee,以下问题出现在我面前:
每个ZigBee设备都有一个16位短地址,这意味着我最多可以连接2 ^ 16 = 65536个不同的设备(当然减去几个保留地址)。现在每个设备最多可以绑定2 ^ 8 = 256个不同的服务(因为还保留了一些“端口”,这里最大值实际为240)。我想知道,如果将这8位添加到16位短地址,这意味着实际地址有24位或者这8位是从短地址中取出,这意味着短地址实际上只有8位,这又意味着我“只能”连接256个设备?
我现在有点困惑,特别是因为大多数关于ZigBee的论文/文章使用术语“节点”,我认为这意味着类似于服务,但不一定是新的(不同的)设备。
有任何澄清吗?^^
答案 0 :(得分:8)
在Zigbee中,“节点地址”是物理设备(无线电)。每个物理设备最多可包含240个“逻辑”设备(端点)。端点由集群组成,集群提供设备行为。当您创建绑定时,您告诉一个“逻辑”设备如何与另一个“逻辑”设备通信。
从技术上讲,您可以在网络上拥有大约1500万(2 ^ 16 * 240)个“逻辑”设备。在实践中,达到1000节点范围的Zigbee网络往往会遇到技术限制,但这归结为物理设备相对于彼此的放置。
TL; DR - 将节点地址视为IP地址,将端点视为端口值。您可以在不同端口上的单个物理地址上运行多个“应用程序”。
答案 1 :(得分:5)
在Zigbee中,每个设备都有一个8字节的MAC地址。这称为EUI64格式,对每个接口都是唯一的。 Iti就像以太网中的MAC地址,但在以太网中它是6个字节,在zigbee中它是8个字节。当设备加入网络时,它会向协调器发送关联请求。在zigbee中,协调器具有预定义的节点id [0000]。节点id也称为短地址。短地址可以用作MAC头中的设备标识符来代替8字节MAC地址。关联请求MAC头包含源MAC地址和目的地短地址[0000]。协调员回复一个关联响应。关联响应的MAC头包含作为协调器MAC的源和作为设备MAC的Dest。关联响应的MAC有效载荷包含一个短地址,协调器为该设备选择了该地址。该短地址是设备节点ID。它是一个16位数字,每次设备主动加入网络时都可以更改。当在网络层中使用时,它被称为节点Id。当在MAC层中使用时,它被称为短地址。 节点ID与IP地址的用途相同。它在网络中的多个设备之间标识设备。但是为了支持多个应用程序,我们还需要某种应用程序标识符。这一目的由端点提供。您可以将端点可视化为TCP / UDP端口。端点可以用于3个目的中的任何一个
但在上述任何一种情况下,每个端点都由多个集群组成,这些集群定义了逻辑设备的行为。
以下是各级标识符的细分
答案 2 :(得分:1)
ZigBee的寻址方案能够为每个网络支持 64,000个节点,并且可以将多个网络协调器链接在一起以支持极大的网络。 ZigBee网络的逻辑大小最终取决于选择的频段,网络上每个设备需要通信的频率,以及应用程序可以容忍多少数据丢失或重传。