1.PAN ID
PAN IDs是用来在逻辑上分离在同一领域内的多个节点组。这样不同组之间节点通信就不会干扰,且可以在同一通道(channel)上(zigbee2007不行,因为它通信时可以改变频率的)Pan id是16位,范围是0x0000~03fff。当建立或加入网络时没有指定PAN ID的话,就会根据default PAN ID确定。它是个常量,在 f8wConfig.cfg 中。
/* Define the default PAN ID.
*
* Setting this to a value other than 0xFFFF causes
* ZDO_COORD to use this value as its PAN ID and
* Routers and end devices to join PAN with this ID
*/
-DZDAPP_CONFIG_PAN_ID=0xFFFF
当config_pan_id是0xffff时表明协调器建立网络时使用随机的pan_id, 申请加入网络的节点don't care which network it joins.
那么一个应用时怎样选择一个PAN ID的呢?答案是Application Profile决定的。例如在Home Automation中,所有节点的default PAN ID都是0xffff,但是在一些私有private profile 中,就必须指定PAN ID。
2.Extended PAN IDs
首先,它是64位,前24位是OUI(organization unique identifier),是公司向IEEE申请的,后面40位由公司自己安排。它与PID完全无关unrelated.
那为什么要用它呢?书上说了:有时候PAN ID还不够,比如一个特定的应用设备要加入到有这个应用的网络中,一种方法是选择加入到一个special PAN ID中,but that's not a very sure way to join the network.(应该是说PAN ID不一定靠谱吧)。令一种方法是加入到一个网络中去,然后看其是否有这种应用,没有的话再退出加入其它网络。但是如果使用Extended PAN ID就可以只加入同一公司中的某组具有同样应用的网络中。在应用中,可以使用mask去过滤选择一组特定的Extended PAN IDs。 |