декодирование данных lorawan gps трекер Moko LW001-BG Сеть Thethings

Я новичок в Lora, я лоток для подключения моего Lora GW и GPS-трассировщика LW001-BG к The things Network, и он успешно подключился к TTN, но как преобразовать или декодировать данные из GPS в формат latlong? вот документация http://doc.mokotechnology.com/index.php?s=/2&page_id=143 Я получаю данные в таком формате 02 01 56 F8 0B 45 F4 29 32 46, и мне нужно преобразовать / декодировать их в читаемый формат, спасибо. Надеюсь, кто-то может мне помочь.


person I AM ZAIN    schedule 03.11.2020    source источник


Ответы (1)


Полезная нагрузка сообщения находится в байтах 3-6 (для широты) и 7-10 (для долготы). Первые два байта указывают количество пакетов (два) и текущий (первый).

Четыре байта представляют собой 32-битное значение с плавающей запятой; в вашем примере это 2239,5210 для широты. Это означает 22 градуса, 39 минут и 31,26 секунды (что является дробью, умноженной на шестьдесят).

Вы можете увидеть это в онлайн-конвертере: Поскольку порядок байтов сначала младший байт, вам нужно отменить его, преобразовать в двоичный, а затем установить флажки в двоичном представлении:

54 F8 0B 45 становится 45 0B F8 56 или двоичным

01000101000010111111100001010110

Здесь первый бит - это знак, за которым следуют 8 бит экспоненты и 23 бита мантиссы. Десятичное представление - 2239,52099609, и вы отбрасываете все цифры после четвертой, чтобы получить 2239,5210 (с округлением).

В зависимости от того, как вы обрабатываете эти данные, вы можете просто преобразовать их в переменную float, поскольку они обычно следуют 32-битному стандарту IEEE 754.

person Oliver Mason    schedule 03.11.2020