TI中文支持网
TI专业的中文技术问题搜集分享网站

如何实现一个协调器控制50多个终端节点

我现在手头上可以实现的功能是这样:通过手机发数据给蓝牙  蓝牙通过串口发数据给协调器  然后协调器广播出去数据,去控制相应的节点    那么我是通过判断某个IO口的高低电平来分辨不同的节点    那么 毕竟IO口的数量有限  这样也不是一个很好的方法  我也看了好多资料  说是可以通过短地址来实现,找了这么多资料 就是没有找到一个好的案例   希望 各位大虾么指一条明路  呢 !原理都理清楚  下面真的不知道该怎么着手!虔诚求教呢!

VV:

我可以这么理解么,你的协调器相当于是一个蓝牙和ZigBee的桥接,蓝牙完成与手机的通信,ZigBee完成对50个节点的控制,然后协调器中蓝牙和ZigBee芯片之间是通过UART通信的。对吗?

广播数据的地址是0xFFFF,所有节点都能收到广播数据,只要在通信范围内。

I/O口用来干嘛?相当于一个拨码的地址器吗?

能否把应用描述清楚点呢?

wang wang4:

回复 VV:

IO口的高低电平  也就是你说的通过插拔来分辨的   我现在是这么做的  通过这个来分辨是不同的节点   对我是通过串口来的    我现在是想实现通过读取各个节点的短地址来分辨是不同的节点     经过思考  我现在是这个想法:首先通过ZDP_EndDeviceAnnce() Device_annce  来知道他们的短地址  再存到一个数组里面   那么当我用手机发送类似0  1 2 3 4 5  6 7 这样的数据,然后接收到之后  把该数组中的第0 1 2 3 4 5 6 7 个数据取出来赋值给广播的目的地址  这样子可以实现么?求指导!

wang wang4:

回复 wang wang4:

还有一个就是通过NV来操作   好像NV里面有一个设备关联表  你有没有接触过?还是说您有更好的办法  现在大部分的教程都是这样:超过有10个节点的都是让这些终端节点发数据给协调器  让协调器来实现对他们的数据进行处理   很少有人讲一个协调器来控制这么多个节点  通过短地址的方式  很想要这方面的资源      

VV:

回复 wang wang4:

你好!

你讲的方法可以实现你想要的功能,可以通过你的手机实现对节点的控制,但是这里我有几个疑问:

1)其实你可以把你的短地址直接存在手机里面,你存编号是1个字节,存短地址也就2个字节。当你的手机每次和蓝牙配对的时候,可以把目前网络的节点信息,发给手机。

2)你这样做虽然可以实现对节点控制,但是你无法做到一一对应,仅仅凭一个编号或者短地址,你能识别他的真实的设备含义或者物理位置吗?而且短地址是有可能变化的,随着入网的先后顺序不同,同一个设备对应的0-7的数字可能不同。

对于你后面的说的加入NV功能的,相对来说会好点,你可以事先按照一定的顺序入网,入网的时候有一个编号,而且短地址和编号都保存下来,这样可以一一对应。

我建议你可以考虑使用IEEE地址,因为这个地址对每一个设备来说都是唯一不变的,短地址是有可能发生变化的。在device anounce里面会有IEEE地址。

希望你能把你的应用描述详细点!

谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 如何实现一个协调器控制50多个终端节点
分享到: 更多 (0)