你好,我们现在要做zigbee网络,就是由终端向协调器发送数据的程序不会,希望指教一二

你好,我们现在要做zigbee网络,就是由终端向协调器发送数据的程序不会,希望指教一二,第1张

我用的是ZStack-1.4.3-1.2.1,你好好看一下TI公司给出的例程在Projects\zstack\Samples

\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局域网中组网,可以防止冲突。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11150887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存