Meshtastic-Anleitung – So flashen Sie die Meshtastic-Firmware

ESP32-Geräte mit Meshtastic-Firmware flashen

Das Flashen von ESP32-Geräten mit Meshtastic-Firmware kann über verschiedene Methoden erfolgen. Die am meisten empfohlene Methode ist der Web Flasher, der mit Chrome- oder Edge-Browsern funktioniert. Er ist benutzerfreundlich und ideal für Anfänger, die ihre ESP32-Boards schnell flashen möchten. Das CLI-Skript ist eine manuelle Methode zum Flashen von Firmware und eignet sich besser für fortgeschrittene Benutzer, die mit Befehlszeilentools vertraut sind. Wenn sowohl der Web Flasher als auch das CLI-Skript fehlschlagen, ist die Verwendung eines externen seriellen Adapters eine Option, sollte jedoch aufgrund der Komplexität nur als letzter Ausweg in Betracht gezogen werden.

Bevor du dein ESP32-basiertes Meshtastic-Funkgerät einschaltest, schließe immer die Antenne an. Ein Betrieb ohne Antenne kann den Funkchip beschädigen. Um den Meshtastic-Webclient unter meshtastic.local zu aktualisieren, ist ein vollständiges Löschen und eine Neuinstallation des Geräts erforderlich. Dies stellt sicher, dass du die neueste integrierte Weboberfläche erhältst. Wenn du deine Einstellungen behalten möchtest, exportiere deine Konfiguration vor der Neuinstallation und importiere sie danach wieder.

Das Flashen der ESP32-Firmware ist ein wichtiger Schritt bei der Einrichtung deines Meshtastic-Geräts. Egal, ob du den Web Flasher, das CLI-Skript oder einen seriellen Adapter verwendest, achte darauf, Sicherheitsvorkehrungen zu befolgen und die Methode zu wählen, die am besten zu deinem Erfahrungsstand passt.

Gerät flashen

  1. Schließe dein Gerät an
  2. Besuche flasher.meshtastic.org *erfordert Chrome- oder Edge-Browser
  3. Befolge die Anweisungen

Gerät verbinden und einrichten

Sobald du die Meshtastic-Firmware auf das Gerät geflasht hast, kannst du mit der anfänglichen Konfiguration fortfahren.

Firmware via CLI flashen

Verbindungsprüfung

Bevor du dein ESP32-Gerät flashst, überprüfe die Verbindung zu dem Gerät, das du flashen möchtest. Befolge die unten aufgeführten Schritte, um die Geräteverbindung zu prüfen und bei Bedarf die entsprechenden USB-Treiber für dein ESP32-Board zu installieren. Wenn du Treiber installieren musst, denke daran, deinen Computer danach neu zu starten, um sicherzustellen, dass die Treiberinstallation abgeschlossen ist.

HINWEIS: Das T-Beam 0.7 Board ist eine frühere Version des T-Beam ESP32 Boards. Aufgrund von Designänderungen in späteren Iterationen benötigt dieses Board eine spezifische Firmware-Datei, die sich von denen anderer T-Beam-Board-Versionen unterscheidet. Achte darauf, die richtige Firmware beim Flashen deines ESP32 T-Beam 0.7 auszuwählen, um die ordnungsgemäße Funktionalität zu gewährleisten.

  • Verwende firmware-tbeam0.7-X.X.X.xxxxxxx.bin für den T-Beam 0.7.
  • firmware-tbeam-X.X.X.xxxxxxx.bin ist inkompatibel.
Für alle anderen T-Beam-Boards lies dir bitte den Ressourcenbereich durch, um die richtige Firmware auszuwählen.

Anweisungen für die Befehlszeilenschnittstelle (CLI)

Vorausgesetzte Software installieren
Linux
Überprüfe, ob du python3 und pip installiert hast, indem du den folgenden Befehl verwendest

python3 --version

pip3 --version

Wenn python3 nicht installiert ist, kannst du es hiermit installieren

sudo apt-get update

sudo apt-get install python3

Wenn pip nicht installiert ist, kannst du es hiermit installieren
sudo apt-get install python3-pip
Installiere esptool
pip3 install --upgrade esptool
MacOS
OS X wird mit vorinstalliertem Python2.7 geliefert, aber es enthält kein pip. Die folgenden Anweisungen verwenden Homebrew, um Python3 zu installieren, welches pip3 enthält. Unter macOS verwendest du pip3 anstelle von pip.
HINWEIS: Überprüfe mit dem folgenden Befehl, ob Homebrew installiert ist. Wenn es nicht installiert ist, befolge die Anweisungen auf der Homebrew website bevor du fortfährst.
brew -v
Überprüfe, ob du python3 und pip installiert hast, indem du den folgenden Befehl verwendest

python3 --version

pip3 --version

