Zum Inhalt springen

Kassomat: Unterschied zwischen den Versionen

M68k (Diskussion | Beiträge)
added link to maintenance mode application
Bild hinzugefügt, Videos entfernt, da nicht mehr verfügbar
 
(20 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
|involved=[[User:anlumo]] [[User:m68k]] [[User:ripper]] [[User:phaer]]
|involved=[[User:anlumo]] [[User:m68k]] [[User:ripper]] [[User:phaer]] [[User:hetti]]
|startdate=XX.10.2012
|startdate=XX.10.2012
|status=in progress
|status=in progress
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.
 
'''''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)
 


'''Status:''' payoutd controls the hardware and feeds events
* '''[http://redis.io/ Redis]'''
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.
** message broker between the different components (Changeomatic, Payout and the Maintenance Mode Application)
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! :)
** not used as a datastore!


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


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