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.

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
- Kandidaten-Firmware mit ESPFlash installieren und die USB-Verbindung freigeben.
- Board in SerialFlow mit den Parametern der Firmware öffnen.
- Board zurücksetzen und den vollständigen Boot-Verlauf erfassen.
- Filter für
wifi,mqtt,heap,errorundwatchdoghinzufügen. - Mit
(disconnect|timeout|panic|assert)suchen. statusmit dem erwarteten Zeilenende senden.- 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.