Kassomat: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
(Bild hinzugefügt, Videos entfernt, da nicht mehr verfügbar)
 
(199 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
zukuenftige Projektseite der Meta-Kassa.
+
[[Datei:Kassomat 2022.jpg|mini|rechts|Kassomat]]
  
 +
{{Projekt
 +
|image=KASSOMAT.png
 +
|involved=[[User:anlumo]] [[User:m68k]] [[User:ripper]] [[User:phaer]] [[User:hetti]]
 +
|startdate=XX.10.2012
 +
|status=in progress
 +
|wtf=box which changes banknotes into coins
 +
}}
  
== WTF ==
+
== Kassomat ==
Eine selbstgebaute Kassa mit Touchinterface, die parallel zur offenen Kassa im Einsatz sein soll, die verhindern soll dass Leute einfach so sich mehrere Geldscheine aus der Kassa verschwinden. Zusaetzlich eroeffnen sich Vorteile erweiterbarkeit der Funktionalitaet wie zB: iButton Credits, automatische Buchhaltung, Lazzzor Jobs erfassen, Barcode Scanner,.. whatnot.
 
  
== Finanzierung!! ==
+
payoutd controls the hardware and feeds events into redis queues where other tools may pick them up.
laut Core haben sie die Befuerchtung auf Grund geringem Interesse und Leute die das umsetzen wollen, dass das nix wird. Also bitte bitte, wenn ihr findets das es eine gute Idee ist und helfen koennts, das waer super, besonders beim GEHAEUSE!
+
Changeomatic listens to events in those redis queues and allows users to change banknotes into coins.
[[User:Vierlex]] hat mittlerweile auf eigene Tasche ein Teil gekauft und ist fest davon ueberzeugt dass das was wird.
+
The protocol is documented in the [https://github.com/metalab-kassomat/kassomat-payout/blob/master/docs/overview.md payoutd repository]. People who are interested in implementing a more advanced POS system are very welcome to do so! :)
 +
There is now an [https://github.com/metalab-kassomat umbrella organization] on github which contains all the sub-projects listed below.
  
== Hardware ==
+
'''''Please note:''' From 6/2021 on the manufacturer of Smart Hopper (coin unit) and NV200 (banknotes) will no longer provide new currency or firmware updates. No spare parts, too.'' [https://metalab.at/wiki/Datei:Innovative_Technology_Ltd_-_Obsolete_Products_Notification.pdf cf. PDF]
* NV200 (hat [[Vierlex]] auf ebay um 160€ ersteigert!) + Smart Payout Modul (neu 450€ + 200€)  
 
** http://www.coinoperatorshop.com/Banknoten-pruefen-zaehlen-ausgeben/Banknotenleser/Leser/NV200-mit-Smart-Payout.html Diese Machinerie verwaltet Banknoten, hier wird ein zusaetzliches Modul benoetigt umd
 
* Smart Hopper (190€)
 
** http://www.coinoperatorshop.com/Muenzen-zaehlen-pruefen-ausgeben/Muenzauszahlung/Hopper/Smart-Hopper/Smart-Hopper.html Kann Muenzen pruefen und retour geben. Auf ebay daweil nciht gesichtet.
 
* Raspberry Pi (35€) + Touchscreen
 
** als Rechenpower und Interface. Auf der Mailingliste will [[overflo]] einen Touchscreen spenden, sowie noch jemand einen Laptop mit Touchscreen.
 
* GEHAEUSE!
 
** eine Stahlbox? kein Plan daweil
 
  
== Leute ==
+
== Kassomat/VM ==
  
WICHTIG!
+
Instead of installing a lot of packages and requirements you could opt to use [https://www.virtualbox.org VirtualBox] and [https://www.vagrantup.com Vagrant]. The [https://github.com/metalab-kassomat/kassomat-vm kassomat-vm] repository contains all the necessary files to get a fully provisioned virtual machine (it is even possible to plug the actual hardware into your host and use it from inside the vm).
  
*anlumo mag beim Software/Interface Design mitmischen
+
== Components ==
*redplanet mag Interface implementieren
 
*vierlex mag es soweit hin bringen dass die Scheinfresser und Muenzfresser miteinenader kommunizieren koennen und von aussen ansprechbar sind. fuers Erste.
 
*du?
 
  
== wann fertig? ==
+
* '''Changeomatic'''
 +
** [https://github.com/metalab-kassomat/kassomat-changeomatic Source]
 +
** Written in Java, can be built (and run) with [https://maven.apache.org/ Maven]
 +
*** build: <code>mvn install</code>
 +
*** run: <code>mvn exec:java -Dexec.mainClass="at.metalab.changeomatic.ChangeomaticMain"</code>
 +
** UI: Graphical Swing Frontend
 +
** libs
 +
*** [http://redisson.org/ Redisson] (Redis client)
 +
*** [https://github.com/FasterXML/jackson Jackson] (JSON library)
  
Wenn es das von Core das OK gibt dann schaetze ich wuerde das ganze ca 4 Monate dauern bis ein funktionierender Prototyp fertig ist.
+
 
 +
* '''Maintenance Mode Application'''
 +
** [https://github.com/metalab-kassomat/kassomat-scripts Source]
 +
** Written in Python
 +
*** set the coin levels: <code>./kassomat-set-coin-levels.py</code>
 +
*** count the coins (n.b. '''this will dump all coins through the bottom opening!'''): <code>./kassomat-count-coins.py</code>
 +
** UI: Console interface
 +
** libs
 +
*** [https://pypi.python.org/pypi/redis redis]
 +
 
 +
 
 +
* '''Payout'''
 +
** [https://github.com/metalab-kassomat/kassomat-payout Source]
 +
** Written in C, can be built with make
 +
** Linux daemon
 +
** [https://github.com/metalab-kassomat/kassomat-payout/blob/master/docs/overview.md JSON API] (accessible via Redis)
 +
** UI: none
 +
** libs
 +
*** [https://github.com/redis/hiredis hiredis] (Redis client)
 +
*** [http://libevent.org libevent2] (Event Dispatching)
 +
*** [http://www.digip.org/jansson/ libjansson] (JSON library)
 +
*** [https://sourceforge.net/projects/libuuid/ libuuid]
 +
*** ITL example code (aka "vendor hardware library")
 +
 
 +
 
 +
* '''Payout Simulator''' ''for development without the real hardware''
 +
** [https://github.com/metalab-kassomat/kassomat-payout-simulator Source]
 +
** Written in Java, can be built (and run) with [https://maven.apache.org/ Maven]
 +
*** build: <code>mvn install</code>
 +
*** run: <code>mvn exec:java -Dexec.mainClass="at.metalab.payoutsim.PayoutSimMain"</code>
 +
** UI: Graphical Swing Frontend
 +
** libs
 +
*** [http://redisson.org/ Redisson] (Redis client)
 +
*** [https://github.com/FasterXML/jackson Jackson] (JSON library)
 +
 
 +
 
 +
* '''[http://redis.io/ Redis]'''
 +
** message broker between the different components (Changeomatic, Payout and the Maintenance Mode Application)
 +
** not used as a datastore!
 +
 
 +
[[Datei:kassomat-overview.png|500px|thumb|left|Overview of the various components]]
 +
 
 +
[[Kategorie:Projekte]]

Aktuelle Version vom 20. Mai 2022, 22:00 Uhr

Kassomat



Kassomat
KASSOMAT.png
Gestartet: XX.10.2012
Involvierte: User:anlumo User:m68k User:ripper User:phaer User:hetti
Status: in progress
Beschreibung: box which changes banknotes into coins
Shutdownprozedur:
Zuletzt aktualisiert: 2022-05-20


Kassomat

payoutd controls the hardware and feeds events into redis queues where other tools may pick them up. Changeomatic listens to events in those redis queues and allows users to change banknotes into coins. The protocol is documented in the payoutd repository. People who are interested in implementing a more advanced POS system are very welcome to do so! :) There is now an umbrella organization on github which contains all the sub-projects listed below.

Please note: From 6/2021 on the manufacturer of Smart Hopper (coin unit) and NV200 (banknotes) will no longer provide new currency or firmware updates. No spare parts, too. cf. PDF

Kassomat/VM

Instead of installing a lot of packages and requirements you could opt to use VirtualBox and Vagrant. The kassomat-vm repository contains all the necessary files to get a fully provisioned virtual machine (it is even possible to plug the actual hardware into your host and use it from inside the vm).

Components

  • Changeomatic
    • Source
    • Written in Java, can be built (and run) with Maven
      • build: mvn install
      • run: mvn exec:java -Dexec.mainClass="at.metalab.changeomatic.ChangeomaticMain"
    • UI: Graphical Swing Frontend
    • libs


  • Maintenance Mode Application
    • Source
    • Written in Python
      • set the coin levels: ./kassomat-set-coin-levels.py
      • count the coins (n.b. this will dump all coins through the bottom opening!): ./kassomat-count-coins.py
    • UI: Console interface
    • libs


  • Payout
    • Source
    • Written in C, can be built with make
    • Linux daemon
    • JSON API (accessible via Redis)
    • UI: none
    • libs


  • Payout Simulator for development without the real hardware
    • Source
    • Written in Java, can be built (and run) with Maven
      • build: mvn install
      • run: mvn exec:java -Dexec.mainClass="at.metalab.payoutsim.PayoutSimMain"
    • UI: Graphical Swing Frontend
    • libs


  • Redis
    • message broker between the different components (Changeomatic, Payout and the Maintenance Mode Application)
    • not used as a datastore!
Overview of the various components