Kassomat: Unterschied zwischen den Versionen
M68k (Diskussion | Beiträge) added link to payout simulator |
Bild hinzugefügt, Videos entfernt, da nicht mehr verfügbar |
||
(19 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 == | ||
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. | ||
* Maintenance Mode Application | 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. | ||
'''''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] | |||
== Kassomat/VM == | |||
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). | |||
== Components == | |||
* '''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) | |||
* '''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]] | [[Kategorie:Projekte]] |