\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网络只能接入一个zigbee的协调器,协调器首先选择频道和网络id,然后开始该网络。向下,协调器可以和多个终端通信,但这些终端都在同一个区域;向上,协调器和路由器进行通信,其中路由器负责将多个区域的网络设备进行连接,有时候也负责外网通信。协调器是网络整体的开始,所以他拥有网络的最高权限,作为网络整体的维护者,可以维持间接地址用的表格绑定,同时可以设计安全中心、执行其他的动作。在Zigbee网络形成之后,协调器不是必需的。协调器也是主节点,一个网络中只有一个协调器,管理该网络中的其他节点(路由和子节点)。
zigbee协调器的作用
负责zigbee网络整体的建立、管理,是网络的中心。收敛节点是全功能设备,充当将无线传感器网络中的数据与上级网络(例如,接入以太网、GPRS等)通信的网关。通常协调器是构建ZigBee网络的中心节点,路由能对数据和中继信号都进行发送,终端一般用于发送数据,并且消耗较低。最重要的作用是,根据扫描情况,选择适当的参数来构建网络。
代码不用自己写,直接使用zigbee协议栈的例程就可以,如果你想修改局域网络,防止和别的zigbee组网冲突,可以修改协调器的PANID,对应的终端节点和路由器会在这个PANID局域网中组网,可以防止冲突。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)