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
K (added how to invoke maintenance app)
(8 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 11: Zeile 11:
 
payoutd controls the hardware and feeds events into redis queues where other tools may pick them up.
 
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.
 
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! :)
+
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.
 +
 
 +
== 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 ==
 
== Components ==
  
 
* '''Changeomatic'''
 
* '''Changeomatic'''
** [https://github.com/sixtyeight/changeomatic Source]
+
** [https://github.com/metalab-kassomat/kassomat-changeomatic Source]
 
** Written in Java, can be built (and run) with [https://maven.apache.org/ Maven]
 
** Written in Java, can be built (and run) with [https://maven.apache.org/ Maven]
 
*** build: <code>mvn install</code>
 
*** build: <code>mvn install</code>
Zeile 27: Zeile 32:
  
 
* '''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
*** run: <code>./kassomat-set-coin-levels.py</code>
+
*** 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, can be built with make
 
** 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 48: Zeile 56:
  
 
* '''Payout Simulator''' ''for development without the real hardware''
 
* '''Payout Simulator''' ''for development without the real hardware''
** [https://github.com/hettipeti/PayoutSimulator Source]
+
** [https://github.com/metalab-kassomat/kassomat-payout-simulator Source]
 
** Written in Java, can be built (and run) with [https://maven.apache.org/ Maven]
 
** Written in Java, can be built (and run) with [https://maven.apache.org/ Maven]
 
*** build: <code>mvn install</code>
 
*** build: <code>mvn install</code>
 
*** run: <code>mvn exec:java -Dexec.mainClass="at.metalab.payoutsim.PayoutSimMain"</code>
 
*** run: <code>mvn exec:java -Dexec.mainClass="at.metalab.payoutsim.PayoutSimMain"</code>
** TODO: cleanup directories, latest version in [https://github.com/hettipeti/PayoutSimulator/tree/master/PayoutSim_v3/PayoutSimulator this] folder for now
 
** TODO: remove JavaFX
 
 
** UI: Graphical Swing Frontend
 
** UI: Graphical Swing Frontend
 
** libs
 
** libs
Zeile 64: Zeile 70:
 
** 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}}
 
{{#ev:youtube|V_DINDvbJZY|360|left|Kassomat mit Change-o-matic in Action}}
 +
{{#ev:youtube|V_xZ0XY37NehM|360|left|Kassomat zum Geldzählen verwenden}}
  
 
[[Kategorie:Projekte]]
 
[[Kategorie:Projekte]]

Version vom 23. November 2016, 22:25 Uhr


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: 2016-11-23


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.

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
Kassomat mit Change-o-matic in Action
Kassomat zum Geldzählen verwenden