Meshtastic Device-UI für T-Deck bauen

Kategorien: tinkering

Meshtastic ist ein Open-Source, Off-Grid, dezentrales Mesh-Netzwerk, das auf LoRa basiert. Das UI auf dem T-Deck ist funktional aber meh. Für Meshtastic gibt es ein noch etwas wackliges neues schickes UI unter anderem für das Lilygo T-Deck.

Hier habe ich aufgeschrieben, wie ich das neue UI auf mein T-Deck gebracht habe.

Das Lilygo T-Deck wird von Meshtastic unterstützt. Das normale UI ist nicht sehr ansprechend, funktioniert aber.

Im Internet findet man in einigen Ecken versteckt, wie man Meshtastic mit dem neuen UI installiert. Mein Startpunkt war Jeff Gerlings Blog. Allerdings gab es die verlinkte Version nicht und der aktuelle CI-build schien nicht zu laufen…

… Nix Schweres - Meshtastic habe ich auch schon selbst einmal vor langer Zeit aus den Quellen gebaut. Also das alte Repository aktualisieren und los. Upps, zu alt, also neu geclont. Gut so jetzt habe ich auch eine saubere Basis.

Bauen von Meshtastic mit altem UI

Es ist empfehlenswert erst einmal den Build mit dem offiziellen UI zu bauen und zu testen.

Ich habe schon ewig Visual Studio Code mit der Extension “PlatformIO IDE” auf meinem Rechner installiert. Wer meine Schritte nachvollziehen will, muss das nachholen. Ich empfehle Linux dafür. Es sollte aber auch die Windows- oder MacOS-Version funktionieren. Der Bau der Meshtastic-Firmware ist gut auf der Meshtastic-Seite beschrieben. Wir können vor dem Abschnitt “Adding Custom Hardware” aufhören. Das T-Deck ist schon fertig eingebunden.

Upload

Für den Upload über PlatformIO muss das T-Deck in den BOOT-Modus versetzt werden. Das erreicht man indem man den Trackball drückt und das T-Deck einschaltet (oder mit der RST-Taste resettet) und danach die Trackball-Taste loslässt.

Leider hat dies in vielen Versuchen nur einmal funktioniert. Auch der Web-Flasher von Meshtastic (unter Chromium) konnte auch nicht die Firmware erneut auf das Gerät bringen. Lanmge Rede, kurzer Sinn. Meine T-Decks haben wohl einen Fehler. Wwie in issue 62 beschrieben, verhindert ein Pull-Up-Widerstand (R12) am GPIO 46 (C3 INT) den Upload. Also Lötkolben anwerfen und den Widerstand R12 entfernen (siehe Abbildung).

R12 ausgelötet

Seit dem Entfernen des Pull-Up-Widerstands lässt sich mein T-Deck sauber flashen!

Bauen von Meshtastic mit neuem UI

Aktuell wird das neue Device-UI von Manuel (mverch67) entwickelt. Damit es in die Meshtastic Firmware eingebaut wird, muss man den Branch tft-gui-work im Meshtastic Firmware Repository auschecken und die Submodule neu initialisieren.

cd firmware
git checkout tft-gui-work
git submodule update --init --recursive

Jetzt steht ein neues “Project Environment” namens t-deck-tft in PlatformIO zur Verfügung. Das neue “Project Environment” muss man auswählen, damit eine Firmware mit dem neuen Device-UI für das T-Deck gebaut wird:

  1. Die Command Palette öffnen und PlatformIO: Pick Project Environment ausführen und env:t-deck-tft auswählen.
  2. In der Command Palette PlatformIO: Build ausführen1. Nach dem Build liegt die Firmware-Datei im Verzeichnis .pio/build/t-deck-tft/firmware.bin.
  3. Das T-Deck bei gedrückten Trackball einschalten oder resetten.
  4. In der Command Palette PlatformIO: Upload ausführen.

Ich muss danach immer durch drücken des RST-Tasters das T-Deck neu starten, damit die neue Firmware gestartet wird.

Nachdem ich diese Schritte mir aus diversen Videos zusammengesucht hatte habe ich diese Vorgehensweise auch als Kommentar von “Ace_Archer” im Blog-Post von Jeff Gerling. Man sollte auch Kommentare lesen. (Auch wenn oft Blödsinn kommentiert wird, ist das nicht immer so.)

Konfiguration des T-Deck

Am einfachsten ist die Grundkonfiguration mit meshtastic-cli. Ich habe es mit pipx install pytap2 meshtastic installiert. Jetzt kann man das T-Deck mit den folgenden Anweisungen konfigurieren.

meshtastic --set lora.region EN_868
meshtastic --set-owner <longname> 
meshtastic --set-owner-short <shortname>

Mit der Web-App in Chromium kann man auch leicht das T-Deck konfigurieren. Damit lassen sich auch Nachrichten verschicken und empfangen…

Zwei Dinge muss man beim Einsatz der Web-App bedenken:

  1. Meshtastic kann sich nicht über Bluetooth mit dem T-Deck verbinden. Das goilt für alle Meshtastic-Clients.

  2. In der Web-App kann man nicht den Amateurfunk-Modus einschalten. Das geht nur mit meshtastic-cli und den iOS- uns Android-Apps.

Meshtastic für Funkamateure

Inhaber einer Amateurfunk-Lizenz können Meshtastic im 70cm-Band (433 MHz) nutzen. Das hat den Vorteil, dass Meshtastic mit mehr Sendeleistung verwendet werden kann. Voraussetzung ist allerdings dass man eine Amateurfunk-Lizenz haben muss. Die zweite Voraussetzung ist, dass die Kommunikation mit Meshtastic nicht verschlüsselt ist (Grundvoraussetzung im Amateurfunk). Die dritte Voraussetzung ist, dass die Kommunikation mit dem Rufzeichen des Funkamateurs erfolgt.

Die Einstellungen in Meshtastic sind einfach:

  • Rufzeichen als “Long name” eintragen.
  • Licensed Operator einschalten

Wie das genau geht findet man auf der Meshtastic-Seite.

Wie man lizenzierter Funkamateur erfährt man am besten von einem Funkamateur. Wer keinen kennt, kann in Deutschland einem Ortsverband des DARC Kontakte knüpfen. Leider ist nicht leicht auf der Webseite eine Liste mit den Ortsverbänden gefunden. Hier ist Google dein Freund. Über die Distrikt-Seite findet man eine Landkarte, über die man einen Ortsverband in der Nähe finden kann.

Quellen


  1. Leider läuft der Build in Schritt 2 wegen eines Fehlers nicht durch. In Meshtastic wurde die Protobuf-Definition verändert.lib/device-ui/source/ViewController.cpp muss entsprechend angepasst werden. Ich habe in Zeil 493 byte[233] und folgende gelöscht und damit lief mein Build durch. ↩︎

Das könnte Sie auch interessieren