3

如何让多个节点与协调器通信而不丢失数据?

当更多数量的 XBee 节点同时将它们的数据发送到同一个 XBee 协调器时,会不会出现拥塞问题?据我所知,是的。

在这种情况下,我该如何避免这种拥塞?另外,我希望系统能够实时工作。所以不应该有任何延迟。

我遇到了 Stack Overflow 问题XBee - XBee-API and multiple endpoints。我处理类似的问题。

这是如何解决的?

4

2 回答 2

2

当您在网络上添加设备时,避免拥塞的唯一方法是减少传输频率。

如果您查看 XBee 文档,大多数模块都有一个“传输状态”帧,一旦消息成功传递(或由于错误而被放弃),主机就会收到该帧。我相信成功响应是由网络上的 MAC 级 ACK 触发的。

如果您的节点上有智能主机,它们可以通过在发送下一帧之前等待 ACK 来调整其传输频率,甚至可以使用传输状态帧中的重试计数器在发送前设置延迟。

虽然802.15.4协议以 250 kbit/s 的速度发送数据,但标头的开销、跨网状网络的消息中继以及处理冲突将其降低到大约 100 kbit/s 的可用带宽。尝试最大化设备的有效负载,以提高数据与标头的比率。每五秒在单帧中发送五条数据比每秒在一帧中发送一条要好。

您需要发送多少数据,您对“实时”的定义是什么?10 毫秒的延迟是否可以接受?100毫秒怎么样?500 毫秒?有多少设备会尝试同时发送?他们多久发送一次?

所有这些问题都会影响您的设计,您可能会发现 802.15.4 不适合您需要做的事情。

于 2013-09-04T00:04:06.393 回答
0

我已经设置了 2 系列 XBee 的 15 个节点。节点将有多个传感器,如 Light、Motion 等。XBee 放置在 Fio 板上并每 3 分钟发送一次数据。节点将处于 AT 模式,Co-ordinator 将处于 API 模式。节点通过少数路由器 XBee(AT 模式)。Co-ordinator 收集数据(连接到 R'pi)并将数据上传到服务器。它不是网状网络,Xbee 不会休眠。所以,我在这个级别没有遇到任何拥塞问题。

希望这可以帮助。

于 2014-05-03T15:57:34.053 回答