itender/doc/Notes.md
2023-01-28 16:19:25 +01:00

2.9 KiB

### Achtung! ###

Diese Datei ist nicht mehr aktuell.

Bitte nutze die neue Wiki unter https://git.gaminggeneration.de/tobiash/itender/wiki (Wiki des iTender Projekts)













Notes und kleine Dokumentation

Was haben wir bereits am iTender Projekt gemacht?


Konzept-Erstellung

Ideen

  • Grund-Ideen

    • Smarten Cocktail-Mischer
    • 4 Getränke Behälter (mit Saft, Sirup oder Likör bzw. Schnapps)
    • 4 Pumpen (Peristaltik Pumpe)
    • Raspberry Pi als Prozessoreinheit
    • Display in der Front mit Benutzeroberfläche
    • Automatisches filtern von Getränken, je nachdem welche "Zutaten" in den Behältern sind
    • Messung der aktuellen Füllmenge der Behälter, basierend auf Gewicht (mittels Wägezelle) oder Abstand zur
      Wasseroberfläche (mittels Ultraschall-Sensor)
  • Nice to have

    • LED-Stripes für schöne Beleuchtung, basierend auf dem aktuellen Status der Maschine
    • Extra Schlauch für weitere außenstehende Getränke
      • Mit Bier-Fass Adapter?
    • Kühlung der Container mittels Peltierelement und Lüftern

Erstes 3D-Modell

Neues 3D-Modell


Das Programm

Aufbau

  • Das Programm des iTenders ist getrennt in 3 Teile
  • iTender Basis
    • Die Basis besteht aus der Kommunikation zwischen den Pumpen, LEDs und jeglicher Hardware
    • Außerdem gibt es Timer, automatische Events, Prüfung und aktualisierung von Getränken etc.
    • Sie übernimmt z.B. das Starten vom Getränke-Füllen, stoppen sowie Berechnen von den Zutaten für ein Getränk
    • Dieser Teil arbeitet seh eng mit dem Websocket-Server zusammen, um so auf Events vom Endnutzer zu reagieren.
  • iTender Webserver
    • Der Webserver ist einfach ein statischer Webserver welche Dateien "serviert", die dann von der Oberfläche geladen werden können.
    • Der Client-Browser oder iTender-Display lädt dann diese Seite, erstmal passiert dann noch nichts
  • iTender Websocket-Server
    • Der Websocket-Server dient zur eigentlichen Live-Kommunikation zwischen Client und Gerät.
    • Der Server und die Webseite (Endgerät), bauen eine Ende-zu-Ende Verbindung auf
    • Die Kommunikation zwischen Client und Websocket-Server basiert auf JSON (Javascript-Objekt-Notation).
    • Da der Websocket in früheren Client-Versionen anfällig für Fehler beim Übertragen von nicht alphabetischen Zeichen war, wird der gesendete Inhalt noch in Base64-Kodiert.
    • Base64 dient dazu, die Daten binär zu kodieren, um sie auf der Gegenstelle wieder zu entkodieren.
    • Außerdem wird beim übertragen eine Checksumme mitgegeben, um bei Fehlerhaften Paketen ein neues anzufragen.