cc2530 基于协议栈的节点怎么接收不基于协议栈的传感器数据?

时间:2021-12-28 11:03:37
温度采集器也有cc2530但是不基于协议栈,不加入节点的网络,单纯点对点对节点发送温度数据。 然后节点是基于协议栈与协调器路由器通信。
应该怎么实现?

11 个解决方案

#1


那你难弄了,zigbee最难得就是无线组网这块,不计成本的话,可以使用两个节点(基于协议栈的和非协议栈的)通过uart对接或者MCU转接透传数据。否则就只有修改某一方的无线通讯组网协议来弄了。

#2


引用 1 楼 C_Rabbit 的回复:
那你难弄了,zigbee最难得就是无线组网这块,不计成本的话,可以使用两个节点(基于协议栈的和非协议栈的)通过uart对接或者MCU转接透传数据。否则就只有修改某一方的无线通讯组网协议来弄了。

我也是这样想 但是要求是一个CC2530实现。
现在想法是直接调用寄存器接收。。5555555

#3


引用 2 楼 ccq101 的回复:
引用 1 楼 C_Rabbit 的回复:
那你难弄了,zigbee最难得就是无线组网这块,不计成本的话,可以使用两个节点(基于协议栈的和非协议栈的)通过uart对接或者MCU转接透传数据。否则就只有修改某一方的无线通讯组网协议来弄了。
我也是这样想 但是要求是一个CC2530实现。
现在想法是直接调用寄存器接收。。5555555

那么你只能试着修改传感器所在节点的程序了,这样就只是在原来的组网协议程序架构下,加入一个传感器的应用,代码还是比较简单的。不知道你用的是Z-Stack还是TinyOS,这两种加一个传感器还是比较好弄得,前提是你的硬件支持烧录换程序

#4


用的是Z-Stack。
一组采集器有很多个,采集例如电压,温度,湿度等,他们位置不同,但是他们都给同一个基于协议栈的带显示的节点(终端)发送数据,然后终端把数据发送到路由器或者协调器。
你的意思是传感器节点也加入终端网络吗?如果采集器都加入网络,容量太大了 而且不好控制吧~?

#5


引用 3 楼 C_Rabbit 的回复:
引用 2 楼 ccq101 的回复:引用 1 楼 C_Rabbit 的回复:
那你难弄了,zigbee最难得就是无线组网这块,不计成本的话,可以使用两个节点(基于协议栈的和非协议栈的)通过uart对接或者MCU转接透传数据。否则就只有修改某一方的无线通讯组网协议来弄了。
我也是这样想 但是要求是一个CC2530实现。
现在想法是直接调用寄存器接收。。5555555
……

忘记引用了
用的是Z-Stack。
一组采集器有很多个,采集例如电压,温度,湿度等,他们位置不同,但是他们都给同一个基于协议栈的带显示的节点(终端)发送数据,然后终端把数据发送到路由器或者协调器。
你的意思是传感器节点也加入终端网络吗?如果采集器都加入网络,容量太大了 而且不好控制吧~?

#6


引用 5 楼 ccq101 的回复:
引用 3 楼 C_Rabbit 的回复:
引用 2 楼 ccq101 的回复:引用 1 楼 C_Rabbit 的回复:
那你难弄了,zigbee最难得就是无线组网这块,不计成本的话,可以使用两个节点(基于协议栈的和非协议栈的)通过uart对接或者MCU转接透传数据。否则就只有修改某一方的无线通讯组网协议来弄了。
我也是这样想 但是要求是一个CC2530实现。
现在想法是直接调用寄存器接收。……

传感器网络本身就是要把传感器节点并入网络的吧,我记得Z-Stack的组网是10?16?20?个,时间长没用记得不清楚了。你现在不是要接收温度传感器的数据吗?首先在无线组网协议下,非同一网络的节点是无法上传数据的,除非你用有线连接另外透传。也不要想着使用同一个CC2530分时段在两个网络中穿插,这样你的网络路由或协调会一直陷入组网或丢节点,所以最后的结果就只能是把传感器也并进来。
做法也不是很复杂,你参考已有的传感器驱动,改一个适合你现在用的温度采集器的驱动就可以了。

