【摘要】:因为采集节点已经绑定了传感节点,此时地址使用0xFFFE,为无效地址,数据包通过绑定表信息发送到传感节点。
1.采集节点绑定传感节点
传感节点启动网关功能后,就可以接收启动节点匹配描述符请求,在自动匹配实验中已经说明,发起匹配请求的采集节点在匹配成功后会收到反馈信息,反馈信息包含了匹配成功的节点地址信息,通过该信息在采集节点中即可建立绑定表。
采集节点加入网络后会设置一个发现协调器事件(MY_FIND_COLLECTOR_EVT),对该事件处理就是调用zb_BindDevice函数发送绑定请求,该函数的实质是发送匹配描述符请求,采集节点处理匹配描述符响应部分代码如下:
显然,在此段代码中建立了绑定表,处理了一些绑定确认信息。
2.采集节点汇报传感数据
采集节点通过按下键设置用户事件MY_REPORT_EVT来实现传感器数据回拨,采集节点处理该事件的代码如下:(www.xing528.com)
真正读取传感器和发送无线数据的代码是在sendReport函数中完成的。以SensorEB中的代码为例:
readTemp函数就是采集温度的函数,对于外接传感器需要编写相应驱动函数,传感器数据及父节点信息打包后,调用zb_SendDataRequest函数将数据包发送到传感节点。因为采集节点已经绑定了传感节点,此时地址使用0xFFFE,为无效地址,数据包通过绑定表信息发送到传感节点。
3.传感节点通过串口发送信息给PC
传感节点接收到采集节点的汇报信息,将调用下面的函数进行处理:
将传感器数据打包到gtwData结构中,调用sendGtwReport函数通过串口进行数据发送:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。