一、Zigbee节点(协调器、路由器、终端)
下面统称,协调器、路由器、终端为zigbee节点。 只是因为作用不同,名称才不同。
Zigbee终端,在应用层编写程序,可以采集温度、可以控制输出(LED或开关等),将相应的数据通过网络层、物理层等发给协调器(如橙色的线)。如果找不到协调器,则通过路由器发给协调器(如黄色的线)。
Zigbee路由器,可以自己采集数据; 也可以转发终端的数据。
Zigbee协调器,主要目的组网,和与上位机(其他DSP)通信。
二、节点、端口、任务号、短地址的关系
Zigbee节点,硬件是CC2530 ,软件是Z-stack 2007.(以这个为例)
Z-stack是一个简单的操作系统: 任务轮询。
该系统,不停地检查和操作物理层、MAC层、网络层、应用层。
每一层,都对应着不同的任务号。其中,底层的任务号Z-stack已经写好了。
只有应用层的任务,需要我们自己写。 应用层,可以有很多任务。例如:采集数据、 控制LED等。
不同的任务,为了区分,我们设置了不同的端口号。
在SampleApp.h文件中,定义了端口号,如下:
为什么: 任务和端口一一对应?
1. 就好比我们的电脑,不同的端口,对应着不同的任务。
2. 终端、路由器、协调器之间,发送信息给对方,必须要有端口信息,才能执行相应的任务。
如下图所示:
关于短地址,请见下面的代码:
通过这样的配置,就可以很容易的知道,是发给哪个设备、执行什么任务了。
三、任务、事件、消息等关系