SERIALFLOW / ANDROID

Verwandle ein Android-Gerät per USB OTG in einen ESP32-Seriell-Monitor: Boot-Logs erfassen, Fehler filtern, Befehle senden, ESP-Ausgaben dekodieren und Messwerte darstellen.

ESP32 mit Android und SerialFlow debuggen

Das Flashen der Firmware ist nur die halbe Arbeit. Die entscheidenden Fragen entstehen meist nach dem Neustart: Hat sich der ESP32 mit dem WLAN verbunden? Warum bricht MQTT ab? Welche Meldung erschien vor einem Watchdog-Reset? Driften Messwerte oder schwanken sie nur kurzfristig?

Mit einem Android-Telefon, einem USB-OTG-Adapter und SerialFlow lässt sich ein praktischer serieller ESP32-Monitor direkt am Einsatzort nutzen. Die App verbindet sich über USB mit dem Board, macht umfangreiche Logs durchsuchbar und kann Befehle an die Firmware zurücksenden.

SerialFlow als Android-Seriell-Monitor für ESP32

Was SerialFlow nach dem Flashen übernimmt

ESPFlash installiert die Firmware. SerialFlow hilft anschließend dabei, das Verhalten der laufenden Firmware zu verstehen.

Die Android-App unterstützt den typischen seriellen Debugging-Ablauf:

  • USB-Seriell-Verbindung über Android USB Host/OTG
  • Baudrate, Datenbits, Stoppbits, Parität sowie DTR und RTS
  • Ausgabe pausieren, Auto-Scroll steuern, Terminal leeren und Logs teilen oder exportieren
  • Suche mit vorherigem/nächstem Treffer, Groß-/Kleinschreibung und regulären Ausdrücken
  • mehrere Filterregeln für stark ausgelastete Log-Ausgaben
  • Text- oder Hex-Daten mit wählbarem Zeilenende senden
  • häufige Anfragen als Schnellbefehle speichern
  • ESP-orientierte Logs dekodieren und numerische Telemetrie als Diagramm anzeigen

Damit ist SerialFlow nicht nur ein Textfenster, sondern ein kompaktes Android-Arbeitswerkzeug für Boards mit einer von Android erkannten USB-Seriell-Schnittstelle.

ESP32 vollständig vom Android-Gerät aus untersuchen

1. Firmware flashen

Installiere die Firmware zunächst mit ESPFlash. Eine ausführliche Anleitung steht unter ESP32 über Android und USB OTG flashen.

Beende danach die Verbindung in ESPFlash. Normalerweise kann nur eine App das USB-Gerät gleichzeitig verwenden; der Port muss daher freigegeben sein, bevor SerialFlow ihn öffnet.

2. Board in SerialFlow verbinden

Verwende ein USB-Datenkabel und bei Bedarf einen OTG-Adapter. Öffne SerialFlow, wähle das erkannte USB-Gerät und bestätige die USB-Berechtigung von Android.

Erscheint kein Gerät, lasse SerialFlow geöffnet und verbinde das Board erneut. Ein reines Ladekabel ist eine häufige Ursache für eine leere Geräteliste.

3. Serielle Parameter abgleichen

Die Einstellungen müssen zur Firmware passen:

  • Baudrate: 115200 ist bei ESP32-Projekten verbreitet, maßgeblich ist jedoch die Firmware.
  • Datenbits: häufig 8.
  • Stoppbits: häufig 1.
  • Parität: häufig keine.
  • DTR/RTS: nur ändern, wenn Board oder Reset-Schaltung dies verlangen.

Lesbarer Text zeigt in der Regel, dass die wichtigsten Parameter stimmen. Zeichensalat deutet meist auf eine falsche Baudrate oder abweichende Daten-, Stopp- beziehungsweise Paritätswerte hin.

4. Boot-Sequenz erfassen

Setze das Board zurück, während das Terminal verbunden ist. Die ersten Zeilen enthalten oft die wichtigsten Hinweise auf Boot-Schleifen, Partitionsfehler, fehlgeschlagene Konfigurationen oder Abstürze.

Lasse Auto-Scroll während der Reproduktion aktiv und pausiere die Ausgabe direkt nach dem Fehler. Danach können die relevanten Zeilen gesucht, gefiltert, kopiert oder exportiert werden.

5. Relevante Meldungen suchen und filtern

