我用三个NonBeacon系列1模块建立了一个XBee (W/协调员)网络。其中一个被配置为协调器。另外两个设备被配置为终端设备。固件版本和配置如下所示。
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就可以接收数据了。我不确定这是否是解决终端设备间通信问题的好办法。还有别的解决办法吗?
发布于 2012-05-31 19:05:30
使用Digi XBee 802.15.4模块(也称为Digi XBee系列1模块),使用坐标上的广播与终端设备通话是不受惩罚的。
另一方面,如果您希望能够在任何两个Digi XBee 802.15.4模块之间建立通信,则需要使用单播寻址。单播寻址以下列方式执行:
如果必须更改协调器上的DL参数,以便能够依次与每个终端设备对话,则可能会非常笨拙。这就是为什么许多人以API模式使用Digi XBee收音机的原因。
如果您从Digi XBee 802.15.4支持页面的文档部分下载手册,您将发现一个名为"API操作“的部分。如果将AP参数设置为>1,则将启用此模式。
如果您在API模式下将一些数据从终端设备发送到协调器,您将看到RX帧(API类型为0x81)从收音机中出现。同样,如果使用API类型0x01发送类似格式的数据包,并指定终端设备的MY地址作为目的地,您将看到数据从终端设备XBee的串口中出现。
如果您搜索"XBee API库“,您将发现许多有用的库链接,它们可以使用您选择的语言(如这是Java语言的方便之处。 )与Digi XBee模块对话。
https://stackoverflow.com/questions/10763334
复制相似问题