Ansteuern einer Funkwerk ITK Fallblattanzeige mit einem ESP32
Die Fallblattanzeige in der Lounge deployen und versch. Möglichkeiten bieten, diese mit Inhalten zu bespaßen.
- HTTP-API
- MQTT-API
- Rohdaten-API (TCP,UDP)
- Differenzielles Update (nur Zeichen ändern, die sich tatsächlich geändert haben)
- UTF-8-Input auf Fallblattanzeige übersetzen
- Auf "Serverschrank" in der Lounge
- Angeleuchtet mit LED-Streifen
Das Projekt verwendet das ESP-IDF als Framework für den ESP32.
Dieser kommuniziert dann über einen UART mit den Modulen auf der Fallblattanzeige.
- UDP-API
- Line Mode
- Port: 8000
- Paket enthält Textzeilen mit LF (0x0A) getrennt, diese werden wie in einem Terminal nach oben geschoben
- Full Refresh
- Port: 8001
- Paket enthält exakt 4*20 Zeichen, es werden fehlende Zeichen mit Leerstellen aufgefüllt. Newlines gibt es nicht.
- XY-Access
- Port: 8002
- Paket enthält
X;Y;…
- Line Mode
- TCP-API
- Standard: Append Mode → alles was übertragen wird, wird an die Anzeige angehängt
- DC1: Clear Screen and Home → Lösche Anzeige und bewege Cursor nach (0,0)
- DC2: Home Cursor
- DC3: Set Cursor → Lese
{DC2}x;y;
und setze den Cursor auf (x,y).
- MQTT-API
fallblatt/line
→ publish eines utf8-strings, welcher als zeile angehängt wirdfallblatt/screen
→ publish, welcher den ganzen Inhalt ersetztfallblatt/pos/x/y
→ publish, welcher an (x,y) geschrieben wird
- REST-API
PUT /api/v1/line?text=…
→ hänge utf8-string als zeile anPUT /api/v1/screen?text=…
→ ersetze inhalt mit utf8-stringPUT /api/v1/location?x=…&y=…&text=…
→ schreibe utf8-string an (x,y)GET /api/v1/current
→ liefert den aktuellen Inhalt
- HTML-Frontend
- Spricht mit der REST-API
- Bietet die drei API-Interfaces als "hübsches Element" an
Praktisch zum Testen in der Entwicklungsphase, löscht alle Anzeigen und ersetzt den Inhalt der Anzeige mit dem gesendeten Datagramm:
nc -u 10.42.25.49 8001
Praktisch zum Testen der gesamten Anzeige. Pusht eine Zeile Text an die Fallblattanzeige und scrollt ggf. den Rest nach oben.
nc -u 10.42.25.49 8000