TTGO T-Beam – Kompakter Knochen zum Mappen

Der TTGO T-Beam ist momentan mein liebster Node. Er ist relativ kompakt und leistungsstark und eignet sich hervorragend als Node für den TTN Mapper. Hinzu kommt ein erschwinglicher Preis von ca. 20€. Wer die erste Gehversuche starten möchte, dem sei das GitHub Archiv von DeuxVis empfohlen. Hier ist alles enthalten um seinen T-Beam in einen Mapper Node zu verwandeln. Angefangen beim Sketch, bis hin zum Payload Decoder ist alles dabei. Die erwähnte Brücke von Lora1 nach GPIO33 ist nicht unbedingt nötig.

Das hat mir jedenfalls sehr geholfen und ich bin mit dem T-Beam schnell warm geworden. Was ihr unbedingt wechseln solltet, ist die Antenne. Diese ist wirklich schlecht, aber das sollte ja kein Problem sein.

Pin Mapping

TTGO T-Beam Pin Map
GPIO #ESP32 Pin #U12 Pin #U14 Pin #ESP32 ModulePin NameNotes
GPIO_0235GPIO0(goes off page)
GPIO_1411UART0U0TXDTXD to CP2104
GPIO_2223GPIO2
GPIO_3402UART0U0RXDRXD from CP2104
GPIO_4244GPIO4
GPIO_534GPIO5LORA CLK
GPIO_631SDSD_CLKTo FLASH clock
GPIO_732SDSD_DATA_0To FLASH, PSRAM data 0
GPIO_833SDSD_DATA_1To FLASH, PSRAM data 1
GPIO_928SDSD_DATA_2To FLASH, PSRAM data 2
GPIO_1029SDSD_DATA_3To FLASH, PSRAM data 3
GPIO_1130SDSD_CMDTo FLASH chip select (active low)
GPIO_1218UART1MTDIRXD from GPS
GPIO_13204GPIO13
GPIO_14175GPIO14Blue LED (0=off, 1=on)
GPIO_1521UART1MTDOTXD to GPS
GPIO_1625GPIO16To PSRAM chip select (active low)
GPIO_1727GPIO17To PSRAM clock
GPIO_1835GPIO18To LoRa chip select (active low)
GPIO_1938GPIO19To LoRa MISO
GPIO_20GPIO_20 does not exist
GPIO_214210GPIO21I2C SDA
GPIO_22399GPIO22I2C SCL
GPIO_23363GPIO23To LoRa reset (active low)
GPIO_24GPIO_24 does not exist
GPIO_25146GPIO25
GPIO_2615GPIO26To LoRa DIO0 (interrupt)
GPIO_2716GPIO27To LoRa MOSI
GPIO_28GPIO_28 does not exist
GPIO_29GPIO_29 does not exist
GPIO_30GPIO_30 does not exist
GPIO_31GPIO_31 does not exist
GPIO_3212832K_XPTo LoRa DIO2 (interrupt)
GPIO_331332K_XNTo LoRa DIO1 (interrupt)
GPIO_341010VDET_1
GPIO_3511VDET_2
GPIO_36513TouchSENSOR_VP
GPIO_376TouchSENSOR_CAPP
GPIO_387TouchSENSOR_CAPN
GPIO_39812TouchSENSOR_VNSW5

Pass Through

Der verbaute U-Blox Neo-6M ist jedenfalls einer der besseren GPS Chips und kann mit der u-center Software von u-blox verwaltet werden. Also wer sich für den Chip interessiert, sollte ruhig mal etwas tiefer graben. Per Default ist jedenfalls SBAS aktiv und das Dynamic Model ist auf Portable gestellt. Diese werte könnt ihr über die Software komfortabel verwalten, es ist aber auch möglich diese Daten dem GPS-Chip per Programmierung mitzugeben.

Um direkt mit dem GPS Chip kommunizieren zu können, müsst ihr einen Pass Through Sketch auf den T-Beam laden. Diesen findet ihr auf GitHub.

In der u-center Software, wählt ihr nun euren seriellen Port aus und stellt die Baudrate auf 115200 ein, danach solltet ihr sofort eine Verbindung bekommen. Fraglich ist hier aktuell, wie lange die kleine Pufferbatterie die Daten halten kann.

OLED Support

Der T-Beam lässt sich, je nach Display, sehr einfach um ein OLED Display erweitern. Die nötigen Kontakte sind alle schön nebeneinander angeordnet. Leider ist es nicht möglich in der Adafruit Library einen freien I²C Port auszuwählen. Jedoch hat sich ein User dem Problem angenommen und die Library gepatched. Ich habe den TTN-Mapper Node von DeuxVis geforked und entsprechend erweitert. Alle nötigen Files liegen auf GitHub. GPIO22 ist für SDA und GPIO21 für SCL. Meine Version funktioniert nur bis zur Hardware Version V07.

Heinrich Hottarek hat das Thema noch etwas erweitert, ihr findet sein Version ebenfalls auf GitHub, hier werden auch die neueren Hardware-Versionen unterstützt. Ich würde euch zu Heinrichs Variante raten.

Fazit

Für knapp 20€ erhalten wir einen wirklich guten Node, der sich hervorragend als zum Mappen eignet. Der GPS-Chip findet schnell einen Fix und liefert sehr gute Positionsdaten. Die Bauform ist relativ kompakt und er lässt sich über eine 18650 Zelle sehr einfach mit Strom versorgen. Zu der Laufzeit kann ich bisher noch nichts sagen, da ich den Node bisher noch nicht habe durchlaufen lassen. Im vergleich mit meinem selbst gebauten Mapper-Node, habe ich hier etwas besseren Empfang und einen schnelleren GPS Fix.