Wenn python3 nicht installiert ist, kannst du es mit folgendem Befehl installieren
brew install python3
Überprüfe, ob pip3 zusammen mit python3 installiert wurde
pip3 -v
Installiere esptool
pip3 install --upgrade esptool
Windows
  • Lade und installiere Python. Stelle während des Installationsvorgangs sicher, dass du die Option Add Python X.Y to PATH auswählst.
  • Lade und installiere Git Bash (oder eine andere geeignete Shell) und führe alle nachfolgenden Befehle in dieser Shell aus.
Überprüfe, ob du python3 und pip installiert hast, indem du den folgenden Befehl verwendest

py --version

pip --version

Installiere esptool
pip3 install --upgrade esptool
Verbindung zum Chip prüfen
  • Unter Linux und macOS musst du esptool möglicherweise explizit als .py-Skript deklarieren. Verwende dazu den Befehl esptool.py chip_id, abhängig von deiner Umgebung.
  • Unter Windows musst du esptool explizit als .py-Skript deklarieren, indem du den Befehl esptool.py chip_id verwendest, um die ordnungsgemäße Funktionalität sicherzustellen.
Schließe das Funkgerät mit einem Daten-USB-Kabel an deinen Computer an. Verwende den folgenden Befehl, um zu überprüfen, ob dein Gerät mit deinem Computer kommuniziert:
Befehl
esptool chip_id
Erwartete Ausgabe

# Du solltest ein ähnliches Ergebnis wie dieses sehen:

mydir$ esptool chip_id

esptool.py v2.6

Found 2 serial ports

Serial port /dev/ttyUSB0

Connecting....

Detecting chip type... ESP32

Chip is ESP32D0WDQ6 (revision 1)

Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None

MAC: 24:6f:28:b5:36:71

Uploading stub...

Running stub...

Stub running...

Warning: ESP32 has no Chip ID. Reading

MAC instead. MAC: 24:6f:28:b5:36:71

Hard resetting via RTS pin...

Firmware herunterladen
  • Navigiere zur Meshtastic Downloads Page, um die neueste Firmware zu erhalten.
  • Scrolle nach unten zum Bereich Firmware und wähle basierend auf deinen Präferenzen eine der folgenden Optionen:
  1. Download Stable: Für stabile, gut getestete Versionen.
  1. Download Alpha: Für neuere, experimentelle Versionen, die die neuesten Funktionen enthalten.
  • Sobald du zur GitHub-Release-Seite weitergeleitet wurdest, scrolle nach unten zum Abschnitt "Assets" und klappe ihn auf.
  • Identifiziere die richtige Firmware für dein Gerät entsprechend seiner Architektur (z. B. firmware-esp32s3 für ESP32-S3-basierte Geräte wie den Heltec V3).
  • Lade die Datei herunter und notiere dir ihren Speicherort auf deinem System, was normalerweise dein Ordner ~/Downloads ist.
Auf das Firmware-Verzeichnis zugreifen
Öffne ein Terminal und wechsle in das Verzeichnis, in das deine Firmware heruntergeladen wurde (mit dem Befehl cd). Der Ordnername entspricht in der Regel der Architektur und der Firmware-Version, die in der Zip-Datei angegeben sind. Zum Beispiel:
cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
HINWEIS: Stelle sicher, dass du esp32s3 und die Versionsnummer durch die Werte ersetzt, die der von dir heruntergeladenen Datei entsprechen.
Firmware installieren oder aktualisieren
Befolge nun die unten stehenden Anweisungen für dein Betriebssystem, um die Firmware für dein spezifisches Board zu installieren oder zu aktualisieren:
Bitte beachte, bevor du beginnst:

Sei extrem vorsichtig, dass du die richtige Firmware-Datei für dein ESP32-Board installierst. Insbesondere das weit verbreitete T-BEAM-Funkgerät von TTGO wird nicht als TTGO-Lora bezeichnet, was ein anderes ESP32-Board ist. Flashe daher nicht den TTGO-Lora-Firmware-Build auf einen T-BEAM, da dies nicht richtig funktionieren wird und Probleme mit deinem ESP32-Gerät verursachen kann.

Wenn du die falsche Firmware für dein ESP32-Board installierst, scheint der Flash-Vorgang möglicherweise erfolgreich abgeschlossen zu werden, aber das Gerät reagiert möglicherweise nicht mehr und zeigt einen leeren Bildschirm an, falls es einen hat. Stelle immer sicher, dass du die richtige Firmware-Version für deine spezifische ESP32-Hardware flashst.

Bitte beachte, dass diese ESP32-basierten Geräte im Allgemeinen robust sind und Schäden nicht garantiert sind, jedoch ein Risiko für das integrierte Funkmodul und die Peripheriegeräte besteht, wenn die GPIO-Pin-Richtungen während des Firmware-Flashens falsch konfiguriert werden. Die richtige Firmware-Auswahl ist entscheidend, um die Funktionalität und Sicherheit deines ESP32-Meshtastic-Geräts zu gewährleisten.

Linux & macOS
Installieren
 ./device-install.sh -f firmware-BOARD-VERSION.bin
