Kassomat: Unterschied zwischen den Versionen

aus Metalab, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Wechseln zu: Navigation, Suche
(was bisher geschah...)
(15 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
== WTF ==
 
== WTF ==
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.
+
Eine selbstgebaute Kassa mit Touchinterface, die hauptsaechlich als 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.
 +
 
 +
<div style="background-color:#FFFFCC; border:2px #000000 dashed; padding:10px">
 +
'''IMPORTANT NOTE''':
 +
 
 +
'''Kassomat itself is not the metalab.'''
 +
 
 +
There are '''certain parties that will use the Kassomat''', where metalab shall be one. Kassomat uses the concept of a “project” in the software. Every project has an owner (such as the metalab, the photolab group, a single person, etc). This owner is responsible for handling all legal and tax implications. Kassomat is '''only a box where people put money in''', that records which project got what amount of money, so it can be split up again afterwards.
 +
 
 +
In addition to that, we're planning to '''allow people to prepay''' small amounts of money, so we can do stuff like payment by iButton. '''No loans will be given.''' ''-- anlumo, internal mailinglist, 15:15, 4.4.13''</div>
  
 
== Kontakt ==
 
== Kontakt ==
 
[[User:Vierlex]] fuehlt sich verantwortlich.
 
[[User:Vierlex]] fuehlt sich verantwortlich.
 
Mailingliste gibt es auch! [https://lists.metalab.at/mailman/listinfo/kassomat kassomat@lists.metalab.at]
 
Mailingliste gibt es auch! [https://lists.metalab.at/mailman/listinfo/kassomat kassomat@lists.metalab.at]
 +
 +
== Zeitplan ==
 +
 +
* ''''All-in Alpacca' Alpha''', ''April/Mai '13''
 +
** Man kann Zeug bezahlen und bekommt Retour Geld!
 +
** Spenden.
 +
** Einkaeufe werden geloggt.
 +
* ''''Bumble Bee' Beta''', ''Juni '13''
 +
** Einloggen mit MOS-Account moeglich
 +
** anlegen von Projekt/Community Töpfen
 +
*** Bitcoin bezahlen und auszahlen lassen
 +
** Shiny final UX fuer Kassomat
 +
* ''''Funny Ferret' Final''', ''? '13''
 +
** Strichcode-Erkennung
 +
** Laserjobs bezahlbar
 +
** Vinylcutter/Druckerjobs bezahlbar
 +
** Gehaeuse
 +
** Shiny final UX fuer Backend (Projekt/Community-Topfverwaltung)
 +
** sonstige softwareseitige Features
 +
 +
== Bisher entstandene Kosten ==
 +
 +
* Geldcheckhardware von aus.at, '''1006€''' ''(abgerechnet)''
 +
** Smart Hopper
 +
** NV200 + Smart Payout
 +
** passendes Kabelzeug
 +
* 2 Netzteile ueber [[User:overflo]] bestellt, '''52€''' ''(abgerechnet)''
 +
** er hat eine Rechnung ans Metalab gestellen.
 +
* Rohmaterial fuer das Gehaeuse, '''?€'''
 +
 +
'''Insgesamt (zur Zeit): 1058€'''
  
 
== was gerade passiert (ieren wird) ==
 
== was gerade passiert (ieren wird) ==
[[Datei:Kassomat-Mockup.png|600px]]
+
* es wurde viel in Richtung Bitcoin definiert/spezifiziert.
 +
* <s>finale Gehäuseplanung</s> fertig! wohoo!
 
* ''' es wird fleissig gecodet. '''
 
* ''' es wird fleissig gecodet. '''
* MendlMax Netzteile haben sich als passender temporaerer Ersatz herrausgestellt. eigene netzteile sind bestellt.
+
[[Datei:Kassomat-Mockup.png|600px]]
* Hardware ist da! fehlt nur noch das Netzteil dann kanns losgehen!!!
+
* <s>MendlMax Netzteile haben sich als passender temporaerer Ersatz herrausgestellt. eigene netzteile sind bestellt.</s>
* Lieferung in Auftrag gegeben, ETA Mitte/Ende Jaenner
+
** mittlerweile sind eigene Netzeile eingetroffen. juhu!
* Arbeitsgruppentreffen mit Bitcoin Leuten
+
* <s>Hardware ist da! fehlt nur noch das Netzteil dann kanns losgehen!!!<s/>
* finale Gehäuseplanung
+
* <s>Lieferung in Auftrag gegeben, ETA Mitte/Ende Jaenner</s>
* rudimentaeres GUI bauen (http://qt.digia.com/Global/Images/Qt/Files/EducationMaterial/L7%20-%20pdf.zip fuer alle die mitmachen wollen)
+
* <s>Arbeitsgruppentreffen mit Bitcoin Leuten</s>
 +
* <s>rudimentaeres GUI bauen</s> (http://qt.digia.com/Global/Images/Qt/Files/EducationMaterial/L7%20-%20pdf.zip fuer alle die mitmachen wollen)
 
** https://github.com/Metalab/kassomat look here
 
** https://github.com/Metalab/kassomat look here
* Datenbank planen
+
* <s>Datenbank planen</s>
 
* in den Linux-Example Code einlesen (wer das "SDK" haben will kassomat-owner@lists.metalab.at anschreiben, nutzt nicht viel wenn man die Hardware hat aber nja..)
 
* in den Linux-Example Code einlesen (wer das "SDK" haben will kassomat-owner@lists.metalab.at anschreiben, nutzt nicht viel wenn man die Hardware hat aber nja..)
  
 
== was bisher geschah... ==
 
== was bisher geschah... ==
 +
* '''3.4''' Anlumo und Vierlex und viele Bitcoin-Leute haben darueber geplaudert wies jetzt genau rennen soll. ergebnis sieht man weiter unten. Das Feature wurde mal fuer die Beta angelegt.
 
* '''15.2 - 17.2''' waehrend des aeusserst erfolgreichen [[Hackathon 9]] wurde die Hardware mit buggy Testprogrammen unter Windows und Linux erfolgreich auf Funktionalitaet ueberprueft sowie weitere Vorgehensweise beschlossen. Checkout le git.
 
* '''15.2 - 17.2''' waehrend des aeusserst erfolgreichen [[Hackathon 9]] wurde die Hardware mit buggy Testprogrammen unter Windows und Linux erfolgreich auf Funktionalitaet ueberprueft sowie weitere Vorgehensweise beschlossen. Checkout le git.
 
* '''7.2.13''', Geldscheinmanagment-Hardware wurde erfolgreich erworben.
 
* '''7.2.13''', Geldscheinmanagment-Hardware wurde erfolgreich erworben.
Zeile 51: Zeile 94:
 
* Frontend implementieren
 
* Frontend implementieren
 
** [[User:redplanet]], [[User:Vierlex]]
 
** [[User:redplanet]], [[User:Vierlex]]
* Backened implementieren (http server in der ORM library)
+
* Backened implementieren (mittels http server in der ORM library)
** [[User:anlume]]
+
** [[User:anlumo]]
 
+
* AuthentifizierungsschnittstellenBLA zum MOS
== wann fertig? ==
+
** [[User:Hop]]
 
+
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. '''ca. Mitte Februar '13'''
+
 
+
: Bitte aktualisiert die bislang tatsächlich angelaufenen Kosten die das Metalab trägt und den zeitlichen Plan hinsichtlich Fertigstellung bzw Nutzbarkeit in erster Ausbaustufe. Thx. --[[Benutzer:Pk|Pk]] 16:58, 12. Mär. 2013 (CET)
+
 
+
== und was kann der dann? ==
+
 
+
Der erste Prototyp inkludiert ein Touchinterface mit dem 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.
+
  
 
== features, Features. FEATURES! ==
 
== features, Features. FEATURES! ==
Zeile 82: Zeile 115:
 
* von hand eingetragene "its empty"-notification bei bezahlung von schrauben oder bauteilen aus dem sortiment (falls gwünscht)
 
* von hand eingetragene "its empty"-notification bei bezahlung von schrauben oder bauteilen aus dem sortiment (falls gwünscht)
 
* Bitcoins!
 
* Bitcoins!
 +
 +
== Bitcoin/Kassomat-Protokoll ==
 +
 +
 +
Ablauf (K=Kassomat, S=BC-Server):
 +
 +
<pre>
 +
  1. K->S Jemand will €2 bezahlen
 +
quote:
 +
eurocent: 200
 +
  2. S->K
 +
quote:
 +
uri: bitcoin:16f5635f73f?amount=0.01465324
 +
  3. K: wandelt uri in einen QR-Code um und zeigt ihn an (->zxing)
 +
  4. warten… (sleep 10sec)
 +
  5. BT-Workflow:
 +
  6.
 +
    1. S->K €2 wurden bezahlt
 +
receivebtc:
 +
uri: bitcoin:16f5635f73f?amount=0.01465324
 +
eurocent: 5000
 +
txid: aosihduawiusdfhgsiufhewufbsidjlbfkdsbfdfksb
 +
    2. K: Dialog wird geschlossen (mit Danke-Hinweis oder sowas)
 +
    3. Wenn mehr als das gezahlt wurde: Guthaben in € wird aufgerechnet
 +
  7. normaler Workflow:
 +
  8.
 +
    1. Geld wird eingeworfen, als Kontostand wird €8 angezeigt.
 +
 +
Websocket-Protokoll:
 +
hinschicken nur cent-Beträge
 +
zurück kommen URIs, wenn sie angezeigt werden sollen als QR-Code, oder uri+betrag, wenn für diese URI etwas bezahlt wurde. Der Betrag kann unterschiedlich sein!
 +
 +
Nur mit TLS, mit cert-pinning + client-side cert! Auch checken, welche crypto verwendet wird, kein RC4 erlauben!
 +
TLS macht schon challenge/response, d.h. es ist replay-sicher
 +
 +
Geldfluss in anderer Richtung:
 +
 +
 +
  1. Automat erkennt QR-Code
 +
  2. K->S: erkannte uri und Betrag, der gerade in € eingezahlt wurde
 +
sendbtc:
 +
address: bitcoin://aoishjdsoaidhashd
 +
eurocent: 3000
 +
  3. S->K: Transaktions-ID
 +
sentbtc:
 +
txid: aosihduawiusdfhgsiufhewufbsidjlbfkdsbfdfksb
 +
4. Transaktions-ID im Kassomat loggen!
 +
 +
Fehlerfall zu Punkt 3:
 +
sentbtc:
 +
error: "message"
 +
</pre>
  
 
[[Kategorie:Projekte]]
 
[[Kategorie:Projekte]]

Version vom 5. April 2013, 17:30 Uhr

WTF

Eine selbstgebaute Kassa mit Touchinterface, die hauptsaechlich als 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.

IMPORTANT NOTE:

Kassomat itself is not the metalab.

There are certain parties that will use the Kassomat, where metalab shall be one. Kassomat uses the concept of a “project” in the software. Every project has an owner (such as the metalab, the photolab group, a single person, etc). This owner is responsible for handling all legal and tax implications. Kassomat is only a box where people put money in, that records which project got what amount of money, so it can be split up again afterwards.

In addition to that, we're planning to allow people to prepay small amounts of money, so we can do stuff like payment by iButton. No loans will be given. -- anlumo, internal mailinglist, 15:15, 4.4.13

Kontakt

User:Vierlex fuehlt sich verantwortlich. Mailingliste gibt es auch! kassomat@lists.metalab.at

Zeitplan

  • 'All-in Alpacca' Alpha, April/Mai '13
    • Man kann Zeug bezahlen und bekommt Retour Geld!
    • Spenden.
    • Einkaeufe werden geloggt.
  • 'Bumble Bee' Beta, Juni '13
    • Einloggen mit MOS-Account moeglich
    • anlegen von Projekt/Community Töpfen
      • Bitcoin bezahlen und auszahlen lassen
    • Shiny final UX fuer Kassomat
  • 'Funny Ferret' Final, ? '13
    • Strichcode-Erkennung
    • Laserjobs bezahlbar
    • Vinylcutter/Druckerjobs bezahlbar
    • Gehaeuse
    • Shiny final UX fuer Backend (Projekt/Community-Topfverwaltung)
    • sonstige softwareseitige Features

Bisher entstandene Kosten

  • Geldcheckhardware von aus.at, 1006€ (abgerechnet)
    • Smart Hopper
    • NV200 + Smart Payout
    • passendes Kabelzeug
  • 2 Netzteile ueber User:overflo bestellt, 52€ (abgerechnet)
    • er hat eine Rechnung ans Metalab gestellen.
  • Rohmaterial fuer das Gehaeuse, ?€

Insgesamt (zur Zeit): 1058€

was gerade passiert (ieren wird)

  • es wurde viel in Richtung Bitcoin definiert/spezifiziert.
  • finale Gehäuseplanung fertig! wohoo!
  • es wird fleissig gecodet.
Kassomat-Mockup.png
  • MendlMax Netzteile haben sich als passender temporaerer Ersatz herrausgestellt. eigene netzteile sind bestellt.
    • mittlerweile sind eigene Netzeile eingetroffen. juhu!
  • Hardware ist da! fehlt nur noch das Netzteil dann kanns losgehen!!!<s/>
  • <s>Lieferung in Auftrag gegeben, ETA Mitte/Ende Jaenner
  • Arbeitsgruppentreffen mit Bitcoin Leuten
  • rudimentaeres GUI bauen (http://qt.digia.com/Global/Images/Qt/Files/EducationMaterial/L7%20-%20pdf.zip fuer alle die mitmachen wollen)
  • Datenbank planen
  • in den Linux-Example Code einlesen (wer das "SDK" haben will kassomat-owner@lists.metalab.at anschreiben, nutzt nicht viel wenn man die Hardware hat aber nja..)

was bisher geschah...

  • 3.4 Anlumo und Vierlex und viele Bitcoin-Leute haben darueber geplaudert wies jetzt genau rennen soll. ergebnis sieht man weiter unten. Das Feature wurde mal fuer die Beta angelegt.
  • 15.2 - 17.2 waehrend des aeusserst erfolgreichen Hackathon 9 wurde die Hardware mit buggy Testprogrammen unter Windows und Linux erfolgreich auf Funktionalitaet ueberprueft sowie weitere Vorgehensweise beschlossen. Checkout le git.
  • 7.2.13, Geldscheinmanagment-Hardware wurde erfolgreich erworben.
  • 7.1.13, spontane, interessante Plauderei mit den Bitcoin-Leuten ueber die Moeglichkeit ihre bereits bestehende APP einzubinden. Kassomat braeuchte dann dementsprechend permanenten Internetzugang. Arbeitstreffen wird folgen.
  • 19.12.12, 10:00, SBahn Station/Strebersdorf treffen mit User:ΠTΩ wegen dem Gehaeuse planen/Hardware besichtigen. War recht lustig, Vorführeffekt, Gerät hat nicht reagiert, aber es wurde angeboten wenn wir die Teile abholen kommen, sie Vorort auszupackenm zusammenzubauen und zu testen damits auch fix funktioniert.
  • 30.11.12, Angebot ist da, das ganze Zeug kostet 1016e. Wuerde gerne mit Zwax und Tom vorher das Zeug besichtigen und das Gehaeuse planen bevor wirs kaufen. moeglich erst ab 10ten Dezember weil Tom daweil in den US verweilt.
  • 24.11.12, Angebot von AuS.at wird eingeholt.
  • 22.11.12, ca. 20:00 treffen sich User:ΠTΩ und User:Vierlex und besprechen das Gehaeuse einer war krank, Ersatztermin folgt.
  • 20.11.12 Weitere GeldscheinEss- und -ausspuck Loesung Vega+RC von JCM. Sowie eine groessere All-in-One Loesung MCT 100(beinhaltet den Vega+RC) die man etwas customizen wuerde bzw vielleicht billiger kriegen koennt wenn man bestimmte Features nicht mitbestellt. Grosses Plus ist das bereits vorhandene (wenn auch sehr grosse) Gehaeuse! Fuer beide Items wurde bereits per-Mail angefragt. update User:ΠTΩ baut ein tolles Gehaeuse! voll super.
  • 18.11.12 erstes offizielles Orga Treffen eigentlich nur zum Thema Gehaeuse. Es ist schwerer als gedacht eine kostenguenstige und professionelle Lösung zu finden (zu dem das Budget sich verschmälert hat, siehe unten). Weitere Recherche nach geeignetem Material oder bereits fertigen Boxen nötig.
  • WICHTIG erstes Organisations treffen in Planung! am 18.11
  • 14.11.12 (nachtrag) ersteigerter NV200 ist NICHT erweiterbar mit einem Smartpayout Modul, daher muss alles neu angeschaft werden. dadurch erhöhen sich die Kosten auf 850€ OHNE Gehaeuse!
  • 13.11.12 Windows und Linux SDK get! (für Cash-Hardware)
  • 7.11.12 erstes UI Brainstorming. gar nicht so einfach. & Piratenpad Update.
  • 5.11.12 you can has http://piratepad.net/CUBI9uXphb (fuer Planung und Organisation) and https://github.com/Metalab/kassomat
  • 1.11.12 User:Vierlex schaut sich die low-level API PDF der Geraete an. NV200 (ohne Smart Payout Modul) um 160€ ersteigert. Hat auch um C Libraries bei inovative technology angefragt

Was gibts zu tun? (und wer machts)

features, Features. FEATURES!

zeug was man noch tun kann.

  • Strichcodeerkennung ueber die Webcam. ist einfach zu machen, gibt open source libs dafür - anlumo
  • 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
  • Autonome Kassaverwaltung (für div. Kleingruppen zb Fotolab,Werkstatt die über den Kassomat Geld in ihre gemeinsame Kassa einzahlen und sich auszahlen lassen können)
  • Custom Bezahlauftrag (wieviel/wofuer, spende)
  • Verwaltung von Spendentöpfen ala kickstarter.com! immer sichtbar, immer einzahlbar. Automatische Bewerbung von aktuellen Projekten als Idle-Screen.
  • Eine weitere Red Alert-Anzeige
  • von hand eingetragene "its empty"-notification bei bezahlung von schrauben oder bauteilen aus dem sortiment (falls gwünscht)
  • Bitcoins!

Bitcoin/Kassomat-Protokoll

Ablauf (K=Kassomat, S=BC-Server):

  1. K->S Jemand will €2 bezahlen
quote:
 eurocent: 200
  2. S->K
quote:
 uri: bitcoin:16f5635f73f?amount=0.01465324
  3. K: wandelt uri in einen QR-Code um und zeigt ihn an (->zxing)
  4. warten… (sleep 10sec)
  5. BT-Workflow:
  6. 
    1. S->K €2 wurden bezahlt
receivebtc:
 uri: bitcoin:16f5635f73f?amount=0.01465324
 eurocent: 5000
 txid: aosihduawiusdfhgsiufhewufbsidjlbfkdsbfdfksb
    2. K: Dialog wird geschlossen (mit Danke-Hinweis oder sowas)
    3. Wenn mehr als das gezahlt wurde: Guthaben in € wird aufgerechnet
  7. normaler Workflow:
  8. 
    1. Geld wird eingeworfen, als Kontostand wird €8 angezeigt.

Websocket-Protokoll:
hinschicken nur cent-Beträge
zurück kommen URIs, wenn sie angezeigt werden sollen als QR-Code, oder uri+betrag, wenn für diese URI etwas bezahlt wurde. Der Betrag kann unterschiedlich sein!

Nur mit TLS, mit cert-pinning + client-side cert! Auch checken, welche crypto verwendet wird, kein RC4 erlauben!
TLS macht schon challenge/response, d.h. es ist replay-sicher

Geldfluss in anderer Richtung:


  1. Automat erkennt QR-Code
  2. K->S: erkannte uri und Betrag, der gerade in € eingezahlt wurde
sendbtc:
 address: bitcoin://aoishjdsoaidhashd
 eurocent: 3000
  3. S->K: Transaktions-ID
sentbtc:
 txid: aosihduawiusdfhgsiufhewufbsidjlbfkdsbfdfksb
 4. Transaktions-ID im Kassomat loggen!

Fehlerfall zu Punkt 3:
sentbtc:
 error: "message"