我是 LoRa 新手。我尝试将 Lora GW 和 GPS 追踪器 LW001-BG 连接到 The Things Network,它成功连接到 TTN。但是如何将 GPS 数据转换或解码为经纬度格式呢?
这里是文档。我收到这样的数据格式
02 01 56 F8 0B 45 F4 29 32 46
,我需要将其转换/解码为可读格式。
谢谢,我希望有人能帮助我。
消息的有效负载位于字节 3-6(针对纬度)和 7-10(针对经度)。前两个字节表示有多少个包(两个)以及当前是哪个包(第一个)。
四个字节代表一个32位浮点值;在您的示例中,纬度为 2239.5210。这意味着 22 度、39 分 31.26 秒(这是小数乘以 60)。
您可以在在线转换器中看到这一点:由于字节顺序是最低字节在前,因此您需要将其反转,将其转换为二进制,然后选中二进制表示中的复选框:
54 F8 0B 45
变为 45 0B F8 56
或二进制
01000101000010111111100001010110
这里第一位是符号,后面是 8 位指数和 23 位尾数。十进制表示形式为 2239.52099609,您丢弃第四位之后的所有数字,得到 2239.5210(四舍五入)。
根据您处理此数据的方式,您也许可以简单地将其转换为
float
变量,因为它们通常遵循 32 位 IEEE 754 标准。