Firmware herunterladen
  • Navigiere zur Meshtastic Downloads Page, um die neueste Firmware zu erhalten.
  • Scrolle nach unten zum Bereich Firmware und wähle eine der folgenden Optionen:
  1. Download Stable: Für stabile, gut getestete Versionen.
  2. Download Alpha: Für experimentelle Versionen mit den neuesten Funktionen.
  • Auf der GitHub-Release-Seite scrolle nach unten zu "Assets" und klappe es auf.
  • Identifiziere die richtige Firmware für dein Gerät (z. B. firmware-esp32s3 für ESP32-S3-Boards).
  • Lade die Datei herunter und notiere dir ihren Speicherort (normalerweise ~/Downloads).
Auf das Firmware-Verzeichnis zugreifen
Öffne ein Terminal und wechsle in das Verzeichnis, in das deine Firmware heruntergeladen wurde:
cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
HINWEIS: Ersetze esp32s3 und die Version durch deine tatsächliche Datei.
Firmware installieren oder aktualisieren
Befolge die unten stehenden Anweisungen für dein Betriebssystem:
Wichtig:

Installiere immer die richtige Firmware für dein ESP32-Board. Verwechsle T-BEAM nicht mit TTGO-Lora.

Eine falsche Firmware lässt sich zwar flashen, aber das Gerät reagiert danach möglicherweise nicht mehr (leerer Bildschirm).

Falsche GPIO-Konfigurationen während des Flashens können das Funkmodul beschädigen. Wähle sorgfältig aus.

Linux & macOS
Installieren
 ./device-install.sh -f firmware-BOARD-VERSION.bin
Aktualisieren
 ./device-update.sh -f firmware-BOARD-VERSION-update.bin
Verwende --web, um den integrierten Webclient einzuschließen.
Windows
Installieren
 esptool.exe --chip esp32 write_flash -z 0x1000 firmware-BOARD-VERSION.bin
Aktualisieren
 esptool.exe --chip esp32 write_flash -z 0x1000 firmware-BOARD-VERSION-update.bin
 device-install.bat -f firmware-BOARD-VERSION.bin
Aktualisieren
 device-update.bat -f firmware-BOARD-VERSION-update.bin
Verwende die Option --web, um den integrierten Webclient bei der Installation der Firmware zu integrieren.

Gerät verbinden und einrichten

Gerät verbinden und einrichten

Sobald du die Meshtastic-Firmware erfolgreich auf das Gerät geflasht hast, kannst du mit der anfänglichen Konfiguration fortfahren.

Flashen mit einem externen seriellen Adapter

HINWEIS: Diese Informationen sind wahrscheinlich nur hilfreich, wenn du bereits versucht hast, die Voraussetzungen und Prozesse durchzugehen, die unter manually flashing beschrieben sind.

Flash-Vorgang

Situationen, die die Verwendung eines externen USB-zu-Seriell-Adapters erforderlich machen können:
  • Aufgrund des anhaltenden Chipmangels können kürzlich erworbene Geräte wie der TTGO T-Beam mit älteren oder nicht standardmäßigen USB-zu-Seriell-Adapter-Chips ausgestattet sein, die in bestimmten Situationen unzuverlässig sein können.
  • Einige Geräte können defekte USB-zu-Seriell-Chips aufweisen, was zu Kommunikationsproblemen führt.
  • Spezifische Geräte, wie das Hydra (Meshtastic-DIY Ziel)
USB-Seriell-Adapter

Es gibt zahlreiche Optionen für ESP32-Adapter auf dem Markt, aber es ist ratsam, einen Adapter zu wählen, der den Silicon Labs CP2102-Chip verwendet, der für seine Zuverlässigkeit und seinen Status als Industriestandard für das Flashen von ESP32 bekannt ist. Der auf dem CP2102 basierende Adapter gewährleistet eine stabile USB-zu-Seriell-Kommunikation, die für ein erfolgreiches Flashen der Firmware unerlässlich ist.

Beginne damit, den CP2102-Adapter an deinen Computer anzuschließen, ohne zu diesem Zeitpunkt ESP32-Geräte zu verbinden. Stelle sicher, dass die erforderlichen USB-Treiber für den Adapter auf deinem Computer installiert sind. Für Windows-Benutzer sollten sich die richtigen CP2102-Treiber in der Regel automatisch installieren, was eine reibungslose Erkennung des ESP32-Geräts und einen zuverlässigen Firmware-Upload ermöglicht.

Adapter an das Gerät anschließen
HINWEIS: Es gibt verschiedene Methoden, um die Adapter-Pins mit dem Zielgerät zu verbinden, einschließlich des Drückens von Jumpern gegen Kontakte oder der Verwendung von Pogo-Pin-Vorrichtungen. Dieses Tutorial beleuchtet die Verwendung von versetzten Dupont-Steckern, die auf die entsprechenden GPIO-Pins gelötet und mit Jumpern verbunden werden.
Trenne deinen USB-zu-Seriell-Adapter vom Computer, bevor du mit diesem Vorgang beginnst.
  1. Verbinde den RX-Pin des Adapters mit dem TX-Pin des Geräts.
  2. Verbinde den TX-Pin des Adapters mit dem RX-Pin des Geräts.
  3. Verbinde einen GND-Pin des Adapters mit dem GND-Pin des Geräts.
  4. Verbinde entweder den 5V-Pin des Adapters mit dem 5V-Pin des Geräts (wie abgebildet) oder den 3.3V-Pin des Adapters mit dem 3.3V-Pin des Geräts.
  5. Überbrücke GPIO 0 mit GND auf dem Gerät mit einem Jumper. (Dies versetzt das Gerät beim Einschalten in den Flash-Modus.) Beispielverkabelung mit einem T-Beam.
  1. Schließe das Gerät an einen USB-Anschluss des Computers an.
  2. Entferne den Jumper, der GPIO 0 mit GND überbrückt.
