关于Zigbee无线通信中,多个终端设备向协调器发送数据问题!

2024-12-14 07:06:42
推荐回答(4个)
回答1:

APP是应用层,一般只是在这里修改就可以,如果程序不是特别复杂的话,是不需要修改协议栈的。
至于协调器如何确认收到的是3个不同终端的数据,传感器向协调器发送数据的时候,是会发送自己的网络地址的,根据网络地址就可以判断是哪个节点发的了。如果是单纯组网的话,你可以看下SensorDemo例程,在TI官网上应该可以下到,在飞比网站上也可以找到。
如果要添加DS18B20采集温度和IH3605采集湿度这些外设,那么需要在传感器的程序里添加你自己的温湿度程序,设置好IO口和时序,明确你温湿度外设的数据发送流程和算法,把接收进来的数据再添加到SensorDemo原本的发送中就可以了。

回答2:

将终端的物理地址和网络地址加到要发送的数据中,以地址判断你收到的数据是哪些终端发送的。自己改动程序的话,主要是在App里面改动,然后调用其他的(像MAC层、HAL层等)

回答3:

已经实现组网了,每个设备都有自己的网络ID号的,协调器都是通过ID号判断设备的,不用自己写专门的代码,NWK和MAC层协议会自动完成。如果还是不懂,你可以看看zigbee的网络层、以及zigbee中的各种ID号的功能。

回答4:

根据簇ID(CLUSTERID)的不同确定是哪个终端发来的数据,也就是终端发送函数AF_DataRequest()的第三个参数,和协调器的簇ID一样就知道是哪个终端发来的数据。

希望有用,谢谢。