TTGO T-Call 1.3 (Lilygo)

Last Updated on 11. Dezember 2020 by sfambach

TTGO T-Call 1.3 ist ein ESP32 Modul, dass mit Hilfe des SIM800L Chips einen GSM Zugang bietet. Ich habe das Modul in Verbindung mit einer ThingsMobile Simkarte getestet.

Fakten

  • ESP32 und SIM800L Chip
  • Micro-Sim Slot
  • Antennenanschluss
  • Reset Taster
  • Anschluss für einen Akku
  • USB 3.1 Typ C Anschluss

Pinout

Quelle: https://github.com/Xinyuan-LilyGO/TTGO-T-Call/blob/master/datasheet/

Anwendungsbereiche

  • GPS Tracker (Braucht GPS Modul)
  • Smarte Autosteuerung
  • Hausautomation
  • Alarmanlagen
  • Wetterstationen
  • Überall dort einsetzbar wo es GSM aber kein WIFI gibt …

Ansichten

Programmierung

Vorbereitung

Ich verwende eine SIM-Karte von Things Mobile.

Things Mobile Sim Karte
Things Mobile Sim Karte

Diese wird bis zur MicroSD Karte herausgeborchen und muss dann in den Kartenslot auf der Rückseite des TTGO Moduls gesteckt werden. Zum öffnen der Abdeckung, diese vorsichtig in Pfeilrichtung „open“ (Im Bild nach rechts) schieben.

TTGO T-Call 1.3 Telefonkarte im Halter
TTGO T-Call 1.3 Telefonkarte im Halter

Dann muss noch die GSM Antenne aufgesteckt werden:

TTGO T-Call 1.3 mit aufgesteckter GSM Antenne
TTGO T-Call 1.3 mit aufgesteckter GSM Antenne

Bibliotheken

Zur Ansteuerung des Sim800L Chips wird eine Bibliothek benötigt. Es gibt mehrere Implementierungen ich habe die TinyGSM verwendet, hier der Link:

https://github.com/vshymanskyy/TinyGSM

Die Bibliothek kann über den Bibliothekar 😉 installiert werden.

Ich verwende die Version 0.7.9 da die neuste und ein paar alte Versionen nicht compiliert haben.
Ich verwende aktuell die Version 0.10.1. Diese Version funktioniert bei mir nur mit der neusten ESP32 Anbindung (Version 1.0.4)

Testprogramme

Erster Test – Beispiel von TTGO

Das Beispiel von GIT-Hub herunterladen, hier der Link:

ArduinoTinyGSM

Für thingsmobile habe ich nur als APN „TM“ einragen müssen:

Code-Ausschnitt für Setup

Wenn ihr einen Benutzer, Passwort oder Sim Pin habt, muss diese hier auch noch eingetragen werden.

Das Projekt noch bauen und auf den ESP spielen. Folgende Einstellungen habe ich für den ESP32 verwendet (Comport bitte an euren anpassen):

So schaut es dann auf der Console aus:

Consolen Ausgabe

SMS Senden

Auch wenn SMS Schreiben nicht zu meinen bevorzugten Kommunikationsformen zählt, ist es doch eine der wichtigeren für ein mobiles Gerät wie dieses. Deshalb habe ich mir noch das AllFunctions-Beispiel aus der TinyGSM Bibliothek genommen und es an das Board angepasst:

Telefonnummer an der gekennzeichneten Stelle eintragen und auf das Modul spielen. Nachdem es gebootet hat solltet ihr eine SMS Erhalten.

Probleme

Projekt lässt sich nicht Compilieren

Bei mir haben einige Versionen der TinyGSM Lib nicht funktioniert. Einfach mal ein paar Versionen ausprobieren. Ich bin bei Version 0.7.9 gelandet.

NACHTRAG: Mit update der ESP32 Bibliotheken auf Version 1.0.4 hat auch die aktuelle Version 0.10.1 der TinyGSM Bibliothek bei mir funktioniert.

Sonstiges

Andere Anbieter für SIM Karten

Wenn man nicht viel Datenvolumen braucht bieten sich jegliche Pre-Payed Karten an. Hier ein paar (not sponsored) links zu den Anbietern.

Fazit

Nettes Board, Dank der Beispiele des Herstellers und der Bibliothek leicht zu Programmieren. Auch der Preis von rund 14€ kann überzeugen.

Verwandte Beiträge

Quellen

Github Lib

Hersteller Lilygo

https://randomnerdtutorials.com/esp32-sim800l-publish-data-to-cloud/

https://www.hardwareschotte.de/magazin/usb-standards-im-ueberblick-a41540