91 Gedanken zu „TTGO T-Beam – Kompakter Knochen zum Mappen“

  1. Bei meinem T-BEAM ist die GPS Antenne ziemlich mies. Auf dem Fensterbrett bekomme ich auch nach 15min keinen GPS fix. Wenn ich auf eine andere keramische Antenne gehe (quadratische Bauform, ca 30x30mm) habe ich den Fix innerhalb von Minuten.
    Wie sieht das bei deinem aus?

    Antworten
    • Hallo Reinhard,

      ich kann mich wirklich nicht beklagen. Ich bekomme, selbst an der Fensterbank, zügig einen Fix. Und zügig ist hier innerhalb ein paar Minuten, bei ganz kaltem Node und innerhalb einer halben Minute und schneller, wenn der Node bereits einen Fix an dem Tag hatte. Also ich bin zufrieden.
      Wenn ich es richtig verstanden haben, holt sich der GPS Chip von den Satelliten den Almanach (Bahndaten aller Satelliten für die Zukunft). Damit ist später ein Fix viel schneller möglich.

      Antworten
  2. Hi Björn,
    ich habe die Antenne meines TTGO T-Beam gerade nochmal schnell mit dem N1201SA durchgemessen und komme auf einen VSWR Wert von 1.1 (Analyzer in der Hand) und 1.4 (auf dem Boden). Das sind eigentlich sehr gute Werte und sprechen für die mitgelieferte Antenne.

    Auf Thingiverse gibt es auch ein Design für den 3D Drucker: https://www.thingiverse.com/thing:3041339
    Wenn man die Löcher der Schrift nachträglich mit einem 3D CAD Programm schliesst, kommt da dann auch ein ganz brauchbares Gehäuse bei raus :-).

    CU Tim

    Antworten
  3. Ich versuche nun seit Tagen auf meinen TTGO T-Beam einen Sketch zu flashen. Sowohl mit der ArduinoIDE als auch mit Atom/PlatformIO will mir das nicht gelingen.
    Ich arbeite eigentlich schon lange mit ESP8266/ESP32/TTGO V1 und hatte in dieser Richtung bis jetzt keine Probleme.
    Wenn ich mir mit putty die serielle Schnittstelle anschaue bekomme ich folgenden Text bzw. Zeichenfolge:
    ets Jun 8 2016 00:22:57

    rst:0x1 (POWERON_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT)
    configsip: 0, SPIWP:0xee
    clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    mode:DIO, clock div:1
    load:0x3fff0018,len:4
    load:0x3fff001c,len:808
    load:0x40078000,len:6084
    load:0x40080000,len:6696
    entry 0x400802e4
    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
    die nicht lesbaren Zeichenfolge nach ‚entry 0x400802e4‘ besteht Hex aus der sich immer wiederholdenden Folge von e2 96
    Hat jemand eine Idee, was da schief läuft?
    Danke für eure Hilfe.
    Wolfgang

    Antworten
  4. Hallo Björn,
    ich habe meinen T-Beam mit der dem Git von Cyberman zum fliegen gebracht. Einzig der GPS-Chip sagt leider gar nichts – im Display stehen 0 Sats. Das deckt sich mit dem, was die Mapper-Software ausgab, dort stand im Display no valid GPS-Fix.

    Ich denke ein Weg zur Fehlersuche ist das von Dir beschriebene Pass Trough-Sketch. Hast Du ein Tut0rial wie ich das auf den T-Beam einspiele?

    Thx, Archer

    Antworten
    • Hi,

      leider hat WordPress den Sketch etwas zerstört, ich habe ihn nun auf GitHub abgelegt.

      Zusätzlich musst du die Arduino ESP32 Erweiterungen installieren und SoftwareSerial zu deiner Bibliothek hinzufügen. Als Board wählst du dann Heltec_WIFI_LoRa_32 und schiebst den Sketch auf den T-Beam. Fast wie hier beschrieben.

      Über den SeriellenMonitor oder die Software von uBlox kannst du nun schauen ob Daten ankommen. Geh ruhig mal raus mit dem Ding, im Haus ist GPS immer schlecht.

      Grüße,
      Björn

      Antworten
  5. Hallo und vielen Dank für diese Einleitung in den T-Beam.
    Eine Frage hat sich mir leider nicht beantwortet: Kann über den T-Beam der eingesetzte Akku gefahrlos geladen werden oder ist es analog zum TTGO LoRa32 V2.1 – 1.6 nicht gefahrlos möglich.
    Danke!

    Antworten
    • Einen direkten Tipp kann ich dir nicht geben. Hab es damals bei AliExpress gekauft.
      Es ist ein 0,96 Zoll OLED Display I²C mit 128×64 Pixel. Wenn du es direkt an den T-Beam löten willst, solltest du darauf achte, das der erste PIN VCC ist und der zweite GND. SCL und SDA ist egal, da du dieses in der Software anpassen kannst.

      Grüße,
      Björn

      Antworten
  6. Ich habe auf dem T-Beam die PAX-Software drauf die laut allen Beschreibungen auch TTNMappen kann:
    https://github.com/cyberman54/ESP32-Paxcounter

    Im TTN habe ich den Decoder mit folgendem Inhalt angegeben:

    // Decoder for device payload encoder „PLAIN“
    // copy&paste to TTN Console -> Applications -> PayloadFormat -> Decoder

    function Decoder(bytes, port) {
    var decoded = {};

    if (port === 1) {
    var i = 0;

    if (bytes.length >= 2) {
    decoded.wifi = (bytes[i++] < 15) {
    decoded.ble = (bytes[i++] < 4) {
    decoded.latitude = ((bytes[i++] << 24) | (bytes[i++] << 16) | (bytes[i++] << 8) | bytes[i++]);
    decoded.longitude = ((bytes[i++] << 24) | (bytes[i++] << 16) | (bytes[i++] << 8) | bytes[i++]);
    decoded.sats = bytes[i++];
    decoded.hdop = (bytes[i++] << 8) | (bytes[i++]);
    decoded.altitude = (bytes[i++] << 8) | (bytes[i++]);
    }
    }

    if (port === 2) {
    var i = 0;
    decoded.battery = ((bytes[i++] << 8) | bytes[i++]);
    decoded.uptime = ((bytes[i++] << 56) | (bytes[i++] << 48) | (bytes[i++] << 40) | (bytes[i++] << 32) |
    (bytes[i++] << 24) | (bytes[i++] << 16) | (bytes[i++] << 8) | bytes[i++]);
    decoded.temp = bytes[i++];
    decoded.memory = ((bytes[i++] << 24) | (bytes[i++] << 16) | (bytes[i++] << 8) | bytes[i++]);
    decoded.reset0 = bytes[i++];
    decoded.reset1 = bytes[i++];
    }

    if (port === 4) {
    var i = 0;
    decoded.latitude = ((bytes[i++] << 24) | (bytes[i++] << 16) | (bytes[i++] << 8) | bytes[i++]);
    decoded.longitude = ((bytes[i++] << 24) | (bytes[i++] << 16) | (bytes[i++] << 8) | bytes[i++]);
    decoded.sats = bytes[i++];
    decoded.hdop = (bytes[i++] << 8) | (bytes[i++]);
    decoded.altitude = (bytes[i++] << 8) | (bytes[i++]);
    }

    if (port === 5) {
    var i = 0;
    decoded.button = bytes[i++];
    }

    if (port === 6) {
    var i = 0;
    decoded.rssi = bytes[i++];
    decoded.beacon = bytes[i++];
    }

    if (port === 7) {
    var i = 0;
    decoded.temperature = ((bytes[i++] << 8) | bytes[i++]);
    decoded.pressure = ((bytes[i++] << 8) | bytes[i++]);
    decoded.humidity = ((bytes[i++] << 8) | bytes[i++]);
    decoded.air = ((bytes[i++] <= 2) {
    decoded.battery = (bytes[i++] << 8) | bytes[i++];}
    }

    if (port === 9) {
    if (bytes.length === 1) {
    decoded.timesync_seqno = bytes[0];
    }
    }

    return decoded;

    }

    Dadurch erhalte ich habe vom GPS nur folgende Werte:

    payload_fields: object
    altitude: 41728
    hdop: 27136
    latitude: -1896544765
    longitude: -2043714816
    sats: 7

    Die L. und L. stimmt natürlich gar nicht.
    Hat dafür jemand eine Lösung?

    Danke!

    Antworten
    • Fällt mir spontan die Konfig ein. In der paxcounter.conf muss ebenfalls PLAIN als ausgabeformate gewählt werden:
      #define PAYLOAD_ENCODER 1

      Überprüf das mal bitte.
      Grüße,
      Björn

      Antworten
  7. Hallo ihr Spezialisten,
    ich muß vorausschicken das ich nicht gerade der super Checker diesbezüglich bin.
    Aber ich komme mit meinem „Projekt einfach nicht weiter.
    Ich nutze den T-Beam in Kombination mit einem eReader Kobo Glo(inkl. LK8000 Flugsoftware) zum Fliegen um die GPS und Flarmdaten auf den Kobo zu bringen.
    Bisher habe ich das über Wifi getan, leider funktioniert das nur sporadisch, da der Kobo die Verbindung immer wieder verliert bzw. dann nicht mehr abspeichert, wenn ich den Kobo ausschalte.
    Daher würde ich gerne eine Kabelverbindung herstellen.
    Frage ist nun:
    Welche Pins muß ich beim T-Beam „anzapfen“ um die nötigen Daten des GPS sowie des Flarm mit meiner Seriellen Schnittstelle im Kobo oder auch evtl. USB Micro Buchse zu verbinden?ß
    Könnt ihr mir da helfen?
    Herzlichen Dank
    Andreas

    Antworten
    • Hallo Andreas,

      wenn ich es richtig verstehe, nutzt du SoftRF. Leider befasse ich mich mit dem Thema überhaupt nicht und kann dir daher auch nicht weiter helfen. Bitte wende dich an ein entsprechendes Forum ob es möglich ist, die Daten per USB abzugreifen.

      Grüße,
      Björn

      Antworten
  8. Hi,
    ich habe diese Woche die neueste Revision t22_v1.0 20190612 erhalten. Zuvor hatte ich eine Version mit Schiebeschalter als Powerknopf. Die neue Version hat nur noch Druckknöpfe. In der alten Version ist nach der Stromversorgung kurz danach SoftRF gestartet, hat ein Wifi aufgemacht und die gps-led hat geblickt – der T-Beam war bereit und Flarm läuft.
    Beim neuen T-Beam ist mir der Status unklar. Es geht keine blaue LED an und ein Wifi wird auch nicht eröffnet, der Stromverbrauch liegt bei 0.125mA und man sieht auch, wie die Stromaufnahme sinkt, wenn man resettet aber ich habe kein SoftRF. Weiss jemand wie ich das zum Laufe bekomme oder hat die neueste Version am Ende gar kein SoftRF drauf?

    Antworten
    • Hallo Peter,
      ich habe eben stundenlang dasselbe Problem gehabt. Nach ewigem Googlen bin ich unter https://www.thethingsnetwork.org/forum/t/ttgo-t-beam/15297/187 über den Satz gestoßen:
      „V10 (a.k.a. V1.0) is substantial rework over older V05-V07 revisions toward deep sleep current reduction. Each major component (ESP32, GPS, LoRa, I2C) is now under control of dedicated PMU IC (AXP192).“
      Im Fazit bedeutet dies, dass man die Module (GPS, LoRa, etc.) erst „anschalten“ muss, damit die Daten liefern. Siehe dazu dann auch die AXP202 Library.

      HTH
      Timo

      Antworten
      • Wie willst du die denn einzeln anschalten?
        Ich flashe das einfach und alles läuft, muss nichts einzeln aktivieren. Der Chip klemmt doch nicht für jedes Modul den Strom separat ab, sondern wie beim Smartphone der Powerknopf, durch langes oder kurzes drücken. Aber so genau hab ich den Schaltplan jetzt nicht studiert.
        Was hast du für ein Problem? Immernoch einen mapping node machen?
        Generell empfehle ich ruhig die Fragen im ttn Forum zu Posten, die sind oft behilflich.
        Angeblich ist in softRF auch eine mapping Funktion eingebaut aber die bekomme ich nicht zum laufen.
        Aktuell habe ich diesen Sketch laufen mit einem v0.7 t-beam und Display….hat die.keisten Funktionen funzt aber wohl nicht ohne weiters beim v1.0
        Gibt auch eine mapping node Anleitung im ttn Forum.

        Antworten
  9. Hallo,

    vielen Dank für die gute Anleitung. Mit Display läuft der TTGO gut und es ging schnell ihn aufzusetzen. Allerdings schaffe ich nur den Zugang mit ABP, mit dem ich bisher auch bei anderen Nodes gearbeitet habe. Beim Versuch mit OTAA kommt beim Lora Status „Unknown event“, d.h. es kommt etwas zurück, was nicht vorgesehen ist. Das gleiche passierte auch mit der „ohne Display Variante mit ABP, bei dem das Phänomen auftritt, dass er den Frame Counter in der TTN Konsole nicht hochzählt und ständig nur „Retry“ Pakete signalisiert. MIt „ohne Display“ meine ich die nicht geforkte Version nach DeuxVis, die ich ohne Display vorher auf dem TTGO testen wollte.

    Antworten
  10. Hallo,
    hat noch jemand ein Problem mit der Unterspannung am T-Beam? Falls ich mal vergesse den T-Beam auszuschalten, wird der eingesetzte 18650 LiPo Akku tiefentladen und geht nach kurzer Zeit kaputt. Die Akku Spannung sinkt dann unter 100 mV und er lässt sich nicht mehr laden.
    Die chinesichen Webseiten (Banggood, Aliexpress) zeigen bei den Featutres eine Unterspannungserkennung aus. Aber diese scheint wohl nicht zu funktionieren.

    Wenn ich ein Labornetzteil anschliesse und die Spannung unter 2 Volt absenke, werden immer noch ein paar mA gezogen. Ich hätte erwartet, dass sich das Gerät bei dieser Spannung komplett abgeschaltet.

    Hat jemand ähnliche Erfahrungen gemacht?

    Antworten
  11. Hallo, bin bisher nicht dazu gekommen weiter betreffend OTAA zu probieren, kein Erfolg bisher.
    Die Original Antenne bzw. auch zugekaufte mit Magentfuß machen eher den Eindruck „nicht der große Wurf zu sein“. Oder aber es liegt am T-BEAM selbst, dass das Loggen nicht besonders beeindruckend funktioniert. Bisher habe ich eher meinen selbstgebauten Arduino Pro-Mini mit selbst gedrehter Helix Antenne hat eine deutlich bessere Empfangsquote am eigenen Gateway.

    Antworten
  12. Die originale Antenne des t-beam ist top abgestimmt, mit einem swr von unter 1.1, da gibt es nichts zu meckern.
    Damit habe ich schon ogn Stationen in über 100km Entfernung erreicht in entsprechender Höhe. Die Empfangsleistung des t-beam ist eher schlecht und darauf ist er auch nicht ausgelegt. Jeder sdr Stick ist hier besser. Flarm-Sender in max 9km Entfernung konnte ich mit dem t-beam empfangen, bedeutend mehr geht auch mit einer top Antenne nicht.
    Kauft euch einen nanovna und stimmt eure Antennen selber ab, alles andere ist Zeitverschwendung

    Antworten
  13. Nanovna ist ganz einfach zu bedienen und es gibt auch einige Videos zur Bedienung.
    Einfach erstmal kalibrieren mit dem beigelegten Sachen, dann Antenne dran und erstmal gucken von 1 bis 900mhz was die Antenne so macht und den swr grob im Bereich 860mhz anpassen durch Längenänderung. Dann 800 bis 900mhz im nanovna einstellen und Finetuning betreiben bis der swr so klein wie möglich ist…1.0 ist perfekt. Fertig. Die t-beam antenne würde ich so lassen aber man kann zumindest mal überprüfen ob sie funktioniert. Ich würde die Version mit lipo-batterie und Metallgehäuse kaufen, kost 60euro oder so.

    Antworten
    • Hallo Peter
      Mein nvna ist angekommen. Er startet auch korrekt und scheint soweit zu funktionieren. Jedoch zeigt er NIE irgend eine Aufzeichnungslinie (das Smith-Diagramm z.b. ist aber vorhanden).
      Natürlich habe ich schon kalibriert, eine neue Firmware hochgeladen aber immer das selbe – keine Linie, egal mit welcher Antenne. Auch das Tool NanoVNA Saver funktioniert nicht: NanoVNASaver.SweepWorker – WARNING – Got a non-float data value: 2147483647.147483647 2147483647.147483647 (2147483647.147483647). HAst du noch eine Idee, oder ist das Ding im Eimer? Auch google konnte mir nicht weiterhelfen….

      Antworten
      • Hm, hat es vor d.firmware Update funktioniert? Wieso hast du gleich ein Update gemacht, ich hatte das erst mal so gelassen.
        Ich habe seit paar Tagen das Update für 1.5ghz drauf aber das überzeugt mich derzeit nicht, überlege wieder zurück zu gehen.
        Hast du unter display z.b. swr ausgewählt damit du die Sachen angezeigt bekommst?

        Antworten
        • nee, hat auch vor dem Update nicht funktioniert…. (deshalb hatte ich das Update mal versucht)

          jep, SWR habe ich ausgewählt, aber keine Linie…(aber eben: die fixen „Diagrammlinien“ wie z.b. das Smitsh-Diagramm) sind schon vorhanden, einfach keine Messdaten

          Antworten
          • Oh, das klingt ja nicht wirklich gut. Ich schätze da hast du wohl eine Gurke…aber meist schicken die Chinesen Ersatz, wenn du denen ein Video schickst dass das Teil nicht geht. Habe gesehen, dass es auch nanovna gibt die schon mit 1.5ghz fw verkauft werden…evtl gleich so ein Ding kaufen.

          • Übrigens habe mit dem Verkaufer von AliExpress gesprochen… die meinten auch, ist wohl was schief… Haben nun einen neuen bekommen und alles läuft nun!

  14. Hallo, mittlerweile habe ich einige t-beams da, deren Antenne nicht der Knaller ist. Das liegt daran, dass diese auf 915mhz getuned sind.
    Das ist schön für Amis aber schlecht für Europäer… vermutlich ist das reiner Zufall, wenn man mal eine gute 868er erwischt….schade aber so ist der Chinese…und damit es nicht zu einfach wird, bekommt man auch bei eBay keine gescheite 868er Antenne, auch wenn diese vom Chinesen so beworben wird. Ohne den nanovna wäre es ein reiner Blindflug.
    Um die Miniantennen optimal messen zu können, fasse ich den goldenen Fuss an, um so eine groundplane zu erzeugen.

    Antworten
  15. Hallo Björn,

    danke für den interessanten Artikel und Deinen tollen Blog.
    Eins vorab, mit dem Thema Lora und/oder TTN fange ich gerade erst an und bin hier völliger Neueinsteiger.
    Deinen Fork mit Display habe ich auf dem T-Beam installieren können, und es „scheint“ auch zu funktionieren.
    D.h. er startet, findet Satelliten, zeigt im Display in der letzten Zeile „LORA EV-Joining“ an und scheint auch das ein oder andere Paket an mein TTN-Indoor-Gateway zu senden. In der TTN-Console zum Gateway werden empfangene Nachrichten hochgezählt, aber keine übertragenen.
    In der Console zur Application wird das Gerät mit einem grünen Punkt angezeigt, aber als Status never seen gekennzeichnet. Als Aktivierungsmethode habe ich OTAA verwendet.
    Wo könnte mein Fehler liegen? Was könnte ich tun oder habe ich vergessen.

    Für eine eventuelle Hilfestellung im Voraus dankend verbleibe ich mfG.

    Antworten
  16. Hallo,

    danke für Deine Antwort.
    Habe die V10 Version und dann nochmal ein entsprechende Script verwendet.
    Das Ergebnis war das gleiche.
    Nach Umstellung der Aktivierung auf ABP funktionierte der T-Beam wie gewünscht für ein paar Tage.
    Die Punkte wurden zu TTN-Mapper übertragen und auch angezeigt (mit einer gewissen zeitlichen Verzögerung, soll ja bis zu 24h dauern).
    Jetzt zeigen der T-Beam sowie die Console einen Upload an, jedoch tauchen auf ttnmapper.org keine neuen Punkte in der Karte mehr auf, im Gegenteil es sind sogar Wegpunkte verschwunden, und zwar die zuletzt übertragenen und zuletzt angezeigten.

    Gruß Mark

    Gruß Mark

    Antworten
      • Hallo Peter,

        ja, der Sketch macht ABP, ein nicht ABP Mapper macht imho auch keinen Sinn, da ich den Mapper nur auf SF7 haben will.
        Per Default sendet er alle 30 Sekunden, zum Mappen drehe ich aber auf 15 bis 20 runter.

        Grüße,
        Björn

        Antworten
    • Hi Mark,

      Wenn dein Node Daten überträgt, dann denke ich nicht das es an dir liegt. Evtl. ist bei JP wieder der Speicher voll gelaufen. Ich denke also mal das Problem liegt bei ttnmapper. Das legt sich normalerweise nach ein paar Tagen.

      Du kannst auch über Advanced Maps schauen welche Daten dein Node übertragen hat.

      Grüße,
      Björn

      Antworten
  17. Hallo zusammen,

    dank der guten Vorstellung hier und den vielversprechenden Austausch in den Kommentaren hab ich mich auch mit einem T-Beam ausgerüstet.
    Eine Woche hat er mir gute Dienste als TTN Mapper geleistet.
    Heute ist er dann Opfer der Eile geworden…
    Eine verpolt eingelegte 18650 Zelle hat ihm nicht gepasst.
    Über USB läuft das Board samt LoraWan Funktion noch.
    GPS scheint ohne Funktion.
    Bei der Stromversorgung über eine korrekt gepolte 18650 Zelle läuft der Mapper vollständig, jedoch nur für wenige Sekunden (ca. 45-60). Dabei wird der AX192 extrem heiß.

    Hat jemand eine Idee was durch die falsche Polarität alles zerstört worden sein kann und ob es reparabel ist?

    Antworten
    • hallo Hendrik

      Habe bei meinem Micro:Bit einen Kurzschluss auf Pin 2 produziert. Seither hat der Prozessor bei Pin 2 ein Loch im Gehäuse. Aber ausser Pin 2 funktioniert alles.
      Was aber auch hier ist, der Chip wird sehr warm/heiss.
      Deshalb habe ich ihm einen alten Kühlkörper verpasst… er läuft dauerhaft.

      Gruss
      Felix

      Antworten
  18. Hallo lieber Björn,

    vielen dank für deinen Artikel, ich bin komplett neu auf diesem Gebiet,
    und habe mir vor kurzem das TTGO t-beam V1.0 bestellt und ist heute angekommen.

    Ich habe versucht, mit dem GPS Geo 6M Modu via USB zu kommunizieren.
    Ich wollte das U-Center nutzen, um Funktionen und Empfang vom GPS zu testen.

    Ich hatte nartürlich keine Chance, (In der Anleitung ja:
    „Um direkt mit dem GPS Chip kommunizieren zu können, müsst ihr einen Pass Through Sketch auf den T-Beam laden. Diesen findet ihr auf GitHub.“)
    Ich habe diesen Sketch, via Adruino auf das Board geladen, und danach hat das Board nichts mehr gemacht :-). Keine LED, kein garnichs…

    Aber Windows hat es immer noch erkannt, unter den COM-XX anschlüssen.

    Also habe ich jetzt wieder die „Werks-Firmware“ geflascht und hoffe, das
    mir jemand sagt, in welcher Reihenfolge ich die Skecht`s auf das Bord laden soll, damit nicht wieder alles
    futsch ist.

    vielen dank schon jetzt

    Antworten
    • Hallo Bernd,
      es gibt immer nur einen Sketch auf dem Gerät. Mit dem PassThrough ist dar T-Beam erst mal dumm und es wird nur der Com-Port des Ublox an den Port des T-Beams gespiegelt. Dadurch kannst du den GPS Chip mit U-Center anpassen. Du wählst in U-Center den virtuellen Com Port und aktivierst die Verbindung. Danach solltest du theoretisch Daten sehen.
      Mehr macht dieser Sketch nicht.
      Eventuell funktioniert der Sketch auch mit dem V1.0 nicht, da ich eine V0.7 habe. Es gibt jedenfalls Unterschiede zwischen den Versionen.
      Also nochmals: es gibt nur eine Sketch auf dem Bord und somit keine Reihenfolge.

      Grüße Björn

      Antworten
  19. Hallo, Ich sehe, dass Du Dich intensiv mit der Rev0.7. Hast Du mal versucht, den Button auf GPIO39 per Interrupt abzufragen? Ich habe nur die 1.1 hier. Dort liegt der Button auf GPIO38 und funktioniert einwandfrei per Interrupt. Ein User, der mein Git (Waldmensch1) benutzt, meint, dass der Interrupt bei der 0.7 auf GPIO39 Amok läuft. Mangels Testmöglichkeit fällt mir dazu nicht wirklich was ein.
    Grüße

    Antworten
  20. Vielen Dank für die interessanten Infos in Deinem Blog. Ich habe das kleine Gerät inzwischen auch erstanden, und es läuft prächtig. Nun möchte ich mich um die Stromversorgung kümmern: Als Akku kann man ja solche des Typs 18650 verwenden. Diese gibt es mit elektronischem Schutz und ohne einem solchen. Dummerweise scheinen Akkus mit Schutzschaltung etwas länger zu sein und werden vermutlich nicht in den Batteriehalter passen. Kann man also nur Akkus ohne Schutz verwenden? WIe hoch ist das Risiko einzuschätzen, wenn man sich auf die Ladeelektronik auf dem Board verlassen muss? Gibt es Alternativen oder Tipps für den richtigen Akku?

    Gruß
    Peter

    Antworten
    • Hallo Peter,

      ich verwende selber Akkus mit Schutzschaltung und diese passen in den T-Beam. Ich kann natürlich nicht garantieren dass es bei dir auch geht, aber unmöglich ist es nicht.
      Der T-Beam verwendet den AXP192 als Ladecontroller. Dieser wird in vielen Produkten eingesetzt und funktioniert eigentlich gut. Somit sollte der eigentlich keine Probleme machen.
      Daher hast du eigentlich die freie Wahl.

      Grüße,
      Björn

      Antworten
      • Hallo Björn,
        vielen Dank für Deine Antwort. Welchen Akkutyp (mit Schutz) verwendest Du? Ich habe den Batteriehalter mal ausgemessen:
        Innenlänge des Halters: 69 mm
        Länge zwischen den nicht gedrückten Federkontakten: 63 mm
        Wenn man nun beide Kontakte vielleicht noch jeweils 2 mm zusammendrücken kann (eher weniger), dann dürfte der Akku nur 67 mm lang sein. Die Akkus mit Schutz haben aber eher 68.5-69.5 mm, würden also auch ohne Federkontakte kaum in den Halter passen. Auch die Breite scheint mir mit 17 mm sehr kanpp.

        Gruß
        Peter

        Antworten
        • Hi,

          Ich verwende die HolyFire HLB188, die es aber wohl nicht mehr gibt. Ist wohl eher ein schlechtes Zeichen 🙂
          Die Zellen sind 68,5 mm lang und passen rein, zwar stramm, aber es gibt keine Probleme.

          Kommt halt auf einen Versuch an.
          Viel Erfolg!

          Antworten
          • Hallo Björn,
            ich nutze jetzt als Akku eine LiFePO4-Akku mit 1500mAh. Das funkioniert schon ganz gut, auch wenn die Spannug mit nominell 3.25V etwas geringer ist als bei den LiOn-Akkus. Bei meinem T-Beam V.11 wird der Powermanagementchip AXP192 eingesetzt. Man kann die Ladeschlussspannung auf 4.1V begrenzen, was zwar immer noch etwas zu hoch ist für den LiFePO4, aber wohl keine Schäden hervorruft (mal schauen). Vorteil ist aber die deutlich höhere Sicherheit dieses Akkutyps.

            EIn Problem bleibt jedoch: bei einer Akkuspannung unter ca. 3.48V kann man das Gerät nihct mehr mit langem Druck auf die Powertaste ausschalten. Es wird kein LongPress-Interrupt mehr ausgelöst. Eigentlich würde ich erwarten, dass das Gerät bis runter auf rund 3V noch funktionieren sollte. Auch bei herkömmlichen LiOn-Akkus können ja Spannungen unter 3.48V auftreten. Frage daher an alle mit einer T-Beam-Version V1.0/1.1, ob Ihr evtl. auch Probleme mit dem Ausschalten habt?
            Gruß
            Peter

      • Der AXP192 muss aber in der verwendeten Firmware auch entsprechend programmiert werden.
        Wie und was man da konfigurieren kann ist seit kurzem in dem Paxcounter von cyberman54 auf Github gut zu sehen.
        In der Hardware Beschreibung zum T-Beam 1.0 ( https://github.com/cyberman54/ESP32-Paxcounter/blob/master/src/hal/ttgobeam10.h) finden sich ein gutes praktisches Beispiel.

        Ein Problem bleibt trotz AXP192. Die blaue PowerLED leuchtet weiter, auch wenn der AXP aufgrund niedriger Batterie Spannung das System heruntergefahren hat. Darüber könnte die Zelle also auch weiter Tiefentladen werden, wenn auch entsprechend langsam.

        Antworten
  21. Hallo zusammen, ich habe mir auch den T-Beam V7 gegönnt.
    Allerdings kommt bei mir auf TTN nichts an. Nun bin ich seit Stunden auf Fehlersuche, was ich wo falsch machen könnte.

    AppSKey als (msb) kopiert und eingefügt.
    NwkSKey als (msb) kopiert, eingefügt.
    DevAddr als HEX kopiert und eingefügt 0x und dann meine 8 stellen

    Soweit denke ich, sollte ja alles richtig sein?

    Auf meinem Gateway (Raspberry Singel Channel) sehe ich ab und zu eine MSG – anhand von der MSG und wenn ich diese dann auf TTN Decodiere muss es mein Standort sein also der T-Beam sendet doch?
    Das Gateway ist online lt. TTN – darf ich darauf vertrauen, dass ich dort alles richtig gemacht habe? Es wird auch angezeigt, dass Pakete empfangen wurden. Zwar nur 6 Stück – für ca. 6H Betrieb etwas rar.

    Hier ein Auszug aus meinem Sing_Chan log: (für mich schaut das vernünftig aus)
    single_chan_pkt_fwd[506]: rxpk update: {„rxpk“:[{„tmst“:3940489916,“freq“:868.1,“chan“:0,“rfch“:0,“stat“:1,“modu“:“LORA“,“datr“:“SF7BW125″,“codr“:“4/5″,“rssi“:-112,“lsnr“:-12.0,“size“:75,“data“:“rsq08FfcZI5+VSMM+1P6xNIMSG1IRH33VpTTCTJB9OVLnFe64EV4wd89g9+IgYuQzjmfdMWLLLFoAIRN+pzz4w2YaSO9QOiKCVwe“}]}

    Hier mein serieller Auszug – eventuell kann sich jemand dazu einen Reim machen?

    22:48:55.161 -> Restored counters as 12/0
    22:48:56.141 -> Valid gps Fix.
    22:48:56.141 -> Lat: 47.094165
    22:48:56.141 -> Lng: 9.900176
    22:48:56.141 -> Unknown event
    22:48:56.141 -> Packet queued
    22:48:58.246 -> EV_TXCOMPLETE (includes waiting for RX windows)
    22:48:58.246 -> Counters stored as 13/0
    22:48:58.246 -> Good night…

    Der Einzige Script, der auf meinem Board läuft, bzw sich kompilieren lässt ist der von DeuxVis. Alle anderen laufen nicht, bekomme immer den Fehler: ‚DR_SF11‘ was not declared in this scope
    auch etwas merkwürdig – aber gut andere Thematik.

    Vielen Dank über eine kurze Hilfe oder einen Tipp, was ich da noch prüfen, überprüfen oder testen könnte.
    73 Stoffl

    Antworten
    • In deinem Log scheint „Unknown event“ auf, ich hatte das Problem auch mit der „MCCI LMIC Library“,
      und verwende deshalb für den Mapper sketch immer die originale, alte „LMIC-arduino“.

      SG
      rosch

      Antworten
    • Hi,

      also ein Single Channel Gateway wird nur 1/8 aller Nachrichten empfangen können, da der Node alle 8 Kanäle nutzen sollte.
      Zusätzlich ist der Empfang sehr schlecht:
      “rssi“:-112,“lsnr“:-12.0

      Also wenn beide relativ nah beieinander sind, muss das besser aussehen.

      Grüße,
      Björn

      Antworten
        • Hi,

          also wenn Gateway und Node so dicht beieinander sind, müssen die Werte besser sein. Ein RSSI von -60 und ein SNR von mindesten 6 sollte drin sein, auch mit einem Single Channel Gateway Du hast also irgendwo 60 dB Dämpfung drin. Ich würde mal die Antennen überprüfen, an Node und Gateway. Ich hatte selber mal versehentlich eine SMA female an RP-SMA male geschraubt, wodurch der Innenleiter fehlte.

          Da du ein Single Channel hast, kannst du noch den T-Beam auf einen Kanal festlegen. Wenn du dein Gatway auf 868,1 MHz eingestellt hast, sehe das so aus:

          #ifdef CFG_eu868
          LMIC_setupChannel(0, 868100000, DR_RANGE_MAP(DR_SF12, DR_SF7), BAND_CENTI); // g-band
          LMIC_setupChannel(1, 868100000, DR_RANGE_MAP(DR_SF12, DR_SF7B), BAND_CENTI); // g-band
          LMIC_setupChannel(2, 868100000, DR_RANGE_MAP(DR_SF12, DR_SF7), BAND_CENTI); // g-band
          LMIC_setupChannel(3, 868100000, DR_RANGE_MAP(DR_SF12, DR_SF7), BAND_CENTI); // g-band
          LMIC_setupChannel(4, 868100000, DR_RANGE_MAP(DR_SF12, DR_SF7), BAND_CENTI); // g-band
          LMIC_setupChannel(5, 868100000, DR_RANGE_MAP(DR_SF12, DR_SF7), BAND_CENTI); // g-band
          LMIC_setupChannel(6, 868100000, DR_RANGE_MAP(DR_SF12, DR_SF7), BAND_CENTI); // g-band
          LMIC_setupChannel(7, 868100000, DR_RANGE_MAP(DR_SF12, DR_SF7), BAND_CENTI); // g-band
          #endif

          Hast du die lmic_project_config.h angepasst, damit die LMIC auch dein Frequenzband weiß?

          Mit dem Modul, hast du auch wieder ein SingleChannel Gateway, also keine wirkliche Verbesserung, das Geld würde ich mir sparen. Kauf die lieber ein richtiges Gateway, wie das TTIG.

          Grüße,
          Björn

          Antworten
          • Hallo Björn,

            vielen Dank, ich habe die Bänder einfach auskommentiert und CH 0 stehen gelassen. Habe aber gelesen, ich sollte 3 Bänder stehen lassen 😀 muss mich da noch mehr einlesen, was die Bestimmungen sind.

            Ich weiß jetzt auch mein Fehler. In der LIB von LMIC muss unter project_config/lmic_project.config.h das richtige Band eingestellt werden.
            Vermutlich, habe ich per Zufall irgendwas anderes empfangen, dass fast dieselben Positionsdaten hatte wie ich, oder ich weiß auch nicht was das war.

            jetzt läuft es wie ich will.
            “ Packet RSSI: -44, RSSI: -111, SNR: 9, Length: 22 “
            das schaut schon viel vernünftiger aus 🙂

            Ich habe mir einige Gateways angeschaut, ich hätte gerne etwas normales/gutes das PG1301 schaut ganz vernünftig aus. (Multichannel, … )

            Als Antenne habe ich mir eine GP gebastelt – muss diese noch optimieren damit ich die Bandmitte optimal treffe.

            Eventuell kauf ich mir auch eine – je nachdem wie gut das jetzt noch geht mit dem optimieren 🙂

            vielen Dank für eure Hilfe
            Gruß
            Stoffl

  22. Hallo,

    ich habe das selbe Problem wie @Stoffl, mein T-Beam V10 sendet Daten an TTN, im Traffic-Log des Gateway der TTN-Console sehe ich die Pakete auch, im Traffic Log der Application scheint meist nichts auf.
    Interessanterweise funktioniert es meistens wenn ich den T-Beam neu flashe (selber sketch!), die Pakete kommen dann im Application Log an. Nach dem Aus- einschalten funktioniert es dann aber meistens nicht mehr. Habe schon alles mögliche probiert (umstellen auf OTAA, wieder zurück, device neu registrieren, kpl. neu anlegen, …) das Problem liess sich aber nicht lösen.
    Ich denke es liegt entweder an der lmic library oder überhaupt an TTN.
    Habe übrigens auch ein Heltec Wireless Stick mit sketch von https://github.com/Waldmensch1/tbeam-ttnmapper mit dem selben Problem.
    Kann es sein dass das mit der Fair-Use policy von TTN zu tun hat, diese wird durch die häufigen uploads ja wohl sehr überreizt?

    beste Grüße
    rosch

    Antworten
  23. Hallo,
    nach einigen Stunden des Suchens und Probierens habe ich nun folgendes rausgefunden:

    Das Problem liegt offensichtlich daran, dass der frame counter im TTN-Netz beim Neustart des nodes
    (ABP mode) nicht zurückgesetzt wird. Damit werden alle Pakete deren counter „veraltet“ ist, verworfen!
    Ab dem Zeitpunkt, ab dem der frame counter höher ist als vorher funktioniert alles wieder normal.
    Beispiel:
    – node sendet 10 Pakete –> alles OK
    – node wird restarted, counter startet bei 1 –> die TTN-Application empfängt KEINE Pakete bis counter=10
    – node sendet 11. Paket –> alles OK
    – alle weiteren Pakete –> alles OK
    – node wird restarted und frame counter im TTN „device overview“ wird manuell resetted
    – node sendet 1. Paket –> alles OK

    Soweit so gut, aber sollte der frame counter nicht eigentlich automatisch resetted werden,
    bei meinen anderen Umweltsensoren, die mit OTAA arbeiten(!), ist das zumindest so.
    Ich kann ja nicht bei jedem restart eines nodes den counter in der TTN-console resetten.
    Oder lässt sich das zumindest irgendwie automatisieren?

    SG
    rosch

    Antworten
  24. Es gibt doch eine Lösung 🙂
    In den device settings gibt es ganz unten eine checkbox „Frame Counter Checks“,
    nach dem disablen dieses checks wird jeder frame akzeptiert.
    Allerdings werden dadurch auch „replay attacks“ ermöglicht, ihr solltet euch also vorher
    Gedanke machen welche Auswirkungen das eventuell in eurer Application hat.
    Die vorgeschlagene Verwendung des OTAA mode funktioniert bei meinem TTN-Mapper sketch
    jedenfalls leider nicht.

    SG
    rosch

    Quelle: https://www.thethingsnetwork.org/forum/t/reset-frame-counter-issue/5169
    ————————-
    This has to do with the fact your Node starts at zero whenever it gets a power cycle.

    The TTN-backend checks this number with their logs, to avoid replay attacks.
    If the received integer is smaller then the stored, the whole message is dropped.

    Clicking ‘reset frame counter’ resets this stored integer to null.
    You can avoid this by any of these measures:

    – enabling the “Relax frame counter” settings. But this is not wise, as this makes replay attacks possible.
    – Use OTAA instead of ABP. With every new session with OTAA the counter will be renegotiated (resetted)
    – Store/persist the framecounter inside your node some where so it can survive a power cycle.

    Antworten
  25. Ist es viel Aufwand, den Mapper so zu programmieren, dass er CayenneLPP codierte Daten sendet? Dann würden nicht nur die Werte unter Cayenne MyDevices dargestellt werden können sondern es wäre auch ohne einen zusätzlichen Payload Decoder möglich, die Daten direkt in TTS V3 zu decodieren. Ich habe leider zu wenig Ahnung, um das bewerkstelligen zu können.

    Antworten
  26. Hi erstmal danke für die ausführliche Erklärungen und Anleitungen da ich auf diesem Gebiet noch ein neuling bin brauch ich etwas hilfe.
    Ich hab alles soweit zum laufen gebracht am gateway( selbstbau) wir mein gps tracker lilygo v1.1 auch erkannt und auch im ttn
    Doch leider sehe ich keine Daten vom lilygo im ttn in der Applikation wird das Board nicht angezeigt was mache ich falsch

    Antworten
    • Hi,

      wenn ich es richtig verstanden habe, dann siehst du deine Daten auf deinem Gateway und auch ebenfalls im TTN auf der Live Ansicht deines Gateways.
      Du hast eine Applikation erzeugt und ebenfalls ein Device, siehst dort aber keine Daten.
      Ich denke mal du hast einen Fehler beim Eintragen der Keys gemacht, so dass deine Daten nicht deiner Applikation zugeordnet werden können.

      Grüße,
      Björn

      Antworten
  27. Hallo Leute, liebe OM’s !
    Gibt es hier Bastler die mir ein LiLygo 868MHz als TTN Mapper flashen können.
    Bekomme es einfach nicht hin.

    Karl Heinz, DL2XL

    Antworten

Schreibe einen Kommentar