#7


引用 楼主 ccq101 的回复:
温度采集器也有cc2530但是不基于协议栈,不加入节点的网络,单纯点对点对节点发送温度数据。 然后节点是基于协议栈与协调器路由器通信。
应该怎么实现?
              
                  zigbee 
                  cc2530
                  协议栈
              
       ……


这个要求有点郁闷哈,节点要运行协议栈,但是又有另外的通信是私底下偷偷摸摸进行,还在保证通信可靠

只能用效率很低的分时复用。

节点要取传感器数据的时候,就从协议栈里跳出来,自己用底层的通信库,去发点对点的数据。

数据取完了,再从新运行协议栈。

这么做不是不可以,只是很杯具

#8


引用 7 楼 lbing7 的回复:
引用 楼主 ccq101 的回复:
温度采集器也有cc2530但是不基于协议栈,不加入节点的网络,单纯点对点对节点发送温度数据。 然后节点是基于协议栈与协调器路由器通信。
应该怎么实现?
              
                  zigbee 
                  cc2530
                  协议栈
           ……

z-stack协议栈是要通信握手的,频繁的脱离和重运行可能会导致死点哦

#9


引用 楼主 ccq101 的回复:
温度采集器也有cc2530但是不基于协议栈,不加入节点的网络,单纯点对点对节点发送温度数据。 然后节点是基于协议栈与协调器路由器通信。

#10


其实基于协议栈的节点在最底层的物理层可以收到不基于协议栈的节点的数据的,但是基于协议栈的节点符合IEEE802.15.4标准协议,IEEE802.15.4标准将收到的不符合此标准协议的数据自动屏蔽了!

#11


在MAC层可以收不基于协议栈的数据,但是你自己熟悉协议栈的数据格式么?如果不基于协议栈的数据与基于协议栈的数据格式雷同,你又怎么处理?

#1


那你难弄了,zigbee最难得就是无线组网这块,不计成本的话,可以使用两个节点(基于协议栈的和非协议栈的)通过uart对接或者MCU转接透传数据。否则就只有修改某一方的无线通讯组网协议来弄了。

#2


引用 1 楼 C_Rabbit 的回复:
那你难弄了,zigbee最难得就是无线组网这块,不计成本的话,可以使用两个节点(基于协议栈的和非协议栈的)通过uart对接或者MCU转接透传数据。否则就只有修改某一方的无线通讯组网协议来弄了。

我也是这样想 但是要求是一个CC2530实现。
现在想法是直接调用寄存器接收。。5555555

#3


引用 2 楼 ccq101 的回复:
引用 1 楼 C_Rabbit 的回复:
那你难弄了,zigbee最难得就是无线组网这块,不计成本的话,可以使用两个节点(基于协议栈的和非协议栈的)通过uart对接或者MCU转接透传数据。否则就只有修改某一方的无线通讯组网协议来弄了。
我也是这样想 但是要求是一个CC2530实现。
现在想法是直接调用寄存器接收。。5555555

那么你只能试着修改传感器所在节点的程序了,这样就只是在原来的组网协议程序架构下,加入一个传感器的应用,代码还是比较简单的。不知道你用的是Z-Stack还是TinyOS,这两种加一个传感器还是比较好弄得,前提是你的硬件支持烧录换程序

#4


用的是Z-Stack。
一组采集器有很多个,采集例如电压,温度,湿度等,他们位置不同,但是他们都给同一个基于协议栈的带显示的节点(终端)发送数据,然后终端把数据发送到路由器或者协调器。
你的意思是传感器节点也加入终端网络吗?如果采集器都加入网络,容量太大了 而且不好控制吧~?

