Projektübersicht:

Projektbeginn:
Sommer 2009
Team:
Alexandre Fischer (Hardware), Marcel Törpe (Software, Backup)
Projektstatus:
zu ~95% abgeschlossen
Geschichte:

Die Idee zu dem Projekt kam im Sommer letzten Jahres auf. Grundidee: Modernisierung der veralteten Kassensysteme des Vereins der Studenten im Olympiazentrum durch zunächst den Kauf eines (älteren) Touchscreen-Modells, Eigenentwicklung eines Kassen(schub)öffners, sowie Nutzung der vorhandenen Open Source Software OpenbravoPOS. Dabei wurde sowohl auf niedrige Kosten der Hardware als auch auf die Verwendung von lizenzfreien Softwarelösungen (Linux (Debian), Mysql) geachtet. Nach den ersten kleineren Testphasen weitete sich das Projekt in Sachen Professionalität und Umfang immer mehr aus, sodass wir heute mit gutem Recht behaupten können, ein Kassensystem auf dem neusten Stand der Technik entwickelt zu haben, was kommerziellen Lösungen in nichts nachsteht und dabei sehr kostengünstig ist. Nach einer fast halbjährigen ausführlichen Testphase mit einem Modellsystem wurden Anfang des Jahres 2010 so gut wie alle alten aktiven Kassen des Vereins durch diese neue Touchscreen Lösung ersetzt und haben sich seitdem deutlich bewährt. Aufgrund einer Bauphase in den Gemeinschaftsräumen des Vereins sowie den zugehörigen Betrieben (Bierstube etc.), die noch bis Ende 2010 andauert, sind die Kassen jedoch vorerst nicht mehr in Betrieb. Sobald die Renovierungsarbeiten abgeschlossen sind, wird der Betrieb sicherlich wieder aufgenommen und den Systemen der letzte Feinschliff verpasst.

Software

Betriebssystem: Linux - Debian Lenny

Unter dem Gesichtspunkt der Lizenzfreiheit und der Möglichkeit alles nach unseren Bedürfnissen zu konfigurieren, um ein dauerhaft stabiles System zu schaffen, war von Anfang recht schnell klar das ganze auf Linux laufen zu lassen. Schwierigkeiten traten natürlich bei der Einbindung der Hardware auf (v.a. des Elo-Touchscreens sowie des USB Kundendisplays), letztendlich haben wir es aber doch meistern können. Tipps und Hinweise sowie Anleitungen finden sich im hier.

Kassensoftware: Arbeitstitel OpenbravoPOS reloaded

Die folgende Tabelle soll die Unterschiede zur frei erhältlichen OpenSource Software OpenbravoPOS erläutern. Im Zuge des Projektes musste die vorhandene Software umfangreich abgeändert werden und hat sich mittlerweile duetlich von der ursprünglichen Version entfernt. Viele Funktionen sind hinzugekommen oder wurden verbessert. Gewisse Dinge blieben dabei leider auf der Strecke, wären aber theoretisch mit ein wenig Aufwand auch möglich wiederherzustellen. Im Anschluss an die Übersicht folgen die ersten Screenshots, die die einzelnen Punkte in Aktion zeigen sollen. Startpunkt für die Weiterentwicklung bildete der frei runterladbare Quellcode (Java), der im folgenden mit Netbeans IDE modifiziert und ergänzt wurde.

Feature/Funktion OpenbravoPOS    (v. 2.3) OpenbravoPOS reloaded
Multiplatformfähig (Java Runtime)
Unterstützung versch. Datenbanken (nur Mysql / Derby) *
Unterstützung versch. POS Hardware
Integration in Openbravo ERP (nicht überprüft) *
Stock Management *
Screensaver/Putzmodus
verbessertes Verkaufsinterface
komfortables Kassenlayout-System
anpassbare Farbkodierung für Produkte
mehrere Preisebenen pro Produkt + Umschaltmodus
mehrere Warenhäuser/Betriebe auf gleicher Datenbank möglich
Beliebig viele Kassen pro Warenhaus möglich
Datenbanksyncronisation / Datenbackup
Fehler-Logging mit Email Benachrichtigung
Kückendrucker & Bonsystem **
Tagesgericht
überarbeitete Kassenabschluss-Logik
neue Optionen bei Einstellungen (z.B. Sound)

* Funktionen könnte man durchaus wiederherstellen

** noch in Entwicklung

Generell muss man noch sagen, dass die bisher erhältliche OpenbravoPOS-Lösung ein hervorragender Startpunkt ist, um sein eigenes System zu entwickeln und aufzubauen. Den Entwicklern gebührt ein großes Lob für die Weitsicht in Bezug auf Anpassung und Erweiterungsmöglichkeiten sowie der wirklich intelligenten Grundprogrammierung!

Bilder Software

Hardware

