通过XBee模块传输.csv文件

时间:2018-04-23 14:03:15

标签: raspberry-pi wireless transfer xbee

我们已经建立了一个可以收集数据的监控系统。该系统由几个带有附加加速度计的RPi组成,可将数据记录到.csv文件中。 RPi是如此分散,以至于彼此无法接触到他们自己创造的PiFY。

我们使用XBee S1和Digimesh 2.4增加范围,通过XCTU提供RPi的命令。 XBee模块设置为路由器。我们可以开始和停止数据收集。

现在我们有兴趣将收集的数据(.csv文件)传输到主RPi。如何通过这些XBee模块完成?

1 个答案:

答案 0 :(得分:0)

我建议在Python中进行任何编码,并使用pyserial模块在串行端口上发送/接收数据。开始使用它非常简单。

通过ATAP=0DLDH设置为0,将路由器配置为“AT模式”(也称为“透明串行模式”)(告诉它使用协调器作为所有串行数据的目的地。

简单协调员解决方案

让路由器在每个CSV记录中包含某种节点ID,然后在“AT模式”下配置协调器。这样,它将从多个源接收CSV记录,并将它们从串行端口转储出来。只要您从每个路由器发送完整的数据行,就不应该在协调器上看到损坏的CSV记录。

更复杂的协调员解决方案

通过ATAP=1以“API模式”配置协调器。选择一种您熟悉的编程语言,如C,Java或Python,并从他们的GitHub repository中获取Digi的开源“主机库”。

协调器将在API帧内接收CSV数据,以便识别发送数据的源设备。使用此配置,您可以轻松地将数据发送回特​​定设备或使用远程AT命令更改路由器上的I / O.

请注意,无论使用哪种设置,RPi都无需创建文件 - 只要数据准备就绪,它就可以发送CSV行。只需确保您正在进行一个完整的线路并通过一次“串行写入”调用发送它,以确保它不会通过无线方式分成多个数据包。