Gerät flashen
Nach Abschluss der obigen Schritte sollte sich dein Gerät im Flash-Modus befinden. Du kannst nun die manual method verwenden, um dein Gerät zu flashen.
Sobald der Flash-Vorgang abgeschlossen ist, setze dein Gerät zurück (mit der RST-Taste, falls vorhanden). Wenn du die Meshtastic Python CLI installiert hast, kannst du meshtastic --noproto ausführen, um dich über den Adapter wieder mit dem Gerät zu verbinden und die serielle Ausgabe anzuzeigen, um sicherzustellen, dass Meshtastic korrekt installiert wurde.
Fehlerbehebung beim Flash-Vorgang
Möglicherweise tritt ein COM-Port-Berechtigungsfehler auf, während du die manuellen Geräteinstallationsskripte ausführst, was durch verschiedene Probleme verursacht werden kann.
Um dies zu beheben, musst du den Prozess möglicherweise als Administrator ausführen, sicherstellen, dass keine andere Software wie Cura die COM-Ports blockiert, oder versuchen, dein System neu zu starten.

Gerät verbinden und einrichten

Sobald du die Meshtastic-Firmware auf das Gerät geflasht hast, kannst du mit der anfänglichen Konfiguration fortfahren.

Flashen von nRF52- & RP2040-Geräten

  • Firmware-Upgrade-Prozess für nRF52- und RP2040-Geräte: Geräte, die auf den nRF52- und RP2040-Architekturen basieren, bieten einen unkomplizierten Firmware-Upgrade-Prozess, der auf keiner Plattform die Installation von Treibern oder Software erfordert.
  • Drag & Drop: Diese Geräte nutzen die Drag & Drop-Installationsmethode zur Installation von Firmware-Releases. Ziehe die Firmware-Datei einfach in deinem Dateiexplorer auf das Gerät.
  • Over-The-Air (OTA) Updates: nRF52-Geräte können OTA-Firmware-Updates von einem mobilen Gerät über Bluetooth empfangen, was nahtlose Updates ohne physische Verbindungen ermöglicht.
  • Factory Erase: Vor der Installation neuer Firmware solltest du in Betracht ziehen, einen Factory Erase (Zurücksetzen auf Werkseinstellungen) durchzuführen, um alle vorhandenen Daten zu löschen, deren Format oder Speicherort sich zwischen den Releases ändern könnten.

RAK4631-R in RAK4631 konvertieren: Wenn dein Gerät nicht mit dem Arduino-Bootloader geliefert wird, musst du eine Konvertierung durchführen, um die Kompatibilität sicherzustellen.

  • Verwendung des Raspberry Pi als SWDIO-Flash-Tool: Wenn dein Gerät nicht über USB oder Bluetooth geflasht werden kann, ist eine alternative Option die Verwendung einer direkten SWDIO-Verbindung mit einem Raspberry Pi als Flash-Tool.

Drag-and-Drop Firmware-Updates für nRF52 & RP2040

Gerät flashen

  • Du kannst nun den Meshtastic Web Flasher verwenden, um die Firmware herunterzuladen und auf deine nRF52- oder RP2040-basierten Geräte zu übertragen. Alternativ kannst du den unten stehenden Anweisungen folgen, um die Firmware herunterzuladen und zu installieren.
  • Wenn du kürzlich einen Factory Erase durchgeführt hast, startet dein Gerät möglicherweise automatisch im Bootloader-Modus. Du kannst dann direkt zu "Kopiere die entsprechende Firmware..." für dein spezifisches Gerät unten übergehen:
nRF52
  1. Lade die neueste Firmware von den Meshtastic Downloads herunter und entpacke sie.
  2. Verbinde dein Gerät über ein USB-Datenkabel mit deinem Computer.
  3. Drücke die Reset-Taste an deinem Gerät zweimal (dadurch wird der Bootloader-Modus aufgerufen).
  4. Ein neues Laufwerk wird auf deinem Computer eingebunden (kompatibel mit Windows, Mac, Linux oder Android).
  5. Öffne dieses Laufwerk, in dem du drei Dateien finden solltest: CURRENT.UF2, INDEX.HTM und INFO_UF2.TXT.
  6. Kopiere die entsprechende Firmware-Datei (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) aus dem Release-Ordner auf dieses Laufwerk.
  7. Nachdem die Datei kopiert wurde, wird das Gerät neu gestartet und die Meshtastic-Firmware installiert.
