Code Monkey home page Code Monkey logo

fallblatt's Introduction

Fallblattanzeige

Ansteuern einer Funkwerk ITK Fallblattanzeige mit einem ESP32

Projektziel

Die Fallblattanzeige in der Lounge deployen und versch. Möglichkeiten bieten, diese mit Inhalten zu bespaßen.

Anforderungen

  • 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

Deployment (physisch)

  • Auf "Serverschrank" in der Lounge
  • Angeleuchtet mit LED-Streifen

Technik

Das Projekt verwendet das ESP-IDF als Framework für den ESP32.

Dieser kommuniziert dann über einen UART mit den Modulen auf der Fallblattanzeige.

API-Features

  • 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;…
  • 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 wird
    • fallblatt/screen → publish, welcher den ganzen Inhalt ersetzt
    • fallblatt/pos/x/y → publish, welcher an (x,y) geschrieben wird
  • REST-API
    • PUT /api/v1/line?text=… → hänge utf8-string als zeile an
    • PUT /api/v1/screen?text=… → ersetze inhalt mit utf8-string
    • PUT /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

Test-Sequenzen

Full Mode

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

Line Mode

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

fallblatt's People

Contributors

ikskuh avatar m1k3y-shack avatar momorientes avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

hasechris

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.