Xbee、Arduino&;处理设计查询

Xbee、Arduino&;处理设计查询,arduino,wifi,processing,serial-communication,xbee,Arduino,Wifi,Processing,Serial Communication,Xbee,我有一个处理草图,可以将基本的串行命令输出到xbee。 然后我有两个(很快就3岁,也许4岁)arduino和他们自己的xbee,他们接收数据并做一些事情 每个Arduino都有自己的目的,因此它有自己的数据包 所以,要实现这一点。有没有办法向特定的xbee发送消息?也就是说,我可以为xbee分配某种索引或频道,然后让广播xbee向它需要的任何索引或频道发送数据吗 或者,这是否需要在Arduino软件中实现? i、 e.处理带有索引/标识符的数据包前缀,arduino是否忽略带有该前缀的传入消息

我有一个处理草图,可以将基本的串行命令输出到xbee。 然后我有两个(很快就3岁,也许4岁)arduino和他们自己的xbee,他们接收数据并做一些事情

每个Arduino都有自己的目的,因此它有自己的数据包

所以,要实现这一点。有没有办法向特定的xbee发送消息?也就是说,我可以为xbee分配某种索引或频道,然后让广播xbee向它需要的任何索引或频道发送数据吗

或者,这是否需要在Arduino软件中实现? i、 e.处理带有索引/标识符的数据包前缀,arduino是否忽略带有该前缀的传入消息

还是完全有另一种选择:p


提前感谢您的建议。

据我所知,您希望能够分辨出与您发送数据的Xbee的不同之处。您可以通过使用IP地址来实现这一点。例如,如果您有两个带有IPs的XBEE:

  • Xbee1-192.168.80.50
  • Xbee2-192.168.80.51
  • Xbee3-192.168.80.52
您只需将启动通信的Xbee连接到接收信息的Xbee,即可在它们之间发送信息。如果您想通过无线网络(或以太网)进行任何类型的通信,必须为每个Xbee分配一个IP

编辑:
如果您在自己制作的计算机上有一台服务器,例如Java。您可以将Xbee连接到该服务器,并将其中一个连接到计算机服务器。然后,您可以设置服务器以接收数据并将数据发送到不同的Xbee客户端

我做了类似的事情:,但我没有使用Xbee,我使用了官方的WiFi屏蔽

希望这有帮助!
-Kad虽然不是您问题的具体答案,但对于这种类型的通信,一些数据包错误检查将是有益的。使用crc错误检查算法发送数据。数据包结构可能类似于:

0x7F 0x02 (Address Bytes) (Command Bytes) (CRC bytes) 0x7F 0x03
其中0x7F是DLE字符,用于指示后面将跟一个开始字节,后面将跟一个结束字节,或者后面将跟一个值为DLE的数据字节。这意味着作为地址或命令一部分的任何DLE字符前面都应该有一个“填充”DLE字符。CRC根据地址和命令字节计算,用于检查所接收数据的完整性。CRC校验字节包含在每个数据包中

这种类型的通信将防止发送到错误源的数据包被使用,也防止错误的数据包被使用


要阅读有关串行帧的更多信息,请从这里开始:。

这是否仅适用于Xbee Wifi模块?还是所有Xbee设备?所有通过网络进行通信的设备都需要有一个IP地址才能工作。因此,它适用于所有wifi模块,也适用于以太网模块。