RP2040
  1. Lade die neueste Firmware von den Meshtastic Downloads herunter und entpacke sie.
  2. Halte die BOOTSEL-Taste gedrückt und verbinde das Gerät dann über ein USB-Kabel mit deinem Computer.
  3. Ein neues Laufwerk wird auf deinem Computer eingebunden (kompatibel mit Windows, Mac, Linux oder Android).
  4. Öffne dieses Laufwerk, in dem du zwei Dateien finden solltest: INDEX.HTM und INFO_UF2.TXT.
  5. Kopiere die entsprechende Firmware-Datei (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) aus dem Release-Ordner auf dieses Laufwerk.
  6. Nachdem die Datei kopiert wurde, wird das Gerät neu gestartet und die Meshtastic-Firmware installiert.
Mögliche Flashing-Ausnahmefälle
  1. Stelle vor dem Flashen sicher, dass du das RAK4631 und nicht das RAK4631-R hast. Wenn nicht, musst du den Bootloader ändern. Anleitungen dazu findest du here.
  2. Ältere Versionen der Firmware können veraltete Daten behalten, was zu Crash-Schleifen führt. Wenn du Probleme beim Aktualisieren hast, führe einen factory erase durch, bevor du mit dem flashing beginnst.

Gerät verbinden und einrichten

Sobald du die Meshtastic-Firmware auf das Gerät geflasht hast, kannst du mit der anfänglichen Konfiguration fortfahren.

Over-the-Air (OTA) Firmware-Updates für nRF52

nRF52-Geräte von RAK können OTA-Firmware-Updates über Bluetooth akzeptieren. Ältere T-Echo-Bootloader unterstützen kein OTA.
Vorsicht: OTA-Updates bergen ein höheres Fehlerrisiko. Wenn sie nicht erfolgreich sind, kann dein Gerät funktionsunfähig werden und eine physische Wiederherstellung erfordern.

Android

Die neueste nRF DFU-App (v2.3.0) ist inkompatibel. Verwende die nRF Connect App v4.24.3 von Nordic GitHub.
  1. Lade die Firmware von den Meshtastic Downloads oder GitHub herunter.
  2. Entpacke den Firmware-Ordner.
  3. Öffne die nRF Connect App → Registerkarte SCANNER → Gerät VERBINDEN.
  4. Wenn TRENNEN angezeigt wird, fahre fort; wenn VERBINDEN angezeigt wird, tippe darauf.
  5. Tippe auf das DFU-Symbol (oben rechts).
  6. Wähle "Distribution Packet (ZIP)" → OK.
  7. Wähle die Firmware-Datei, die auf -ota.zip endet.
  8. Das Update startet automatisch (kann langsam sein).
  9. Das Gerät wird nach dem Update neu gestartet.

Apple

OTA-Updates sind über die nRF Device Firmware Update App unter iOS/iPadOS verfügbar.
  1. Lade die Firmware von den Meshtastic Downloads, GitHub oder direkt über die App herunter.
  2. Entpacke den Firmware-Ordner.
  3. Öffne die nRF DFU App und wähle die richtige Geräte-Firmware-Datei aus (endet auf -ota.zip).
  4. Verbinde dich mit deinem Gerät.
  5. Lade die Firmware hoch.
Wichtiger Hinweis: Die Auto-Sperrfunktion des iPhones kann den Bluetooth-Firmware-Upload unterbrechen. Um dies zu verhindern, tippe regelmäßig auf den Bildschirm oder stelle die Auto-Sperre während des Upload-Vorgangs vorübergehend auf "Nie", um sicherzustellen, dass das Telefon aktiv bleibt und der Upload ohne Unterbrechungen abgeschlossen wird.
Wenn das Update fehlschlägt, kannst du den Erfolg möglicherweise verbessern, indem du die Paketeinstellungen anpasst:
  1. Gehe zu den Einstellungen und aktiviere "Packets Receipt Notification".
  2. Ändere "Number of Packets" auf einen niedrigeren Wert; einige Benutzer waren mit "5" erfolgreich.

Factory Reset für nRF52/RP2040-Geräte

  • Meshtastic verwendet die littlefs-Bibliothek, um Konfigurationen, Protokolle und andere Daten im internen Flash-Speicher von nRF52- und RP2040-Geräten zu speichern. Das Aktualisieren der Firmware löscht diese Daten nicht, was zu Problemen führen kann, wenn sich Formate zwischen Releases ändern.
  • Du kannst den Meshtastic Web Flasher verwenden, um deine Geräte auf die Werkseinstellungen zurückzusetzen (Factory Erase). Wähle dein Board aus und klicke auf das 🗑️-Symbol, um es zu löschen. Alternativ befolge die Anweisungen unten.

nRF52

