4.9 KiB
Розшифрування даних GPS - Wio Terminal
У цій частині уроку ви розшифруєте повідомлення NMEA, отримані від GPS-датчика за допомогою Wio Terminal, і витягнете широту та довготу.
Розшифрування даних GPS
Після того, як необроблені дані NMEA були отримані з послідовного порту, їх можна розшифрувати за допомогою бібліотеки NMEA з відкритим кодом.
Завдання - розшифрувати дані GPS
Програмуйте пристрій для розшифрування даних GPS.
-
Відкрийте проект додатка
gps-sensor
, якщо він ще не відкритий. -
Додайте залежність бібліотеки TinyGPSPlus до файлу
platformio.ini
проекту. Ця бібліотека містить код для розшифрування даних NMEA.lib_deps = mikalhart/TinyGPSPlus @ 1.0.2
-
У файлі
main.cpp
додайте директиву включення для бібліотеки TinyGPSPlus:#include <TinyGPS++.h>
-
Під оголошенням
Serial3
оголосіть об'єкт TinyGPSPlus для обробки речень NMEA:TinyGPSPlus gps;
-
Змініть вміст функції
printGPSData
на наступний:if (gps.encode(Serial3.read())) { if (gps.location.isValid()) { Serial.print(gps.location.lat(), 6); Serial.print(F(",")); Serial.print(gps.location.lng(), 6); Serial.print(" - from "); Serial.print(gps.satellites.value()); Serial.println(" satellites"); } }
Цей код зчитує наступний символ із послідовного порту UART у декодер NMEA
gps
. Після кожного символу він перевіряє, чи декодер прочитав дійсне речення, а потім перевіряє, чи було прочитано дійсне місцезнаходження. Якщо місцезнаходження дійсне, він надсилає його до серійного монітора разом із кількістю супутників, які сприяли цьому визначенню. -
Зберіть і завантажте код на Wio Terminal.
-
Після завантаження ви можете відстежувати дані про місцезнаходження GPS за допомогою серійного монітора.
> Executing task: platformio device monitor < --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- 47.6423109,-122.1390293 - from 3 satellites
💁 Ви можете знайти цей код у папці code-gps-decode/wio-terminal.
😀 Ваше програмування GPS-датчика з розшифруванням даних пройшло успішно!
Відмова від відповідальності:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.