#5


引用 3 楼 C_Rabbit 的回复:
引用 2 楼 ccq101 的回复:引用 1 楼 C_Rabbit 的回复:
那你难弄了,zigbee最难得就是无线组网这块,不计成本的话,可以使用两个节点(基于协议栈的和非协议栈的)通过uart对接或者MCU转接透传数据。否则就只有修改某一方的无线通讯组网协议来弄了。
我也是这样想 但是要求是一个CC2530实现。
现在想法是直接调用寄存器接收。。5555555
……

忘记引用了
用的是Z-Stack。
一组采集器有很多个,采集例如电压,温度,湿度等,他们位置不同,但是他们都给同一个基于协议栈的带显示的节点(终端)发送数据,然后终端把数据发送到路由器或者协调器。
你的意思是传感器节点也加入终端网络吗?如果采集器都加入网络,容量太大了 而且不好控制吧~?

#6


引用 5 楼 ccq101 的回复:
引用 3 楼 C_Rabbit 的回复:
引用 2 楼 ccq101 的回复:引用 1 楼 C_Rabbit 的回复:
那你难弄了,zigbee最难得就是无线组网这块,不计成本的话,可以使用两个节点(基于协议栈的和非协议栈的)通过uart对接或者MCU转接透传数据。否则就只有修改某一方的无线通讯组网协议来弄了。
我也是这样想 但是要求是一个CC2530实现。
现在想法是直接调用寄存器接收。……

传感器网络本身就是要把传感器节点并入网络的吧,我记得Z-Stack的组网是10?16?20?个,时间长没用记得不清楚了。你现在不是要接收温度传感器的数据吗?首先在无线组网协议下,非同一网络的节点是无法上传数据的,除非你用有线连接另外透传。也不要想着使用同一个CC2530分时段在两个网络中穿插,这样你的网络路由或协调会一直陷入组网或丢节点,所以最后的结果就只能是把传感器也并进来。
做法也不是很复杂,你参考已有的传感器驱动,改一个适合你现在用的温度采集器的驱动就可以了。

#7


引用 楼主 ccq101 的回复:
温度采集器也有cc2530但是不基于协议栈,不加入节点的网络,单纯点对点对节点发送温度数据。 然后节点是基于协议栈与协调器路由器通信。
应该怎么实现?
              
                  zigbee 
                  cc2530
                  协议栈
              
       ……


这个要求有点郁闷哈,节点要运行协议栈,但是又有另外的通信是私底下偷偷摸摸进行,还在保证通信可靠

只能用效率很低的分时复用。

节点要取传感器数据的时候,就从协议栈里跳出来,自己用底层的通信库,去发点对点的数据。

数据取完了,再从新运行协议栈。

这么做不是不可以,只是很杯具

#8


引用 7 楼 lbing7 的回复:
引用 楼主 ccq101 的回复:
温度采集器也有cc2530但是不基于协议栈,不加入节点的网络,单纯点对点对节点发送温度数据。 然后节点是基于协议栈与协调器路由器通信。
应该怎么实现?
              
                  zigbee 
                  cc2530
                  协议栈
           ……

z-stack协议栈是要通信握手的,频繁的脱离和重运行可能会导致死点哦

#9


引用 楼主 ccq101 的回复:
温度采集器也有cc2530但是不基于协议栈,不加入节点的网络,单纯点对点对节点发送温度数据。 然后节点是基于协议栈与协调器路由器通信。

#10


其实基于协议栈的节点在最底层的物理层可以收到不基于协议栈的节点的数据的,但是基于协议栈的节点符合IEEE802.15.4标准协议,IEEE802.15.4标准将收到的不符合此标准协议的数据自动屏蔽了!

#11


在MAC层可以收不基于协议栈的数据,但是你自己熟悉协议栈的数据格式么?如果不基于协议栈的数据与基于协议栈的数据格式雷同,你又怎么处理?