So setzt du den Flash-Speicher auf deinem nRF52-Board zurück:
  1. Lade die neueste Firmware von der Meshtastic Downloads page herunter und entpacke sie.
  2. Verbinde dein Gerät über USB.
  3. Doppelklicke auf die Reset-Taste, um in den Bootloader-Modus zu gelangen.
  4. Ein neues Laufwerk wird eingebunden (Windows/Mac/Linux).
  5. Das Laufwerk enthält: CURRENT.UF2, INDEX.HTM, INFO_UF2.TXT.
  6. Öffne INFO_UF2.TXT und notiere dir den SoftDevice-Wert.
  7. Kopiere die korrekte Factory-Erase-UF2-Datei (Meshtastic_nRF52_factory_erase...) auf das Laufwerk. Das Gerät startet neu.
  8. Führe meshtastic --noproto im Terminal aus.
  9. Du solltest Folgendes sehen: Formatting... Done.
Nach dem Löschen installiere die neueste Firmware auf einem sauberen Dateisystem.

RP2040

So setzt du den Flash-Speicher auf deinem RP2040-Board zurück:
  1. Lade flash_nuke.uf2 herunter.
  2. Halte BOOTSEL gedrückt und verbinde es über USB.
  3. Das Board wird als RPI-RP2 eingebunden.
  4. Kopiere flash_nuke.uf2 auf das Laufwerk.
  5. Das Board startet neu und der Flash-Speicher wird gelöscht.
Nach dem Löschen installiere die neueste Firmware auf einem sauberen Dateisystem.

RAK4631-R in RAK4631 konvertieren

Der einzige Unterschied zwischen RAK4631-R (RUI3) und RAK4631 (Arduino) ist der Bootloader; die Hardware ist identisch.
Meshtastic erfordert den Arduino-Bootloader. Die Konvertierung ist ein einmaliger Vorgang.
Hier sind zwei Methoden, um den Bootloader zu flashen:

USB Device Firmware Update (DFU)

  1. Installiere Python.
  2. Installiere adafruit-nrfutil.
pip3 install adafruit-nrfutil
  • Du kannst nun den Meshtastic Web Flasher verwenden, um deine nRF52- oder RP2040-basierten Geräte einem Factory Erase zu unterziehen. Besuche den Flasher, wähle dein Board aus und klicke auf das 🗑️-Mülleimer-Symbol rechts neben der Flash-Schaltfläche. Dies öffnet einen Dialog, um den Löschvorgang einzuleiten. Alternativ kannst du den Anweisungen unten folgen.

nRF52

Um den Flash-Speicher auf deinem nRF52-Board zurückzusetzen, befolge diese Schritte:
  1. Lade die neueste Firmware von der Meshtastic Downloads page herunter und entpacke sie.
  2. Verbinde dein Gerät über ein USB-Datenkabel mit deinem Computer.
  3. Doppelklicke auf die Reset-Taste an deinem Gerät, um in den Bootloader-Modus zu gelangen.
  4. Ein neues Laufwerk wird auf deinem Computer eingebunden (Windows, Mac oder Linux).
  5. Öffne dieses Laufwerk und du solltest drei Dateien sehen: CURRENT.UF2, INDEX.HTM und INFO_UF2.TXT.
  6. Öffne die Datei INFO_UF2.TXT in einem Texteditor und notiere dir den SoftDevice-Wert.
  7. Suche in der heruntergeladenen Firmware nach der Datei, die zu deiner SoftDevice-Version (7.x.x oder 6.x.x) passt. Verwende entweder Meshtastic_nRF52_factory_erase_v3_S140_7.3.0.uf2 oder Meshtastic_nRF52_factory_erase_v3_S140_6.1.0.uf2 und kopiere sie auf das Laufwerk. Das Gerät wird neu gestartet.
  8. Wenn die Meshtastic CLI installiert ist, öffne das Terminal/die Konsole und gib Folgendes ein: meshtastic --noproto.
  9. Du solltest die folgende Meldung sehen: Formatting... Done.
Sobald der Speicher gelöscht ist, kannst du die neueste Meshtastic-Firmware auf einem sauberen Dateisystem installieren, indem du auf den unten stehenden Link klickst.

RP2040

Um den Flash-Speicher auf deinem RP2040-Board zurückzusetzen, befolge diese Schritte:
  1. Lade die Datei flash_nuke.uf2 auf deinen Computer herunter.
  2. Halte die BOOTSEL-Taste gedrückt und verbinde das Board dann über ein USB-Kabel mit deinem Computer.
  3. Das Board sollte nun als Massenspeichergerät auf deinem Computer erscheinen, beschriftet als RPI-RP2.
  4. Kopiere die Datei flash_nuke.uf2 auf dieses Gerät.
  5. Das Board startet automatisch neu und der Flash-Speicher wird gelöscht.
Nach dem Löschen kannst du die neueste Meshtastic-Firmware auf einem sauberen Dateisystem installieren, indem du auf den unten stehenden Link klickst.

RAK4631-R in RAK4631 konvertieren

