\SimpleApp下,主要看SimpleSensor.c和SimpleCollector.c,这里讲了将温度值相互传送的过程
。注意函数zb_SendDataRequest( 0xFFFE,SENSOR_REPORT_CMD_ID, 2, pData, 0,
AF_ACK_REQUEST, 0 )(在SimpleSensor.c中)其中pData是一个数冲旁组,你可以将字符串放入其中
,比如可以
定义 pData[6]="zigbee"那么在SimpleCollector.c中的接收数据函数void
zb_ReceiveDataIndication( uint16 source, uint16 command, uint16 len, uint8 *pData )接
收你要的数据
pData。比如:
void zb_ReceiveDataIndication( uint16 source, uint16 command, uint16 len, uint8 *pData
)
{
if(pData[0]=='z')
{
HalLedSet( HAL_LED_1, HAL_LED_MODE_ON )//点亮LED1
}
}
学习zigbee关键在于多看官方给出的例程,基本的功能和用法都有
代码不用自己写,直接使用zigbee协议栈的例程就可以,如果你想颂兆清修改局域网络,防止和别猜羡的zigbee组网冲突,可以修改协调器的PANID,对应的终端节点和路由器会在这个PANID局域野前网中组网,可以防止冲突。根据所使用的栈协议不同而不同,理论上寻址范围是65535,但实际上数量多了之后会产生竞争,导致数据丢失等。你悉芹的判蔽这种方式是典型的星形网络,如掘陆州果仅仅是协调器发命令对终端轮询,那么基本没有限制,1000+也没问题。但如果存在终端同时向协调器发命令的情况,那么50台就可能出错了。因为你没说具体应用环境,那么对你“管理”这个概念我的回答是1000+欢迎分享,转载请注明来源:内存溢出
评论列表(0条)