Events

:

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    YouTube

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden

    Der Technik-Blog

    TTGO LILYGO GPS Problem

    TTGO/LILYGO GPS-Problem

    Alex @ AEQ-WEB

    In letzter Zeit gab es vermehrt Anfragen zum TTGO & LILYGO ESP32 GPS-Board bezüglich eines nicht funktionierenden GPS-Moduls. Leider gibt es bei diesen Boards über die Jahre immer wieder Updates mit verschiedenen Änderungen an der Hardware oder am Pin-Mapping. So wurde das Projekt LoRaWAN GPS Tracker vor einem Jahr mit einem TTGO/LILYGO-Board Version T22_V1.1 20191212 entwickelt und getestet. Bei diversen Händlern wie Amazon etc. werden mittlerweile neuere Modelle mit z.B. der Versionsnummer T22_V1.1 20220222 ausgeliefert, wo offensichtlich das GPS-Modul auf den ersten Blick nicht richtig funktioniert.

    Was ist passiert?

    Viele LoRaWAN GPS-Projekte mit dem TTGO T-BEAM & LILYGO-Board arbeiten mit NMEA-Datensätzen. Das NEO6 GPS-Modul sendet aktuelle Positionsdaten in einem bestimmten Intervall über eine serielle Schnittstelle im NMEA-Format aus. So enthält der GGA-Datensatz beispielsweise die aktuelle Position (Breitengrad & Längengrad), Höhe, Anzahl der GPS-Satelliten uvm. Anschließend wird dieser Datensatz von einem Mikrocontroller seriell empfangen und in einzelne Parameter zerlegt. Bei neueren NEO6 GPS-Modulen auf den TTGO-Boards wurde diese Datenübertragung vom Hersteller deaktiviert und muss ab sofort vom Anwender selbst wieder aktiviert werden.

    Werbung:

    Wie wird NMEA aktiviert?

    Die Aktivierung erfolgt direkt über den Mikrocontroller selbst. Dazu wird über die Arduino-IDE ein kleiner Programmcode hochgeladen, der mittels einer Abfolge von seriellen Befehlen das NMEA-0183 Protokoll und somit den GGA-Datensatz wieder aktiviert. Diese Aktivierung muss in der Regel einmalig durchgeführt werden und bleibt anschließend im GPS-Modul dauerhaft gespeichert. Zusätzlich muss vor dem Programm-Upload noch folgende Bibliothek installiert werden: Sparkfun Ublox Arduino Library

    Folgendes Codebeispiel aktiviert NMEA-0183 auf einem NEO6 GPS Modul:

    //More information at: https://www.aeq-web.com
    
    #include <SparkFun_Ublox_Arduino_Library.h>
    
    #define SERIAL1_RX 34 // GPS_TX -> 34
    #define SERIAL1_TX 12 // 12 -> GPS_RX
    
    SFE_UBLOX_GPS NEO6GPS;
    
    void setup()
    {
      Serial.begin(115200);
      while (!Serial);
      Serial.println("Serial is open now");
      Serial1.begin(9600, SERIAL_8N1, SERIAL1_RX, SERIAL1_TX);
      delay(300);
    
      do {
        if (NEO6GPS.begin(Serial1)) {
          Serial.println("GPS connection ok");
          NEO6GPS.setUART1Output(COM_TYPE_NMEA);
          NEO6GPS.saveConfiguration();
          Serial.println("Enable NMEA");
          NEO6GPS.disableNMEAMessage(UBX_NMEA_GLL, COM_PORT_UART1);
          NEO6GPS.disableNMEAMessage(UBX_NMEA_GSA, COM_PORT_UART1);
          NEO6GPS.disableNMEAMessage(UBX_NMEA_GSV, COM_PORT_UART1);
          NEO6GPS.disableNMEAMessage(UBX_NMEA_VTG, COM_PORT_UART1);
          NEO6GPS.disableNMEAMessage(UBX_NMEA_RMC, COM_PORT_UART1);
          NEO6GPS.enableNMEAMessage(UBX_NMEA_GGA, COM_PORT_UART1);
          NEO6GPS.saveConfiguration();
          Serial.println("NMEA-GGA for AEQ-WEB GPS-Tracker enabled!");
          break;
        }
        delay(1000);
      } while(1);
    }
    
    void loop()
    {
      if (Serial1.available()) {
        Serial.write(Serial1.read());
      }
    } 
    

    Nachdem der Beispielcode erfolgreich auf das Board hochgeladen wurde, sollte im Serial-Monitor folgende Ausgabe angezeigt werden:

    Werbung:

    Dieses Beispiel deaktiviert einige NMEA-Datensätze und aktiviert lediglich GGA, welches für das Projekt TTGO/LILYGO LoRaWAN GPS Tracker notwendig ist.

    Generell sollte zuvor überprüft werden, ob das GPS-Modul überhaupt mit Energie versorgt wird. Viele Boards verfügen über einen Power-Management-IC wie zum Beispiel den AXP192, wo die Energieversorgung softwareseitig erst freigeschaltet werden muss. Betreibt man das Board im Freien, so sollte nach rund 5 Minuten (in Ausnahmefällen auch 10 Minuten) die GPS-LED von NEO6 anfangen zu blinken. Ist dies nicht der Fall, muss zuerst die Energieversorgung vom GPS-Modul geprüft werden.


    122X122

    Über den Autor

    Alex, der Gründer von AEQ-WEB. Seit über 10 Jahren beschäftigt er sich mit Computern und elektronischen Bauteilen aller Art. Neben den Hardware-Projekten entwickelt er auch Webseiten, Apps und Software für Computer.

    Top Artikel in dieser Kategorie:

    LHT65 TTN V3 Webhook PHP Webapp

    LHT65 TTN Webapp

    • DE/EN

    The Things Network kümmert sich lediglich um den Transport von LoRaWAN-Paketen, jedoch nicht um die Speicherung. Hier geht es um die Entwicklung einer Webapp.

    Weiterlesen
    Arduino PT100 Temperature Sensor Converter

    PT100 Arduino Sketch

    • Video
    • DE/EN

    Beispielcode für den PT100 Temperatursensor an einem Arduino

    Weiterlesen

    Social Media

    YouTube

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden