终端设备如何在XBee(系列1)NonBeacon(w / Coordinator)网络中相互通信

时间:2012-05-26 03:19:47

标签: xbee

我设置了一个带有三个XBee Series 1模块的NonBeacon(w / Coordinator)网络。一个配置为协调员。其他两个配置为终端设备。固件版本和配置如下。

Firmare

Modem:  XBEE    Function Set    Version
XB24    XB24    802.15.4        10CD

协调员

Parameter            Value   Comments
CH (Channel)         0x0F    Identical
ID (PAN ID)          0x5241  Identical
DH                   0x0
DL                   0x0
MY (Source Address)  0xFF01  Unique
CE (Coord. Enable)   1  
A2 (Coord. Assoc.)   0x04    allow end devices to associate to it.

结束设备

Parameter            Value   Comments
CH (Channel)         0x0F    Identical
ID (PAN ID)          0x5241  Identical
DH                   0x0
DL                   0x0
MY (Source Address)  0xFF02  Unique
CE (Coord. Enable)   0  
A1 (End Dev Assoc.)  0x04    allow associate to coordinator.

当终端设备1发出数据时,协调器可以接收数据,但终端设备2不能。我希望终端设备2从该网络中的终端设备1接收数据。我目前的解决方案是让协调器广播数据,因此终端设备2可以接收它。我不确定这是解决终端设备间通信问题的好方法。还有其他解决方案吗?

1 个答案:

答案 0 :(得分:5)

使用Digi XBee 802.15.4模块(也称为Digi XBee Series 1模块),在坐标上使用广播与终端设备通话不会受到惩罚。

另一方面,如果您希望能够在任何两个Digi XBee 802.15.4模块之间建立通信,则需要使用单播寻址。单播寻址按以下方式执行:

  1. 通过将MY参数设置为唯一值
  2. 在每个节点上设置地址
  3. 将协调员的DL参数设置为您希望与之对话的*终端设备节点的MY值。
  4. 请注意,通过将DL设置为0,每个终端设备将始终能够与协调器(CE设置为1的节点)通话。
  5. 必须在协调器上更改DL参数以便能够依次与每个终端设备通话,这可能非常笨拙。这就是为什么许多人最终在API模式下使用Digi XBee无线电。

    如果您从Digi XBee 802.15.4 Support Page的文档部分下载手册,则会找到标题为“API操作”的部分。如果将AP参数设置为> 1它将启用此模式。

    如果您在API模式下从终端设备向协调器发送一些数据,您将看到无线电中出现RX帧(API类型0x81)。同样,如果您使用API​​类型0x01发送类似格式的数据包并指定终端设备的MY地址作为目标,您将看到数据从终端设备XBee的串行端口出现。

    如果您搜索“XBee API库”,您会发现许多有用的链接库,可以使用您选择的语言与Digi XBee模块对话,例如this handy one for the Java language