Ein ESP32 kann Netzwerkzustände, Sensordaten, Scheduler-Meldungen und Anwendungslogs mehrmals pro Sekunde ausgeben. SerialFlow bietet dafür zwei Werkzeuge:

  • Suche: findet Begriffe und springt zum vorherigen oder nächsten Treffer; optional mit Groß-/Kleinschreibung oder regulärem Ausdruck.
  • Filter: reduzieren den sichtbaren Datenstrom fortlaufend; mehrere Regeln können gemeinsam verwendet werden.

Für WLAN- und MQTT-Probleme eignen sich Begriffe wie wifi, mqtt, disconnect und error. Der folgende Ausdruck erfasst mehrere typische schwere Fehler:

(Guru Meditation|panic|assert|watchdog)

Die Firmware muss dafür weder verändert noch neu kompiliert werden.

6. Befehle an die Firmware senden

Viele Projekte stellen eine kleine serielle Konsole bereit. SerialFlow sendet Text, rohe Hex-Bytes und verschiedene Zeilenenden. Reagiert ein Befehl nicht, prüfe, ob der Parser LF, CR, CRLF oder keinen Abschluss erwartet.

Sende beispielsweise status mit dem passenden Zeilenende. Wiederkehrende Anweisungen wie status, reboot, wifi scan oder feste Protokollrahmen lassen sich als Schnellbefehle speichern.

7. Logs dekodieren und Telemetrie darstellen

Der ESP-Log-Decoder strukturiert ESP-bezogene Ausgaben. Liefert die Firmware numerische Werte in einem stabilen Format, kann die Diagrammansicht Änderungen über die Zeit zeigen. Spitzen, Schwingungen, Drift und Timing-Muster werden dadurch oft schneller sichtbar als in Zahlenzeilen.

Das ist besonders nützlich bei Sensoren, Motorregelungen, Leistungs- und Temperaturmessungen oder anderen periodischen Regelkreisen.

8. Reproduzierbaren Fehlerbericht exportieren

Pausiere nach dem Fehler das Terminal und teile oder exportiere den Log. Ergänze Firmware-Version, Board-Modell, serielle Einstellungen und den genauen Auslöser.

Ein kurzer, gefilterter Verlauf mit Kontext ist meist wertvoller als ein Screenshot mit Hunderten irrelevanten Zeilen.

Beispiel: MQTT-Abbrüche untersuchen

  1. Kandidaten-Firmware mit ESPFlash installieren und die USB-Verbindung freigeben.
  2. Board in SerialFlow mit den Parametern der Firmware öffnen.
  3. Board zurücksetzen und den vollständigen Boot-Verlauf erfassen.
  4. Filter für wifi, mqtt, heap, error und watchdog hinzufügen.
  5. Mit (disconnect|timeout|panic|assert) suchen.
  6. status mit dem erwarteten Zeilenende senden.
  7. Direkt nach dem Abbruch pausieren und den Verlauf exportieren.

So entsteht eine Zeitleiste aus Netzwerkanmeldung, Broker-Verbindung, Speicherzustand, Fehlermeldung und möglichem Reset-Grund.

Häufige Probleme mit Android USB Serial

Symptom Prüfung
Kein USB-Gerät sichtbar USB Host/OTG-Unterstützung, Datenkabel, erneutes Verbinden und Android-USB-Berechtigung prüfen.
Port nach dem Flashen belegt ESPFlash trennen oder schließen, USB-Gerät neu verbinden und erst dann SerialFlow öffnen.
Unlesbare Ausgabe Baudrate, Datenbits, Stoppbits und Parität mit der Firmware abgleichen.
Verbunden, aber keine Ausgabe Board zurücksetzen, richtige USB-Schnittstelle wählen und Log-Ausgabe der Firmware prüfen.
Board startet neu oder trennt sich Kabel und Stromversorgung prüfen; außerdem DTR/RTS-Verhalten kontrollieren.
Gesendete Befehle bleiben ohne Antwort Text-/Hex-Modus und das vom Parser erwartete Zeilenende prüfen.

Flashen und Debuggen unterwegs

ESPFlash und SerialFlow decken zwei aufeinanderfolgende Schritte ab: Firmware installieren und anschließend ihr Verhalten untersuchen.

Weitere Informationen stehen auf der SerialFlow-Produktseite. Die App ist außerdem direkt bei Google Play verfügbar; ESPFlash gibt es dort ebenfalls.