Zum Inhalt springen

Kassomat: Unterschied zwischen den Versionen

M68k (Diskussion | Beiträge)
K minor style improvements
Bild hinzugefügt, Videos entfernt, da nicht mehr verfügbar
 
(14 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:Kassomat 2022.jpg|mini|rechts|Kassomat]]
{{Projekt
{{Projekt
|image=KASSOMAT.png
|image=KASSOMAT.png
Zeile 9: Zeile 11:
== Kassomat ==
== Kassomat ==


* Video: https://www.youtube.com/watch?v=V_DINDvbJZY
payoutd controls the hardware and feeds events into redis queues where other tools may pick them up.
* Payoutd: https://github.com/sixtyeight/Payout
Changeomatic listens to events in those redis queues and allows users to change banknotes into coins.
* Maintenance Mode Application: https://github.com/phaer/kassomat-scripts
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! :)
* Changeomatic: https://github.com/sixtyeight/changeomatic
There is now an [https://github.com/metalab-kassomat umbrella organization] on github which contains all the sub-projects listed below.


== Development ==
'''''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]
In case you don't have the actual hardware available you can use the Payoutd/Cash hardware Simulator instead: https://github.com/hettipeti/PayoutSimulator


The https://github.com/hettipeti/PayoutSimulator/tree/master/PayoutSim_v3/PayoutSimulator folder contains the latest version.
== Kassomat/VM ==


== Status ==
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).
 
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 [https://github.com/sixtyeight/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! :)


== Components ==
== Components ==


* '''Changeomatic'''
* '''Changeomatic'''
** [https://github.com/sixtyeight/changeomatic Source]
** [https://github.com/metalab-kassomat/kassomat-changeomatic Source]
** Written in Java
** 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
** UI: Graphical Swing Frontend
** libs
** libs
*** [http://redisson.org/ Redisson] (Redis client)
*** [http://redisson.org/ Redisson] (Redis client)
*** [https://github.com/FasterXML/jackson Jackson] (JSON library)
*** [https://github.com/FasterXML/jackson Jackson] (JSON library)


* '''Maintenance Mode Application'''
* '''Maintenance Mode Application'''
** [https://github.com/phaer/kassomat-scripts Source]
** [https://github.com/metalab-kassomat/kassomat-scripts Source]
** Written in Python
** 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
** UI: Console interface
** libs
*** [https://pypi.python.org/pypi/redis redis]


* '''Payout'''
* '''Payout'''
** [https://github.com/sixtyeight/Payout Source]
** [https://github.com/metalab-kassomat/kassomat-payout Source]
** Written in C
** Written in C, can be built with make
** Linux daemon
** Linux daemon
** [https://github.com/sixtyeight/Payout/blob/master/docs/overview.md JSON API] (accessible via Redis)
** [https://github.com/metalab-kassomat/kassomat-payout/blob/master/docs/overview.md JSON API] (accessible via Redis)
** UI: none
** UI: none
** libs
** libs
Zeile 52: Zeile 57:
*** [https://sourceforge.net/projects/libuuid/ libuuid]
*** [https://sourceforge.net/projects/libuuid/ libuuid]
*** ITL example code (aka "vendor hardware library")
*** 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]'''
* '''[http://redis.io/ Redis]'''
Zeile 57: Zeile 74:
** not used as a datastore!
** not used as a datastore!


 
[[Datei:kassomat-overview.png|500px|thumb|left|Overview of the various components]]
{{#ev:youtube|V_DINDvbJZY|360|left|Kassomat mit Change-o-matic in Action}}


[[Kategorie:Projekte]]
[[Kategorie:Projekte]]