You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ru/3-transport/lessons/1-location-tracking/wio-terminal-gps-decode.md

5.0 KiB

Расшифровка данных GPS - Wio Terminal

В этой части урока вы расшифруете сообщения NMEA, полученные от GPS-датчика на Wio Terminal, и извлечете широту и долготу.

Расшифровка данных GPS

После того как необработанные данные NMEA будут считаны с последовательного порта, их можно расшифровать с помощью библиотеки NMEA с открытым исходным кодом.

Задание - расшифровка данных GPS

Запрограммируйте устройство для расшифровки данных GPS.

  1. Откройте проект приложения gps-sensor, если он еще не открыт.

  2. Добавьте зависимость от библиотеки TinyGPSPlus в файл platformio.ini проекта. Эта библиотека содержит код для расшифровки данных NMEA.

    lib_deps =
        mikalhart/TinyGPSPlus @ 1.0.2
    
  3. В файле main.cpp добавьте директиву include для библиотеки TinyGPSPlus:

    #include <TinyGPS++.h>
    
  4. Под объявлением Serial3 объявите объект TinyGPSPlus для обработки предложений NMEA:

    TinyGPSPlus gps;
    
  5. Измените содержимое функции 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. После каждого символа он проверяет, прочитал ли декодер корректное предложение, а затем проверяет, была ли получена корректная локация. Если локация корректна, она отправляется в монитор порта вместе с количеством спутников, которые участвовали в определении местоположения.

  6. Соберите и загрузите код на Wio Terminal.

  7. После загрузки вы можете отслеживать данные о местоположении 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. Несмотря на наши усилия обеспечить точность, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.