Der einzige Unterschied zwischen dem RAK4631-R (RUI3) und dem RAK4631 (Arduino) liegt im Bootloader; die Hardware ist identisch.
Meshtastic erfordert den Arduino-Bootloader für RAK WisBlock nRF52-basierte Boards. Dieser Konvertierungsvorgang muss nur einmal durchgeführt werden.
Hier sind zwei Methoden, um den Bootloader zu flashen:

USB Device Firmware Update (DFU)

  1. Installiere Python
  2. Installiere adafruit-nrfutil
pip3 install adafruit-nrfutil

 

Du musst den ersten Teil der Anleitung für converting the RAK4631-R to the RAK4631, abschließen, insbesondere den Abschnitt, der den Befehl AT+BOOT beinhaltet.

🛠 Debugger

🔧 Diese Konvertierung erfordert die Verwendung eines DAPLink oder J-Link. Die günstigste und am leichtesten verfügbare Option ist der RAKDAP1.
  1. Installiere Python
  2. Installiere pyOCD
pip3 install pyocd
  1. Lade den erforderlichen Bootloader herunter: WisCore_RAK4631_Board_Bootloader.hex
  2. Schließe den RAKDAP wie unten beschrieben an:
  1. Flashe den Bootloader
pyocd flash -t nrf52840 .\WisCore_RAK4631_Board_Bootloader.hex
  1. Fahre mit den Standard- flashing instructions fort.
Alternative Flash-Methoden werden here detailliert beschrieben.

Aktualisieren oder Wiederherstellen des Bootloaders auf nRF52-Geräten

Wenn du beim Aktualisieren oder Flashen neuerer Versionen der Meshtastic-Firmware auf Schwierigkeiten stößt und dein nRF52-Gerät nicht mit der neuesten Bootloader-Version arbeitet, könnte ein Update des Bootloaders helfen, diese Probleme zu lösen.
Um die aktuell auf deinem Gerät vorhandene Version des Bootloaders zu überprüfen, aktiviere den DFU-Modus. Öffne anschließend das auf deinem Computer angezeigte eingebundene Laufwerk und überprüfe die Datei INFO_UF2.TXT.
Hier sind die Schritte zum Aktualisieren deines Bootloaders.

Methode 1: Aktualisieren mit der UF2-Datei (Empfohlen)

Abhängig von deinem Gerät musst du das entsprechende Bootloader-Paket auswählen. Unten sind die Links zu den Bootloader-Paketen:
  1. Lade die richtige UF2-Bootloader-Datei herunter.
  2. Verbinde dein Gerät über ein USB-Kabel mit deinem Computer.
  3. Aktiviere den Bootloader-Modus, indem du die RESET-Taste schnell zweimal drückst. Für den Seeed Tracker 1000-E halte die Benutzertaste gedrückt und verbinde dann das USB-Kabel schnell zweimal mit dem MagSafe-Anschluss. Das Gerät sollte als Wechseldatenträger angezeigt werden.
  4. Ziehe die heruntergeladene UF2-Datei per Drag & Drop auf den Wechseldatenträger. Das Gerät aktualisiert automatisch den Bootloader und startet neu.
  5. Sobald das Gerät neu startet, ist das Update abgeschlossen. Dein Gerät befindet sich nun auf der neuesten Bootloader-Version und du kannst mit dem flashing the firmware fortfahren.

Methode 2: Verwendung von adafruit-nrfutil

Vorsicht: Im Gegensatz zu UF2-Uploads überprüft adafruit-nrfutil nicht, ob du das richtige Bootloader-Paket für dein Gerät hast. Das Flashen des falschen Bootloaders könnte dein Gerät unbrauchbar machen (bricken). Überprüfe immer die SHA256-Prüfsumme, bevor du fortfährst.
Diese Anleitung geht davon aus, dass Python und pip bereits installiert sind. Wenn nicht, lade die neueste Version von Python (mit pip) von Python.org herunter und installiere sie.
Wähle basierend auf deinem Gerät das entsprechende Bootloader-Paket aus. Unten sind die Links:
  1. Öffne ein Terminal oder eine Eingabeaufforderung und installiere adafruit-nrfutil, indem du den folgenden Befehl ausführst:
bash
pip install adafruit-nrfutil
  1. Beschaffe das richtige ZIP-Paket.
  2. Verbinde dein Gerät über ein USB-Kabel mit deinem Computer.
  3. Navigiere im Terminal oder der Eingabeaufforderung in das Verzeichnis, in das du das Bootloader-ZIP-Paket heruntergeladen hast, und führe den folgenden Befehl aus. Ersetze /dev/ttyACM0 durch den korrekten Port (Windows-Benutzer verwenden möglicherweise COMx):
adafruit-nrfutil --singlebank --touch 1200 --verbose dfu serial --package <downloaded file>.zip -p /dev/ttyACM0 -b 115200
  1. Sobald der Vorgang abgeschlossen ist, ist das Update beendet. Dein Gerät arbeitet nun mit der neuesten Bootloader-Version, sodass du mit dem flashing the firmware fortfahren kannst.

Methode 3: Verwendung eines Debuggers

