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
(155 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== WTF ==
+
{{Projekt
Eine selbstgebaute Kassa mit Touchinterface, die (parallel??/ersatz??) zur offenen Kassa im Einsatz sein soll, die verhindern soll dass nicht einfach so mehrere Geldscheine aus der Kassa verschwinden. Zusaetzlich eroeffnen sich angenehme Funktionalitaet wie zB: iButton Credits, automatische Buchhaltung, Lazzzor Jobs erfassen, Barcode Scanner,.. whatnot.
+
|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
 +
}}
  
== Kontakt ==
+
== Kassomat ==
[[User:Vierlex]] fuehlt sich verantwortlich.
 
Mailingliste gibt es auch! kassomat@lists.metalab.at
 
  
== was bisher geschah... ==
+
payoutd controls the hardware and feeds events into redis queues where other tools may pick them up.
* '''WICHTIG''' erstes Organisations treffen in Planung! [[http://doodle.com/que8ayuhnnaqfzcy zum Doodle]], wenn jemand keinen Termin findet, [[User:Vierlex]] kontaktieren oder auf die Mailingliste schreiben.
+
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/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.
  
* '''5.11.12''' you can has http://piratepad.net/CUBI9uXphb (fuer Planung und Organisation) and https://github.com/vierlex/kassomat
+
== Kassomat/VM ==
  
* '''1.11.12''' [[User:Vierlex]] schaut sich die low-level API [http://www.innovative-technology.co.uk//images/pdocuments/sspdoc/GA138%202_0_0.pdf PDF] der Geraete an. NV200 (ohne Smart Payout Modul) um 160€ ersteigert. Hat auch um C Libraries bei [http://www.innovative-technology.co.uk inovative technology] angefragt
+
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).
  
== Finanzierung!! ==
+
== Components ==
WICHTIG!
 
Core hat die Befuerchtung, auf Grund geringem Interesse und Leute die das umsetzen wollen, dass das nix wird. Also bitte bitte, wenn ihr findets, dass es eine gute Idee ist und helfen koennts, das waer super, besonders beim GEHAEUSE!
 
[[User:Vierlex]] hat mittlerweile auf eigene Tasche ein Teil gekauft und ist fest davon ueberzeugt dass das was wird. '''** update ** passt, it's a go!'''
 
  
== Hardware ==
+
* '''Changeomatic'''
* NV200 (hat [[User:Vierlex]] auf ebay um '''160€''' ersteigert! neu: '''450€''') + Smart Payout Modul (neu: '''200€''')
+
** [https://github.com/metalab-kassomat/kassomat-changeomatic Source]
** [http://www.coinoperatorshop.com/Banknoten-pruefen-zaehlen-ausgeben/Banknotenleser/Leser/NV200-mit-Smart-Payout.html zum Shop] Diese Machinerie verwaltet Banknoten, hier wird ein zusaetzliches Modul benoetigt umd
+
** Written in Java, can be built (and run) with [https://maven.apache.org/ Maven]
* Smart Hopper ('''190€''')
+
*** build: <code>mvn install</code>
** [http://www.coinoperatorshop.com/Muenzen-zaehlen-pruefen-ausgeben/Muenzauszahlung/Hopper/Smart-Hopper/Smart-Hopper.htm zum Shop] Kann Muenzen pruefen und retour geben. Auf ebay daweil nciht gesichtet.
+
*** run: <code>mvn exec:java -Dexec.mainClass="at.metalab.changeomatic.ChangeomaticMain"</code>
* Raspberry Pi ('''35€''') + Touchscreen ('''0€''') ODER Touchscreen Laptop ('''0€''')
+
** UI: Graphical Swing Frontend
** als Rechenpower und Interface. Auf der Mailingliste will [[User:overflo]] einen Touchscreen spenden, sowie noch jemand einen Laptop mit Touchscreen.
+
** libs
* GEHAEUSE! ('''?€''')
+
*** [http://redisson.org/ Redisson] (Redis client)
** eine Stahlbox? kein Plan daweil<br />''Einen "Elektronischen Safe" gibts schon [http://www.conrad.de/ce/de/product/777733/Elektronischer-Safe-mit-LCD ab etwa 50 Euro]. Eine beliebig gewählte [http://www.conrad.de/ce/de/product/777734/Dokumenten-Safe-mit-elektronischem-Schloss/0801076&ref=list größere Variante für 109,-]<br /> Ein solcher Preis ist im Selbstbau schwer zu erreichen - und das Ding schließt dann auch richtig.'' --[[Benutzer:Pk|Pk]] 13:09, 5. Nov. 2012 (CET)
+
*** [https://github.com/FasterXML/jackson Jackson] (JSON library)
'''* Gesamt (zur Zeit): 550€ (585€) + Gehaeuse'''
 
  
<gallery>
 
File:Meta_kassa_Smartpayout.jpg|[http://www.coinoperatorshop.com/Banknoten-pruefen-zaehlen-ausgeben/Banknotenleser/Leser/NV200-mit-Smart-Payout.html NV200+Smart Payout]
 
File:Meta_kassa_Smarthopper.jpg|[http://www.coinoperatorshop.com/Muenzen-zaehlen-pruefen-ausgeben/Muenzauszahlung/Hopper/Smart-Hopper/Smart-Hopper.htm Smart Hopper]
 
File:Meta_kassa_M912V.jpg|Touchscreen Laptop [http://en.wikipedia.org/wiki/Gigabyte_M912 Gigabyte M12V]
 
</gallery>
 
  
== Wer macht was? ==
+
* '''Maintenance Mode Application'''
* [[User:vierlex]] (Ansprechperson) mag es soweit hin bringen dass die Scheinfresser und Muenzfresser miteinenader kommunizieren koennen und von aussen ansprechbar sind. fuers Erste.
+
** [https://github.com/metalab-kassomat/kassomat-scripts Source]
* [[User:anlumo]] mag beim Software/Interface Design mitmischen.
+
** Written in Python
* [[User:redplanet]] mag Webinterface implementieren.
+
*** 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]
  
=== fuer das braeucht ma noch wem ===
 
* Gehaeuse !! daweil gibts dafuer noch niemanden mit Kenntnissen ([[User:Zwax]] hat Interesse geaeussert!! leinwand, hat nach der Roboexotica Zeit)
 
* Userinterface/Software implementieren (mit [[User:redplanet]])
 
* Hardware tuefteln, low-level API schreiben [http://www.innovative-technology.co.uk//images/pdocuments/sspdoc/GA138%202_0_0.pdf PDF zum Protokoll] (mit [[User:Vierlex]])
 
  
== wann fertig? ==
+
* '''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")
  
Wenn es von Core das OK gibt dann schaetze ich ([[User:Vierlex]]) wuerde das ganze ca 4 Monate dauern bis ein funktionierender Prototyp fertig ist. Dieser ist noch nicht fuer den regelmaessigen Betrieb gedacht, erst nach exzessivem Testen
 
  
== und was kann der dann? ==
+
* '''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)
  
Der erste Prototyp inkludiert ein Touchinterface mit man ein Getraenk auswaehlen kann. Man kann mit Muenzen oder mit Geldscheinen zahlen und bekommt entsprechend wieder Muenzen und/oder Scheine als Retourgeld zurueck.
 
  
Zusaetzlich soll es eine grundlegende Dokumentation (geschriebener Code dokumentiert, wie ist er zu erweitern ) und Wartungsmanual (wie entleere ich das Ding, was tun wenns spinnt) geben.
+
* '''[http://redis.io/ Redis]'''
 +
** message broker between the different components (Changeomatic, Payout and the Maintenance Mode Application)
 +
** not used as a datastore!
  
== zukunftsmusik ==
+
[[Datei:kassomat-overview.png|500px|thumb|left|Overview of the various components]]
  
zeug was man noch tun kann.
+
{{#ev:youtube|V_DINDvbJZY|360|left|Kassomat mit Change-o-matic in Action}}
 
+
{{#ev:youtube|V_xZ0XY37NehM|360|left|Kassomat zum Geldzählen verwenden}}
* Strichcodeerkennung ueber die Webcam.
 
* Logging der verschiedenen Einnahmen (fuer Buchhaltung interessant und Statistiken: Mate-konsum um welche Uhrzeiten am meisten verkauft?)
 
* Lazzzor Jobs bezahlen
 
* iButton mit Credits
 
* Vinyldrucker Jobs bezahlen
 
* Druckerauftraege bezahlen
 
* Custom Bezahlauftrag (wieviel/wofuer)
 
  
 
[[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