Kasse deployed!

Ich habe endlich die Kasse deployed. Ich hoffe es funktioniert halbwegs. Bin sehr gespannt auf Feedback etc. Es sieht noch nicht sonderlich geil aus (Moplayout), aber es sollte funktionieren!

Für Nutzer:innen:

Die Kasse ist intern (also im space) über https://getraenkekasse.kalk.space zu erreichen. Von aussen habe ich es geblockt (hoffe ich :joy: ). Als erstes brauchst du einen Account: Dazu oben im Menü auf Mete gehen und dort über das Interface einen Account anlegen.

Dann kannst du wieder auf die Kasse gehen und entweder über den Nutzer:innen Selector bezahlen. Ich hoffe es ist halbwegs verständlich gebaut?

Kontaktlos:

Neben der Kasse sind zwei Geräte:

Barcodescanner
NFC-Reader

über den Barcodescanner kannst du getränke scannen. Ich habe zwei barcodes für tee und kaffee dort platziert. Es sollte genau das gleiche passieren, wie wenn du dort rumtouchst. Ich habe nur ein paar wenige Codes angelegt. Wenn welche fehlen kannst du sie über das Interface (Mete) hinzufügen.

der nfc reader liest nfc tags. der klassiker sind so karten. Die gehen. Wenn du eine rumliegen hast, kannst du sie mitbringen. Das UI sollte dir einen Dialog präsentieren, um die Karte mit deinem Account zu verknüpfen.

Besitzt du ein Android Phone, kannst du mit dem Link am kühlschrank eine (sehr minimalistische) app runterladen. Die App macht nichts weiter, als eine Zahl zu würfeln und dann an den NFC Reader zu schicken. Die App ist komplett unsigniert und Android wird schimpfen, dass das alles unsicher ist. Der weg zum freischalten der App ist vermutlich bei jedem Android ein wenig anders. :frowning:

Wenn du die App installiert hast, gehe mit deinem Telefon zum nfc reader und mache das Telefon an (es reicht, wenn der LockScreen zu sehen ist), aber das Telefon muss an sein (also display), damit die NFC geschichte funktioniert.

Sehr gerne Feedback!

Entwickler:innen

Aller Code ist auf Github. Es ist ein ziemlicher Wildwuchs und ich muss mal mehr Doku machen. Folgende Repos sind involviert:

GitHub - kalkspace/getraenkekasse-tablet-setup: Getränkekiosk using a Dell Tablet + mete (tablet installation)
GitHub - kalkspace/getraenkekasse (die frontend app)
GitHub - kalkspace/getraenkekassengeraete (interface zu nfc und barcodes)
GitHub - kalkspace/getraenkekasse-mete-compat (kleiner kompatibilitätslayer. mete kann nicht alles was wir brauchen)
GitHub - kalkspace/getraenkekarte (android app)

Ich werde ggf. die Tage mal ein paar issues erstellen. Es gibt noch jede Menge zu tuen. Vorallem muss der compat layer sterben. Das ist aber nicht trivial.

Admins

Ich habe das Infra Team hinzugefügt. Ich habe leider @christian vergessen :joy: das war keine böse absicht. wenn du drauf willst, am besten pull request in dem tablet-setup repo. da ist irgendwas in dem user ansible.

ihr solltet alle mit ssh getraenkekasse-mgmt@getraenkekasse.kalk.space drauf kommen (public key only, pw auth disabled). Eure keys von github sind auf dem tablet hinterlegt. dieser account kann ohne pw sudo etc.

Troubleshooting:

  • die kiste rebootet aktuell nicht sauber…bitte NICHT reboot eingeben ohne dass ihr im space seid. Man muss oben den powerknopf ne weile halten, dann geht es dann aus. das ist noch todo. irgendwas im docker hängt für immer
  • wenn irgendwas „komisch“ mit dem UI ist: systemctl restart getraenke-kiosk. das startet den ui kram neu
  • das ganze kassensystem läuft über docker services. wenn irgendwas anderes „komisch“ ist, dann am besten mal mit docker ps/restart/logs gucken, ob ihr das gefixt bekommt.
  • ansonsten rebooten (nur, wenn ihr im space seid :joy: s.o.)
  • es gibt den standard prometheus node exporter … den muss ich noch im metrics system hinzufügen
3 Likes

Sehr cool, bin gespannt!