Wenn die oben genannten Methoden nicht funktionieren und deine Hardware dies unterstützt (d. h. über die erforderlichen SWD-Pins verfügt), kannst du einen Debugger wie einen DAPLink oder J-Link verwenden, um den Bootloader direkt zu flashen. Bitte beziehe dich auf die Debugger-Anleitung für ein Beispiel mit dem RAK4631.

Verwendung von SWDIO zum Flashen mit einem Raspberry Pi

Die meisten Meshtastic-Geräte können einfach über USB geflasht werden. Einige Geräte (z. B. Seeed WM1110 Dev Kit) erfordern jedoch ein externes Gerät, das sich über "SWDIO" verbinden kann. Es gibt spezielle Geräte wie den RAKDAP1, die für diesen Zweck entwickelt wurden. Viele Benutzer finden auch einen Raspberry Pi als praktische Option.
Dieser Artikel bietet Anweisungen, wie man einen Raspberry Pi als SWDIO-Flash-Tool verwendet.

Verkabelungsaufbau

Der erste Schritt besteht darin, zwei Drähte zwischen deinem Raspberry Pi und den SWDIO-Anschlüssen deines NRF52-basierten Geräts zu verbinden.
Verbinde den GPIO-Pin 11 an deinem Raspberry Pi mit dem CLK-Pin des Meshtastic-Geräts und verbinde den GPIO-Pin 8 an deinem Raspberry Pi mit dem DIO-Pin des Meshtastic-Geräts.
Stelle sicher, dass die GPIO-Nummern korrekt sind.
Versorge deinen Raspberry Pi mit Strom, indem du ihn an eine USB-Stromquelle anschließt, und versorge auch das Meshtastic-Gerät mit Strom.

OpenOCD-Software installieren

Du kannst OpenOCD verwenden, um die SWDIO-Verbindung mit dem Meshtastic-Gerät abzuwickeln. Installiere es auf deinem Raspberry Pi.

$ sudo apt update

$ sudo apt install libtool autoconf automake texinfo telnet gdb-multiarch git

$ git clone git://repo.or.cz/openocd.git

$ cd openocd/

$ ./bootstrap

$ ./configure --enable-bcm2835gpio

$ make -j4

$ sudo make install

Verbindung überprüfen

Bevor wir mit der Firmware arbeiten, versuchen wir, über SWDIO eine Verbindung zum NRF52-basierten Gerät herzustellen. Alle erforderlichen Konfigurationen findest du im OpenOCD-Repository.
$ openocd -f ./openocd/tcl/interface/raspberrypi-native.cfg -c "transport select swd" -f openocd/tcl/target/nrf52.cfg -s tcl
Das erste Flag kennzeichnet den Raspberry Pi als deinen Host-Rechner, der Transport ist auf SWDIO eingestellt, und das letzte Flag gibt an, dass du dich mit einem nRF52-basierten Chip verbindest. Du solltest eine Ausgabe ähnlich dieser sehen:

Open On-Chip Debugger 0.12.0+dev-00633-gad87fbd1c

Licensed under GNU GPL v2

For bug reports, read http://openocd.org/doc/doxygen/bugs.html

swd

Info : Listening on port 6666 for tcl connections

Info : Listening on port 4444 for telnet connections

Info : BCM2835 GPIO JTAG/SWD bitbang driver

Info : clock speed 100 kHz

Info : SWD DPIDR 0x2ba01477

Info : [nrf52.cpu] Cortex-M4 r0p1 processor detected

Info : [nrf52.cpu] target has 6 breakpoints, 4 watchpoints

Info : [nrf52.cpu] Examination succeed

Info : [nrf52.cpu] starting gdb server on 3333

Info : Listening on port 3333 for gdb connections

Info : accepting 'telnet' connection on tcp/4444

Wenn du die Meldung „Error connecting DP: cannot read IDR“ siehst, bedeutet dies wahrscheinlich, dass die Drähte an den falschen Stellen angeschlossen sind.

Firmware herunterladen

Beziehe dich auf die Anweisungen für deine Hardware, um die entsprechende Firmware für dein Gerät zu finden. Die meisten Geräte, die dieser Anleitung folgen, benötigen eine .hex-Datei. Kopiere danach die Firmware-Datei auf deinen Raspberry Pi.

Firmware flashen

Nach dem Start von OpenOCD kannst du dich über Telnet mit deinem Meshtastic-Gerät verbinden. Das Flashen des Geräts ist unkompliziert; führe einfach ein paar Befehle innerhalb der Telnet-Sitzung aus:

$ telnet 127.0.0.1 4444

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

Open On-Chip Debugger

> init

> reset init

> halt

> nrf5 mass_erase

> program firmware.hex verify

> reset

> exit 0

Trenne nach dem Flashen die Stromversorgung und schließe sie dann wieder an.

Verbindung herstellen

Herzlichen Glückwunsch! Du solltest nun in der Lage sein, dich über Bluetooth in der Meshtastic-App mit deinem Gerät zu verbinden.

Registrieren Sie sich für unseren Newsletter

Erhalten Sie die neuesten Informationen über unsere Produkte und Sonderangebote.