Python + Xbee - 解释模拟样本的二进制数据

时间:2014-04-14 12:45:31

标签: python xbee zigbee

我一直在使用Digi Xbee Series 2(ZigBee)模块开展项目。我有一个python脚本,它接收我的协调器设备上的数据并将其保存到数据库中。此脚本一直在查找并解析返回数据中的“samples”键。

我已经购买了Digi XBee L / T / H传感器(http://www.digi.com/wiki/developer/index.php/XBee_Sensors)并发现它使用“rf_data”键返回数据。这似乎是二进制的。我无法处理它并从中读取实际值。

有人能告诉我是否可以重新编程传感器以发送“samples”键,或者如何读取/转换二进制数据?

我一直试图这样做:

h=struct.unpack('f',response['rf_data'][0:4])[0]

但是我完全不知道自己在做什么; - )

提前感谢您提供任何帮助....

1 个答案:

答案 0 :(得分:1)

它正在返回I / O示例,如Digi knowledge base article中所述。

您链接的页面包含将ADC读数转换为温度,湿度和光读数的公式。

python-xbee documentation的第3.2节似乎暗示I / O样本从版本2.1开始被解析。确保您使用的是该版本,并查看您是否可以访问I / O样本的adc-1adc-3,并将读数转换为光照,温度和湿度值。