基于zigbee光照感应系统之节点单播通信
在上一篇博客已经介绍了如和配置协调器与路由器之间的广播通信,本文将介绍路由器与协调器之间的单播通信。
本项目在路由器节点上外加了一个GL7516光照传感器,在路由器节点上不断采集光照传感器的光照强度,然后路由器将光照传感器的信号通过单播的方式发送给协调器,同时将串口助手上打印出来。
首先,来介绍一下GL7516光照传感器:
光敏电阻式一种半导体材料制成的电阻,其电导率随着光照度的变化而变化。利用这一特性可以制成不同形状和受光面积的光敏电阻。GL7516 就是其中的一种,光越强阻值越小。光敏电阻广泛应用于玩具、灯具、照相机等行业。

通过光敏电阻的电路图我们可以看出,当有光照是光敏电阻的阻值变小,P0.1引脚为高电平;没有光照是光敏电阻的阻值为大P0.1引脚为低电平。
在协议栈里配置光照传感器引脚:
#define LIGHT P0_1 //光敏为P0.1口控制
P0DIR&=~0X02; //配置p0.1为输出口
第二步,配置接收方(协调器)的配置:
在void SampleApp_Init( uint8 task_id )函数配置接收放为点播
SampleApp_Periodic_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
SampleApp_Periodic_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
SampleApp_Periodic_DstAddr.addr.shortAddr = 0x0000;
通信方式位16位单播,目标地址为0x0000(协调器的地址)
第三步,在事件处理函数里uint16 SampleApp_ProcessEven

本文介绍基于Zigbee的光照感应系统中,路由器如何通过单播方式向协调器发送光照强度数据。项目使用GL7516光照传感器,详细讲解了配置过程、数据采集及发送机制。
最低0.47元/天 解锁文章
881





