# ### Achtung! \### Diese Datei ist nicht mehr aktuell.
Bitte nutze die neue Wiki unter [https://git.dateien.org/tobiash/itender/wiki](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.