Bei der Auswahl der Hardware standen neben Funktionalität und Kosten v.a. auch die Langlebigkeit im Vordergrund. D.h. möglichst einheitlich perfekt aufeinander abgestimmte Komponenten. Im einzelnen:

  • Touchscreen: ELO 15" 1522L Accutouch Technologie
    breite Auflage für die Stabilität auf der späteren Unterlage (in unserem Fall direkt der Kassenschub)
  • Kassenschublade CD-47P
    Standardausführung mit Anschlusskabel für unseren selbstentwickelten Kassenöffner
  • HP Compaq D510 USDT PC (Pentium IV 2GHZ, 512MB Ram)
    Fast lüfterlos, handlich und leicht auszutauschen. Für das Linux Betriebssystem sowie die Java Umgebung mehr als ausreichend.
  • Kundesdisplay 1: Epson
    günstig bei ebay erworben als Testobjekt, natürlich ist der folgende USB Monitor der alten LCD Anzeige überlegen.
  • Kundendisplay 2: Samsung U70 7" USB TFT Monitor
    Alle Freiheiten, die man sich vorstellen kann. Im Test liefen dort abwechselnd Werbung sowie die Anzeige des zu zahlenden Betrages. Schwierig war zunächst nur die Inbetriebnahme unter Linux. Bilder siehe unten.
  • Eigenentwicklung: Kassenöffner
    Dieser Kassenöffner wird über USB angesprochen und öffnet bei entsprechendem Befehl der Software den Kassenschub analog zu bspw. einem Bondrucker. Die Kosten für das Gerät liegen allerdings bei unter 20 € pro Stück. Zusätzlich kann auch der Status des Kassenschubes (offen/geschlossen) abgefragt werden. Größte Herausforderung bei der Entwicklung war der Quellcode für die Controllersteuerung (d.h. auslesen des "öffnen" Befehls der Software). Schaltplan-technisch handelt es sich hauptsächlich um einen 5V (USB) -> 24V DC DC Wandler Basiskreis der mit einem Transistor geschalten wird.
  • diverse Peripherie (Usb Maus + Tastaur)
    nur zu Wartungszwecken
  • Epson Bondrucker TM-T88 IV
    steht noch auf der Wunschliste, bisher noch nicht erworben ;)

Bilder Hardware

Preis

Wie schon am Anfang erwähnt, hat der Preis eine entscheidene Rolle gespielt. Natürlich konnte dies nur durch eine sorgfältige Auswahl der Komponenten als auch viel Eigenleistung (Software, Kassenöffner) erzielt werden. Nebenbei sei gesagt, dass es sich hier um absolute Markenprodukte handelt. Der Touchscreen stellt dabei den teuersten Posten dar, dennoch sollte man daran nicht sparen, die Firma Elo ist nicht umsonst Marktführer. Hier die Standard-Ausführung im groben Kostenüberblick (genaue Preise bitte den gängigen Preissuchmaschinen entnehmen ;) ):

  • Touchscreen 15" 1522L 500€
  • Mini-Desktop PC 50€
  • Kassenschub CD-47P 70€
  • Mini-Desktop PC 50€
  • Hardware-Peripherie (Kabel etc.) 20€
  • Kassenöffner 20€
  • optional: Kundendisplay Samung U70 80€

  • Summe: 790 € inkl. MWST

Backup-Konzept

Um den Ansprüchen eines sicheren und ausfallfreien Kassensystems Rechnung zu tragen, war die Entwicklung eines effektiven aber einfachen Backup-Konzeptes erforderlich. Nach diversen Überlegungen u.a. bspw. das gängige Master-Slave Konzept (Stichwort: Mysql-Replikation) haben wir uns letztendlich für die vorliegende Lösung entschieden. Grund: die Master-Slave Variante sichert nicht gegen Ausfall des Netzwerks oder anderen Netzwerkproblemen ab und würde im Fall der Fälle, alle "getrennten" Kassen stilllegen, was natürlich verhindert werden muss. Bei unser Variante können wir die 100%ige Funktion bei sowohl Master-Datenbankausfall/Hardwareschäden als auch Netzwerkproblemen garantieren. Das Konzept sieht vor, das jede Client-Kasse eine lokale Derby Datenbank beherbergt, welche jeweils die Verkäufe des einzelnen Clients mitprotokolliert. Im Problemfall wird dann auf diese lokale Datenbank umgestellt. Es kann also weiterkassiert werden, Verkäufe des jeweiligen Tages sind erhalten. Nach Behebung des Schadens/Wiederaufnahme des regulären Betriebs muss nun der Master mit den einzelnen Derby Datenbanken abgeglichen werden. Da es sich nur im unabhängige Verkäufe handelt, geschieht dies über eine sog. INSERT IGNORE Routine (keine doppelten Einträge falls ein Verkauf schon in der Datenbank vorhanden). Somit wurde letztendlich ein Abgleich herbeigeführt, Umsätze aller Kassen sind wieder synchronisiert. Nebenbei sei erwähnt, die Derby Datenbank ist genau wie ihr MySQL Kollege "Open Source", sehr ressourcenschonend und einfach zu verwalten.

Datenauswertung/ Statistik

Nachdem man die Daten der Verkäufe einzelner oder mehrerer Kassen eines Betriebes in der Datenbank gesammelt hat, stehen natürlich alle Optionen der Auswertung offen. In diesem Beispiel links erfolgte dies über Javascript und Php: Tagesumsätze können durchgeschaut werden, Verläufe, Tendenzen festgehalten werden. Selbstverständlich sind auch Auswertungen im Sinne "welches Produkt wurde im welchem Zeitraum am meisten nachgefragt" etc. möglich. OpenbravoPOS bietet von Haus aus ja schon einige dieser Funktionen. Wir haben jedoch entschieden, dass es geschickter ist, dies auszulagern, da Berechnungen und visuelle Darstellungen über den Browser via Php und Javascript oder Flash deutlich angenehmer und vielseitiger sind.

Links

Wo kann ich zusätzliche Informationen finden?
Natürlich haben wir das Projekt nur durch viel Lesen und Ausprobieren durchführen können. Einige der folgenden Links dürften dabei sehr hilfreich sein: (wird in nächster Zeit vervollständigt)