--- title: Getränkezähler description: published: 1 date: 2023-06-07T05:59:45.298Z tags: editor: markdown dateCreated: 2023-06-05T20:28:05.841Z --- ## Benutzer-Guide ### Anonym Bezahlen Um anonym zu bezahlen, kannst du dir kleine Zettel mit einem Barcode ausdrucken. Dieser Barcode verfällt, nachdem sein Guthaben aufgebraucht ist. 1. Hierzu tippst du am Getränkescanner auf **Geld einwerfen** 2. Wirf einen Schein in die Kasse hinter dir. 3. Tippe den entsprechenden Betrag auf dem Display an. 4. Dein Code wird ausgedruckt. Du kannst jetzt Buchen! ### Getränk Trinken 1. Scanne ein Getränk. 2. Tippe **Buchen**. Alternativ kannst du deinen Zettel oder Member-Code scannen. 1. Wähle deinen Anfangsbuchstaben. 2. Wähle deinen Nutzer. 3. Drücke **Trinken**! Alternativ kannst du auch zuerst deinen Nutzer auswählen (oder Member-Code scannen), und dann dein Getränk scannen. Drücke danach genauso auf **Trinken**. ## Konzept ### Idee Es soll mithilfe eines Barcode Scanners gezählt werden, wie viele Getränke man getrunken hat. So behält jeder den Überblick, wieviel er dem Verein spenden sollte und wir wissen, wann neue Getränke besorgt werden müssen. [github repository](https://github.com/flipdot/drinks-scanner-display) des Getränkezählers. ### Anleitung ==> Hier gehts zur [Getränkezähler Usage](usage/) ### Hacker - DoB (Projektmanagement) - Niklas (Datenbank/Modellierung, Externe Schnittstellen (später)) - Sören ([Ansteuerung Display](http://www.raspberrypi-spy.co.uk/wp-content/uploads/2012/07/16x2_lcd_module.jpg)) - Eike (http://www.raspberrypi-spy.co.uk/2012/07/16x2-lcd-module-control-using-python\|Elektronik\]\]) - Anselm (Core-Logik) - Jonas (Core-Logik) - kssoz (Testing, Installation, Buchungsdialoge) - nox_x (Callibration Display) ### Zeitplan ``` 1. Termin: 02.07.2015 18:00 Uhr     Technologie entscheiden     Setup Raspberry PI     Ausgabe Barcode auf Anzeige (HDMI-Bildschirm) 2. Termin: 09.07.2015 18:00 Uhr     Barcode-Format spezifizieren     Hintergrundbeleuchtung, Kontrast einstellen 3. Termin: 16.07.2015 18:00 Uhr     SQL Datenbank modellieren 4. Termin: 27.04.2016     Case fertigbauen und im Space installieren     RasPi bestellen 5. Termin: 28.04.2016     Raspi anschliessen und einrichten     Barcodes in Datenbank speichern und zählen 6. Termin 29.04.2016     Flipdot Display ansteuern     low-res font implementieren     Testing (Hacked) ^^ 7. Termin: 28.05.2016      Touchscreen Interface:      Touch-Matrix,      homescreen mit Namensauswahl,      login Begrüßung mit Piechart-Dummy und Scan Aufforderung 8. Termin: 29.05.2016      Anbindung an LDAP (User-Datenbank) 9. Termin: 11.06.2016      Kallibration der Touch-Matrix - fixed! ``` ### Details #### Buchungsprozesse Spenden per Prepaid-Karte soll ermöglicht werden, nicht erzwungen. Das analoge Spendensystem (von \*hel) wird nicht abgeschafft, sondern ergänzt. ##### Fall 1 - member ohne Digital-Konto 1\. homescreen with login Flipdot Getränkescanner Wer bist du? [a][b][c][d][e][f][g] [h][i][j][k][l][m][n] [o][p][q][r][s][t][u] [v][w][x][y][z][#] [Gast] (Ereignis: Tastendruck z.B. wenn \# dann Sonderzeichen Namen zeigen) 2\. name selection Dennis DoB DmB ... (Ereignis: Namenswahl oder timeout 5s) 3\. scan demand Hallo Dennis, Scanne ein Getränk! (Ereignis: Scan! oder timeout 10s) 4\. scan result & donate prompt Club Mate EAN 123456778890 Spende bitte 1,00€ in die Kasse! Flaschenaufkleber wird gedruckt... (Warten bis timeout 10s oder Touch! -\> home) ------------------------------------------------------------------------ ##### Fall 2 - member mit Digital-Konto und Barcode membercard (Ereignis: Scan einer membercard!) 1\. scan demand & credit balance Hallo Banana, Kontostand: 13€ Scanne ein Getränk! (Ereignis: timeout 10s -\> home oder Scan!) 2\. scan result & credit balance Club Mate EAN 123456778890 1,00€ von Dir wurde gespendet! Kontostand: 12€ Flaschenaufkleber wird gedruckt... ------------------------------------------------------------------------ ##### Fall 3 - Direkter Scan einer Flasche/Objekts (Ereignis: Scan!) 1\. scan result & donation prompt Club Mate EAN 123456778890 1,00€ in die Kasse spenden? [Ja] [Nein] (Ereignis: "Nein"! oder timeout 10s -\> zurück nach homescreen. "Ja"! -\> Namensauswahl) 2\. homescreen with login Wer bist Du? [a][b][c][d][e][f][g] [h][i][j][k][l][m][n] [o][p][q][r][s][t][u] [v][w][x][y][z][#] [Gast] (Ereignis: timeout 5s -\> home; Tastendruck z.B. wenn \# dann Sonderzeichen Namen zeigen) 3\. name selection Dennis DoB DmB ... (Ereignis: timeout 5s -\> home oder Namenswahl) 4\. donation prompt Hallo DmB, Spende bitte 1,00€ in die Kasse! Flaschenaufkleber wird gedruckt... (Warten bis timeout 10s oder Touch! -\> home) ------------------------------------------------------------------------ #### Spezifikation für den Barcode 23Z YYYY YYYXX C enum Z { Steuerkarte = 0, Guthabenkarte = 1 } X - Steuerkarte: Anzahl an Elementen/Flaschen Guthabenkarte: Ursprünglicher Betrag Y - Steuerkarte: 0 Guthabenkarte: Random C - EAN-Checksum Der Barcode startet mit 23, um mit dem EAN-13-Standard kompatibel zu sein (20-29 für In-Store-Functions). Vgl: #### Datenbank #### Feature Ideen - Scanpiep ersetzen durch Schraubverschluss Geräusch (Zischhhh) - NFC Bezahl Methode - Nach Scan wird ein selbstklebendes Etikett ausgedruckt zum Flasche markieren (User ID, Datum, Glückskeksspruch ...) - Auf Flipdot Display werden gescannte Getränke gezählt (beta: nur 3 stellig, später mehr Infos wie Getränketyp) - Datenbank schlägt Alarm, wenn kritische Lagerbestände unterschritten werden (-\> Getränke-Einkauf) - Statistiken über Getränke :D - Zusätzlich gibt es einen Hardware Knopf mit dem ich alle Aktionen abbrechen kann und wieder zurück in den Initialzustand wechseln kann - Datenbank läuft mit auf dem PI, Daten bleiben im Space #### Hack Getränkezähler mit Flipdotdisplay verbunden und schöne Invaders lowres-font implementiert. "Wir kommen doch nicht über 999 Getränke pro Tag oder?" -\> Getränkezähler geDoSt: Makita, Deutschlandflagge, Krepklebeband, Bier-Etikett, Mate-Ettiket \^\^