关于无线传感网络的数据管理
时间:10-02
整理:3721RD
点击:
ZigBee可以用于无线传感网络,如果节点非常多的时候,比如温度采集网络,由大量的节点,每一个节点的温度数据都要报告给协调器,那么如果终端节点通过SendReport定时报告数据的话,怎么确定协调器的接收endpoint呢?
总不能协调器上一个endpoint对应一个温度终端节点吧?那样协调器的endpoint肯定不够用的。
协调器收到SendReport后,怎么区分是哪个终端节点发的呢?
endpoint 表征的是一个应用。每个节点绑定时都用同样的协调器endpoint就好了。协调器可以在应用层做区分。
协调器收到的report 结构如下,你可以用地址,也可以在report的attr中增加可用于区分的属性,
typedef struct
{
osal_event_hdr_t hdr; // OSAL header
zclFrameHdr_t zclHdr; // ZCL header parsed
uint16 clusterId; // Cluster ID
afAddrType_t srcAddr; // Sender's address
uint8 endPoint; // destination endpoint
void *attrCmd; // pointer to the parsed attribute or command; must be freed by Application
} zclIncomingMsg_t;