【发布时间】:2015-12-15 09:43:45
【问题描述】:
我有两个 XBees S1-one 连接到一个温度传感器。该 Xbee 读取模拟值,借助 ADC 将其转换为数字值并进行传输。 另一个 XBee - 接收器,通过 USB Explorer 连接到计算机。 这个 XBee 在 API 模式下工作。连接到计算机的 XBee 接收发射器发送的数据。我使用 X-CTU 软件 6.2.0 版监控接收到的值。到目前为止,一切正常。
但是,我遇到的问题是计算机上接收到的数据是编码的:有接收方地址对应的位,发送方地址对应的位,数据本身,确认位等。我的问题是我怎样才能只提取数据位而没有发送器发送的所有其他信息?
我尝试使用 USB 转 TTL 电缆读取值,将此电缆连接到 Tx、Rx、GND 和 5V(尽管 XBee 在 3.3V 下工作,但 USB Explorer 中有 5V 输入)接收器 XBee 并在 Linux 中使用 screen 命令。但是,通过这种方式我收到 ASCII 字符,我想收到二进制代码。 我想将这些值放入数据库中,以便以后能够处理它们。
感谢您的帮助。
【问题讨论】:
-
您需要解码 API 帧——头字节、帧长度、帧类型等。阅读文档以了解格式,并编写代码来处理您收到的字节。那里有许多语言的库,请查看 examples.digi.com/quick-reference 以获取它们的列表。