zigbee学习笔记1——基本概念

来源:互联网 发布:iphone光绘软件 编辑:程序博客网 时间:2024/06/08 10:15
TaskID:

       这个是任务id是,os负责分配的也就是对一个事件作一个唯一的编码,在每一个任务的初始化函数中,必须完成的功能是要得到设置任务的任务ID。他就相当于一个任务的标识,这样才能区分运行过程中不同任务中的不同事件。我是这么认为的,ID 说白了就是给该任务取了各名字,就向人名字一样,区分不同的人,就是一个代号。人名可以重复,重复了有时候叫起来就容易混淆;所以才程序中为了避免这种混淆,就强制性的规定任务 ID 不能重复。

PANID:

       PANID的出现一般是伴随在,确定信道以后的。PANID其全称是Personal Area Network ID,网络的ID(即网络标识符),是针对一个或多个应用的网络,一般是mesh或者cluster tree两种拓扑结构之一。所有节点的panID唯一,一个网络只有一个PANID,它是由pan协调器生成的,PANID是可选配置项,用来控制ZigBee路由器和终端节点要加入那个网络。文件f8wConfg.cfg中的 ZDO_CONFIG_PAN_ID 参数可以设置为一个 0~0x3FFF 之间的一个值。协调器使用这个值,作为它要启动的网络的 PAN ID。而对于路由器节点和终端节点来说只要加入一个已经用这个参数配置了PAN ID的网络。如果要关闭这个功能,只要将这个参数设置为0xFFFF。 要更进一步控制加入过程,需要修改 ZDApp.c 文件中的ZDO_NetworkDiscoveryConfirmCB 函数。当然了,如果ZDAPP_CONFIG_PAN_ID被定义为0xFFFF,那么协调器将根据自身的IEEE地址建立一个随机的PANID(0~0x3FFF),XXX经过试验发现,这个随机的PANID并非完全随机,它有规律,与IEEE地址有一定的关系:要么就是IEEE地址的低16位,要么就是一个与IEEE地址低16位非常相似的值。如IEEE地址为0x8877665544332211,PANID很有可能就是2211,或相似的值;IEEE地址为0x8877665544337777,PANID很有可能就是3777,或其它相似的值。

ClusterID:

        是一个簇对外的id,就是一个星型网络的id(不知到这样理解对不对)。先来了解一下 Cluster,Cluster: is a container for one or more attributes. (一个或更多属性的集合),也叫做--簇,Cluster是逻辑设备之间的事务关系,按照06协议栈中讲到的,Cluster由ClusterID区分,ClusterID与流出或者流入设备的数据时相关联的,ClusterID在特定的剖面中是独一无二的。通过一个输出ClusterID和输入ClusterID的匹配(设定在同一个剖面中),才能实现绑定。假定在一个自动调温装置中,在一个带有输出ClusterID的设备和一个输入ClusterID设备之间,绑定发生在温度这个层面,绑定表包含8bit带源地址和目的地址的温度标识符。(讲了这么多,简而言之task用于给事件初始化应用建立的任务ID号,clusterid用来对信息的分类。)clusterID和cluster一一对应,不同的cluster当然用不同的clusterID。

16位短地址:

       ZigBee 设备有两种类型的地址。一种是 64 位 IEEE 地址,即 MAC 地址,另一种是 16位网络地址。64 位地址使全球唯一的地址,设备将在它的生命周期中一直拥有它。它通常由制造商或者被安装时设置。这些地址由 IEEE 来维护和分配。16 为网络地址是当设备加入网络后分配的。它在网络中是唯一的,用来在网络中鉴别设备和发送数据,当然了不同的网络16位短地址可能相同的。 你其实可以这样理解PANID和16位短地址的关系,一个班有一个班级名称(PANID)班级里面的人都拥有一个唯一的学号(16位地址)。


原创粉丝点击