11 Gedanken zu „TTGO T-Call 1.3 (Lilygo)

  1. Hallo Stefan, danke ebenfalls für die gute Zusammenstellung von Infos. Damit bin ich prima umgestiegen von ersten ESP8266 Prototypen.
    Mein Ziel war ein GSM/GPS Modul, das über secure websocket Positionsdaten versendet.
    Als ich feststellte, dass ich mit den Arduino-Biblitotheken die Kombi aus PPPoS, WSS und GPS nicht hinbekomme, musste ich auf das gruselige ESP-IDF SDK wechseln. Auch dort sind viele Beispiele für alle Einzelkomponenten vorhanden, aber man taucht in die Analen der C-Programmierung ab.
    Mit ein paar Modifikationen (richtige UART-Konfig, richtigen RX-pin, Aufstocken der Buffer) lief dann gestern abend erstmals alles und ich zog mir voll hart ein alkoholfreies Bier rein!
    Als SIM-Karte benutze ich die kostenlosen Datenkarten von Netzclub (200MB for free, danach Geschwindigkeits-Drosselung auf 64kBit/s, das passt für meine Anforderungen).
    Ich hoffe, die Zeit zu finden, mein Projekt zu einem Sample mit Kommentaren runterzustrippen und schiebe dann noch einen Link hier im Forum nach.
    vg Markus

    1. Hallo Markus,
      vielen Dank für deinen Beitrag. Mit der Espressif IDF habe ich auch mal „gespielt“ man kommt an ihr nicht vorbei. Gerade wenn man den neuen ESP32-S2 programmieren möchte hat man sonst keine andere Wahl. Der Code der IDF ist wie ich finde expotentiell schwerer zu lesen, aber die aktuellsten Änderungen sind in der IDF zu erwarten. Ich überlege auch auf diese umzusteigen.
      Die kostenlose Datenkarte finde ich Toll habe sie gleich mal mit in den Beitrag aufgenommen

      Gruß
      Stefan

  2. Vielen Dank für das SMS Beispiel. Ich habe mir noch folgendes GPS-Modul (GPS Module GPS-NEO-6M-00) dazu gekauft und an TX und RX der Anschlüsse angelötet. Ich bekomme es aber nicht hin, darüber mit TinyGPS++ und auch vielen anderen Methoden, davon GPS Daten zu empfangen. Ich verwende als TX = 1, RX = 3 im Programmcode. Habe auch schon viele andere Pin-Nummern ausprobiert, aber nichts funktioniert. Hast Du eine Idee?

    “’#include
    #include

    // The TinyGPS++ object
    TinyGPSPlus gps;
    HardwareSerial SerialGPS(1);

    void setup() {
    Serial.begin(115200);
    SerialGPS.begin(4800, SERIAL_8N1, 3, 1);
    }

    void loop() {
    while (SerialGPS.available() > 0) {
    gps.encode(SerialGPS.read());
    if (gps.location.isUpdated()) {
    Serial.print(„Latitude= „);
    Serial.print(gps.location.lat(), 6);
    Serial.print(“ Longitude= „);
    Serial.println(gps.location.lng(), 6);
    }
    }
    }“‘

    1. Hallo Tinkerpete,

      einen konkreten Verdacht habe ich nicht, evtl. ein paar Anhaltspunkte. Ich hatte das neo6 V2 mal getestet, der Link ist hier:

      https://www.fambach.net/gy-neo6mv2-gps-modul/

    2. Bei mir war die Verbindungsgeschwindigkeit 9600 Boud, soweit ich das sehen kann bestätigen das auch ein paar ander Seiten im Netz, versuchs mal damit.
    3. Pin 1 und 3 sind soweit ich weiss schon für Uart0 (Serial), das sollte sich dann evtl. mit dem USB beissen
    4. Uart1/Serial1 wird wohl für den Flash Speicher verwendet
    5. somit bleibt noch Uart2/Serial2 (GPIO 17 and GPIO 16)
    6. So richtig konnte ich das aus dem ESP Datenblatt nicht rauslesen, aber ich glaube die Pins sind relativ frei konfigurierbar.
      Andreas Spies hat da ein Video zu gemacht, was ich allerings noch nicht gesehen habe: youtu.be/GwShqW39jlE?t=182

      In meinem Beispiel habe ich nicht explizit den Hardware Serial verwendet sondern den Serial2 und ihm Pins und ne Boudrate zugewiesen.
      Was du auch probieren kannst ist der SoftwareSerial, Hier sollte jeder Bidirektionale IO Port funktionieren.

      Gruß
      Stefan

      1. Vielen Dank für Deine ausführliche Antwort. Im Moment habe ich das GPS Modul wieder abgelötet und an einen Uno gesteckt. Dort gab es auch erst Probleme, aber jetzt bekomme ich endlich einmal die Ausgaben des GPS Moduls über RX=2 und TX=3 zu sehen! Es ist also zu mindestens nicht defekt. Jetzt versuche ich eine differenziertere Ausgabe mit TinyGPSPlus, was aber merkwürdigerweise nicht mit allen Beispielen aus dem Netz funktioniert. Wenn ich es wieder am T-Call habe, probiere ich die von Dir genannten GPIO 17 und GPIO 16 aus.

        1. Hallo,

          Etwas längerer Nachtrag bei mir sind GPIO16/17 auf der Oberseite mit (NC) not connected gekennzeichnet.
          Ich habe jetzt mal mein Beispiel mit Pin 32/33 getestet und es funktioniert (mit 9800 Boud).
          Ich muss dazu sagen, dass ich jetzt nur das Neo6-M Modul angesprochen habe und keine weiteren Komponenten.
          Was mir noch eingefallen ist, manche module sind etwas wählerisch bei der Versorgungsspannung, diese könnte man mal testweise (zumindest bei meinem Modul, vorher im Datenblatt nachsehen) auf 5V setzen.

          Gruß Stefan

    1. Aktuell habe ich es noch nicht geschafft, eine SMS mit dem Beispielcode zu versenden.
      Ich verwende eine Prepaid-Simcard von Blau, die eigentlich in einem GPS-Tracker verbaut ist und zu Testzwecken „leihweise“ entnommen wurde.
      Habe mir gestern 2 Sim-Karten von Things-Mobile bestellt.
      Wenn die Karten eintrudeln, gehts in die 2.Runde 😉
      Viele Grüße
      thomas

  3. vielen dank fuer deinen beitrag.
    habe mir auch ein paar dieser chips besorgt und konnte dank deiner beschreibung sofort loslegen.
    war bisher nur mit den kleinen wemos unterwegs und betrete mit dem gsm modul neuland.
    auch der tip bzgl. der sim-karte ist vielversprechend
    danke

Schreibe einen Kommentar zu Thomas Ferl Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert