Toggle navigation

Kassa hardware opzet

POSBox opzet handleiding

Vereisten

Controleer dat u zeker alle benodigdheden heeft voor u de POSBox begint op te zetten. U heeft nodig:

  • De POSBox

  • Een 2A oplader

  • Een computer of tablet met een geüpdatet webbrowser

  • Een draaiende SaaS of Odoo instantie met de Kassa geïnstalleerd

  • Een lokale netwerk opzet met DHCP (dit is de standaard instelling)

  • Een RJ-45 internetkabel of een Linux compatibele Wi-Fi USB adapter

  • An Epson USB TM-T20 Printer or another ESC/POS compatible printer (officially supported printers are listed at the POS Hardware page)
  • Een Honeywell Eclipse USB Barcode scanner of een ander compatibel apparaat

  • Een Epson compatibele kassa lade

Stap per stap opzethandleiding

Huidige versie van de POSBox (sinds 2015)

Connecteer externe toestellen

Officieel ondersteunde hardware is opgelijst op de POS Hardware pagina, maar andere hardware werkt mogelijk ook.

  • Printer: Connecteer een ECS/Kassa printer met een USB poort en zet deze aan.

  • Kassalade: De kassalade moet geconnecteerd zijn met de printer via een RJ25 kabel.

  • Barcode scanner: Connecteer uw barcode scanner. Om u barcode scanner compatibel te maken moet het zich voordoen als een toetsenbord en moet het geconfigureerd zijn in US QWERTY. Het moet barcodes ook beëindigen met een enter karakter (toetscode 28). Dit is normaal gezien de normale configuratie van uw barcode scanner.

  • Weegschaal: Connecteer uw weegschaal en zet ze aan.

  • Internet: Als u geen Wi-Fi wilt gebruiken steekt u de internetkabel in. Verzeker u van dat dit de POSBox connecteert met hetzelfde netwerk als uw POS toestel.

  • Wi-Fi: Indien u geen internet wilt gebruiken moet u een Linux compatibele USB Wi-FI adapter inpluggen. De meeste commerciële Wi-Fi adapters zijn Linux compatibel. Officieel ondersteunde Wi-Fi adapters zijn diegene met een Ralink 5370 chipset. Verzeker u er van dat u geen internetkabel insteekt, omdat alle Wi-Fi functionaliteit omzeilt wordt wanneer een bekabelde verbinding beschikbaar is.

Zet de POSBox aan

Steek de oplader in uw POSbox, een helderrood status led licht zou moeten gaan branden.

Verzeker er u van dat de POSBox klaar is

Eenmaal voorzien van stroom heeft de POSBox een tijdje nodig om op te starten. Eenmaal de POSBox klaar is zou het een status ticket moeten printen met het IP adres op. De status LED, net naast de rode stroom LED, moet permanent groen branden.

De kassa opzetten

Om de POSBox op te zetten in de Kassa gaat u naar Kassa ‣ Configuratie ‣ Instellingen en selecteert u de Kassa. Scroll naar beneden naar de Hardware Proxy / POSBox sectie en activeer de opties voor de hardware die u wilt gebruiken via de POSBox. Het ingeven van het IP adres van de POSBox wordt geadviseerd (het wordt geprint op het ticket na het opstarten van de POSBox). Wanneer er geen IP is opgegeven zal de Kassa proberen deze zelf te vinden in het lokale netwerk.

Verzeker u er van dat er maar één kassa is geactiveerd met de optie voor Scanning/Barcode indien u meerdere kassa's draait op dezelfde POSBox.

Het is mogelijk een goed idee om de zorgen dat het IP van de POSBox nooit veranderd in uw netwerk. Kijk naar uw router documentatie om te zien hoe u dit kan doen.

Lanceer de kassa

Indien u de POSBox's IP adres niet heeft ingegeven op de configuratie zal de POS tijd nodig hebben om een netwerkscan uit te voeren om de POSBox te vinden. Dit wordt slechts éénmalig gedaan.

De Kassa is nu verbonden met de POSBox en u hardware zou klaar moeten zijn om te kunnen gebruiken.

Wi-Fi configuratie

De POSBox kan Wi-Fi gebruiken. Om Wi-Fi te gebruiken heeft u een Linux compatibele Wi-Fi USB adapter nodig. De meeste commercieel beschikbare adapters zijn Linux compatibel. Ofifcieel ondersteunde Wi-FI adapters zijn degene met een Ralink 5370 chipset.

Steek zeker geen internetkabel in, anders wordt alle Wi-Fi gerelateerde functionaliteit uitgeschakeld wanneer een bekabeld netwerk beschikbaar is.

Wanneer de POSBox opstart met een Wi-Fi adapter start deze zijn eigen Wi-Fi toegangspunt genaamd Posbox waar u mee kan verbinden. De tickets die geprint worden wanneer de POSBox opstart zullen dit tonen. Om de POSBox te doen connecteren met een al bestaand netwerk gaat u naar de home pagina van de POSBox (aangegeven op het ticket) en gaat u naar de Wi-Fi configuratie pagina. Van hieruit kan u een netwerk kiezen om mee te verbinden. Merk op dat wij enkel open en WPA(2)-PSK netwerken ondersteunen. Wanneer u connecteert met een WPA-beveiligd netwerk moet u het wachtwoord veld invullen. De POSBox zal proberen te connecteren met het opgegeven netwerk en print een nieuw POSBox status ticket nadat deze verbonden is.

Indien u plant om uw POSBox direct op te zetten met Wi-FI kan u de optie blijvend aanvinken op de Wi-Fi configuratie pagina wanneer u connecteert met een netwerk. Dit zal de netwerk keuze aanhouden doorheen verschillende heropstarten. Dit betekend dat in plaats van het opstarten van een eigen Posbox netwerk de POSBox altijd zal proberen om te connecteren met het opgegeven netwerk na een boot.

Wanneer de POSBox niet kan verbinden valt deze terug op het starten van zijn eigen Posbox toegangspunt. Indien de connectie verloren gaat met een Wi-Fi netwerk na er mee te verbinden zal de POSBox proberen de connectie automatisch te herstellen.

Multi-POS configuratie

De geadviseerde weg om een mult-kassa winkel omgeving op te zetten is om één POSbox per kassa te hebben. In dit geval is het verplicht om manueel het IP adres van elke POSBox op te geven in elke kassa. U moet ook uw netwerk configureren om u er van te verzekeren dat de POSBoxen hun IP adressen niet veranderen. Bekijk hiervoor aub uw router documentatie.

Kassa zonder POSBox handleiding (geavanceerd)

Indien u uw Kassa draait in een Debian gebaseerde Linux distributie heeft u de POSBox niet nodig om de software lokaal te draaien. Hoewel de installatie niet waterdicht is. U moet minimaal weten hoe u Odoo installeert en configureert. U kan ook tegen problemen aanlopen die specifiek zijn aan uw distributie of tot uw specifieke opzet / hardware configuratie.

Drivers voor de verschillende soorten ondersteunde hardware worden aangeboden door de Odoo modules. In feite draait de POSBox een instatie van Odoo waarmee de Kassa communiceert. De instantie van Odoo die draait op de POSBox is totaal anders dan de 'echte' Odoo instantie. Het verwerkt geen zakelijke data (bijvoorbeeld kassa orders), maar dient enkel als een poort tussen de Kassa en de hardware.

The goal of this section will be to set up a local Odoo instance that behaves like the Odoo instance running on the POSBox.

Afbeelding bouwen proces

We genereren de officiële POSBox afbeeldingen met het script van https://github.com/odoo/odoo/tree/8.0/addons/point_of_sale/tools/posbox. Meer specifieke voeren we het script posbox_create_image.sh. uit. Dit bouwt een afbeelding genaamd posbox.img, die wij zippen en uploaden naar nightly.odoo.com waar gebruikers ze kunnen downloaden.

De scripts in deze map zijn mogelijk handig als een referentie als u vastzit of meer details over iets wilt.

Samenvatting van het afbeelding bouw proces

Het afbeelding aanmaak proces start door het downloaden van de laatste Raspbian afbeelding. Deze mount vervolgens lokaal de Raspbian afbeelding en kopieert sommige bestanden en scripten die de Raspbian afbeelding veranderen in een POSBox wanneer deze opstart. Deze scripts updaten de Raspbian, verwijderen niet essentiële pakketten en installeren benodigde pakketten. Om de Raspbian op te starten gebruiken we qemu, wat mogelijkheid biedt om een ARM emulatie te doen. Hierna zal de geëmuleerde Raspbian OS zichzelf afsluiten. Vervolgens mounten we opnieuw de lokale afbeelding, verwijderen we de scripten die gebruikt zijn om de afbeelding bij de boot te initialiseren en we kopiëren configuratie bestanden. De resulterende afbeelding is dan klaar om te testen en te gebruiken.

Vereisten

  • Een Debian gebaseerde Linux distributie (Debian, Ubuntu, Mint, etc.)

  • Een draaiende Odoo instantie die u connecteert om te laden met de Kassa

  • U moet alle ECS/POS printer drivers verwijderen aangezien deze conflicteren met de Odoo ingebouwde driver

Stap per stap opzethandleiding

Extra afhankelijkheden

Omdat Odoo draait op Pyton 2 moet u controleren welke versie van pip u moet gebruiken.

# pip --version

Als het iets terugstuurt zoals:

pip 1.5.6 from /usr/local/lib/python3.3/dist-packages/pip-1.5.6-py3.3.egg (python 3.3)

Moet u pip2 in de plaats gebruiken.

Als het iets terugstuurt zoals:

pip 1.4.1 from /usr/lib/python2.7/dist-packages (python 2.7)

Kan u pip gebruiken.

De driver module vereist de installatie van nieuwe Python modules:

# pip install pyserial

# pip install pyusb==1.0.0b1

# pip install qrcode

Toegangsrechten

Deze driver heeft ruwe toegang nodig tot de printer en barcode scanner toestellen. Om dit te doen is er wat systeem administratie nodig. Eerst maken we een groep die toegang heeft tot de USB toestellen

# groupadd usbusers

Vervolgens voegen we de gebruiker toe aan usbusers die de Odoo server zal uitvoeren

# usermod -a -G usbusers USERNAME

Then we need to create a udev rule that will automatically allow members of usbusers to access raw USB devices. To do so create a file called 99-usbusers.rules in the /etc/udev/rules.d/ directory with the following content:

SUBSYSTEM=="usb", GROUP="usbusers", MODE="0660"
SUBSYSTEMS=="usb", GROUP="usbusers", MODE="0660"

Dan moet u uw machine opnieuw opstarten.

Start de lokale Odoo instantie

We moeten de Odoo server lanceren met de correcte instellingen

$ ./odoo.py --load=web,hw_proxy,hw_posbox_homepage,hw_posbox_upgrade,hw_scale,hw_scanner,hw_escpos

Test de instantie

Plug alle hardware in uw machine zijn USB poorten, en ga naar http://localhost:8069/hw_proxy/status. Ververs de pagina een paar keer en zie of al uw apparaten aangeven dat ze Verbonden zijn. Mogelijke problemen zijn: De paden naar de distributie zijn anders dan die van de drivers, een ander proces heeft exclusieve toegang gekregen tot de toestellen, de udev regels worden niet toegepast of overheerst door anderen.

Start automatisch Odoo

U moet er zich nu van verzekeren dat de Odoo installatie automatisch start na het opstarten van de PC. Er zijn verschillende manieren om dit te doen en dit is afhankelijk van uw opzet. Het gebruik van het init systeem van uw distributie is waarschijnlijk de gemakkelijkste weg om dit te bereiken.

De kassa opzetten

Het IP adres veld in de Kassa configuratie moet 127.0.0.1 of localhost zijn als u de aangemaakte Odoo server heeft draaien op hetzelfde apparaat als waar u de Kassa op gebruikt. U kan het ook leeg laten.

Technische documentatie POSBox

Technisch overzicht

De POSBox Hardware

De POSBox zijn hardware is gebaseerd op een Raspberry Pi 2, een populaire mini-computer. De Raspberry Pi 2 krijgt stroom via een 2A micro-usb lader. 2A is nodig om genoeg stroom te geven aan de barcode scanners. De software is geïnstalleerd op een 8GB klasse 10 of hoger SD kaart. Al deze hardware is wereldwijd gemakkelijk verkrijgbaar van onafhankelijke leveranciers.

Compatibele apparaten

Officieel ondersteunde hardware is opgelijst op de POS Hardware pagina,

De POSBox software

De POSBox draait een hevig gewijzigde Raspbian Linux installatie, een Debian afgeleide van de Raspberry Pi. Het draait ook een basis installatie van Odoo die de webserver en de drivers aanbied. De hardware drivers zijn geïmplementeerd door Odoo modules. Deze drivers zijn allemaal prefixed met hw_* en zijn de enige modules die op de POSBox draaien. Odoo wordt enkel gebruikt voor het framewerk dat het aanbied. Er wordt geen zakelijke data verwerkt of opgeslagen op de POSBox. De Odoo instantie is een kale git clone van de 8.0 branch.

De root partitie op de POSbox is gemount als enkel leesbaar, wat ons verzekert dat we de SD kaart niet te veel belastingen door er zo vaak naar te schrijven. Het verzekert ons er ook van dat het bestandssysteem niet corrupt kan geraken door het uitvallen van de stroom op de POSBox maar Linux verwacht dat er kan geschreven worden naar verschillende mappen. Dus voorzien we een ramdisk voor /etc en /var (Raspbian biedt automatisch één aan voor /tp). Deze ramdisks zijn opgezet door setup_ramdisks.sh, wat we uitvoeren voor alle andere init scripts door het te doen draaien in /etc/init.d/rcS. De ramdisks hebben de namen /etc_ram en /var_ram. De meeste data van /etc en /var is gekopieerd naar deze tmpfs ramdisks. Om de grootte van de ramdisks te limiteren kopieren we verschillende dingen niet over (bijvoorbeeld apt gerelateerde data). We bind mounten ze vervolgens over de originele mappen. Wanneer een applicatie schrijft naar /etc/foo/bar zal het dus eigenlijk schrijven naar /etc_ram/foo/bar. We bind mounten /to /root_bypass_rasms om de echte /etc en /var te kunnen bereiken tijdens ontwikkeling.

Logs van de draaiende Odoo server kunnen gevonden worden onder:

/var/log/odoo/odoo.log

Verschillende POSBox gerelateerde scripts (bijvoorbeeld Wi-Fi gerelateerde scripts) die op de POSBox draaien loggen onder /var/log/syslog en deze berichten zijn getagd met posbox_*.

Toegang krijgen tot de POSBox

Lokale toegang

Als u een QWERTY USB toetsenbord in één van de POSBox zijn USB poorten insteekt en u een computerscherm connecteert met de HDMI port van de POSbox, kan u het gebruiken als een kleine GNU/Linux computer en verschillende administratieve taken uitvoeren, zoals het bekijken van de log bestanden.

De POSBox logt automatisch in als root op de standaard tty.

Toegang van op afstand

Indien u de POSBox zijn IP adres hebt en een SSH cliënt hebt kan u het POSBox systeem van op afstand bereiken. De login gegevens zijn pi/raspberry.

De POSBox software updaten

Upgrade enkel de POSBox als u problemen ondervind of nieuw geïmplementeerde opties wilt gebruiken.

De beste manier om de POSBox software te updaten is door een nieuwe versie van de afbeelding te downloaden en de SD kaart er mee te flashen. Deze operatie is in detail uitgelegd in deze tutorial, vervang gewoon de standaard Raspberry PI afbeelding met de laatste op de officiële POSBox afbeelding pagina. Deze methode van upgraden verzekert u er van dat u de laatste versie van de POSBox software heeft draaien.

De tweede manier om te upgraden is door de ingebouwde update interface die u kan vinden op de POSBox home pagina. Het mooie aan het upgraden via deze manier is dat u geen nieuwe afbeelding hoeft te flashen. De upgrade methode is gelimiteerd in wat het kan doen. Het kan geen geïnstalleerde configuratie bestanden updaten bijvoorbeeld (zoals /etc/hostapd.conf). Het kan enkel het volgende upgraden:

  • De interne Odoo applicatie

  • Scripts in de folder odoo/addons/point_of_sale/tools/posbox/configuration/

Wanneer u twijfelt gebruikt u altijd de eerste methode van upgraden.

Troubleshoot

De kassa kan niet connecteren met de POSBox

  • De gemakkelijkste manier om u er van te verzekeren dat de POSBox correct is opgezet is om de POSBox aan te zetten met de printer ingeplugd. De printer zal een ticket uitprinten waar eender welke foutmelding op wordt geprint of het IP adres van de POSBox indien alles in orde is. Controleer de volgende stappen als er geen ticket wordt geprint:

  • Verzeker u er van dat de POSBox opstaat en dat de LED een heldere rode status kleur heeft.

  • Verzeker u er van dat de POSBox klaar is, dit is aangegeven door een heldere groene status LED net naast de rode status LED. De POSBox zou klaar moeten zijn ~2 minuten nadat deze is opgestart.

  • Verzeker u er van dat de POSBox is geconnecteerd met hetzelfde netwerk als uw Kassa toestel. Beide het toestel en de POSBox moeten zichtbaar zijn in de lijst van verbonden toestellen op uw netwerk router.

  • Make sure that your LAN is set up with DHCP, and gives IP addresses in the range 192.168.0.X, 192.168.1.X, 10.0.0.X. If you cannot setup your LAN that way, you must manually set up your POSBox's IP address.
  • Indien u de POSBox zijn IP heeft ingegeven op de configuratie moet u zich er van verzekeren dat deze correspondeert met het geprinte POSBox status ticket.

  • Verzeker u er van dat de POS niet over HTTPS laad.

  • Een bug in Firefox zijn HTTP implementatie voorkomt de goede werking van de automatische ontdekking. Wanneer u Firefox gebruikt moet u manueel de POSBox zijn IP adres ingeven in de Kassa configuratie.

De Barcode Scanner werkt niet

  • De barcode scanner moet geconfigureerd zijn in US QWERTY en moet een enter toevoegen achter de barcode. Dit is de standaard configuratie voor de meeste barcode lezers. Kijk naar de barcode documentatie voor meer informatie.

  • De POSBox heeft ene 2A voeding nodig om te werken met sommige barcode scanners. Zorg ervoor dat de voeding die u gebruikt genoeg kracht heeft indien u niet de mee aangeboden voeding gebruikt.

  • Sommige barcode scanners hebben meer dan 2A nodig en zullen niet of onbetrouwbaar werken, zelfs met de meegeleverde voeding. In die gevallen kan u een barcode scanner inpluggen in een zelfvoorzienende USB hub.

  • Sommige slechtgebouwde scanners adverteren zichzelf niet als barcode scanners maar als usb toetsenborden en zullen niet herkend worden door de POSBox.

De Barcode Scanner werkt niet betrouwbaar

  • Zorg ervoor dat er niet meer dan één apparaat met de optie 'Scan via Proxy'/'Barcode Scanner' is aangevinkt en geconnecteerd is met de POSBox op dezelfde tijd.

Het ticket printen duurt te lang

  • Een kleine vertraging voor de eerste print is normaal, aangezien de POSBox op voorhand wat verwerking doet om de volgende printopdrachten te versnellen. Als u hierna nog vertragingen heeft bij het printen is dit mogelijk door een slechte netwerkconnectie tussen de Kassa en de POSBox.

Sommige karakters zijn niet correct afgedrukt op het ticket

  • De POSBox ondersteunt niet alle talen en karakters. Het ondersteund momenteel Latin en Cyrillic gebaseerde scripts, met basis Japanse ondersteuning.

De printer is offline

  • Verzeker u er van dat de printer verbonden is, opstaat, genoeg papier heeft, dat het deksel gesloten is en dat de printer geen fouten meld. Gelieve support te contacteren als deze fout zich blijft voordoen.

De kassalade opent niet

  • De kassalade moet verbonden zijn met de printer en moet geactiveerd worden in de POS configuratie.

Krediet

Het POSBox project was ontwikkeld door Frédéric van der Essen met de hulp van Gary Malherbe, Fabien Meghazi, Nicolas Wisniewsky, Dimitri Del Marmol, Joren Van Onder en Antony Lesuisse.

Deze ontwikkeling zou niet mogelijk zijn zonder de Indiegogo campagne en de mensen die hier aan hebben bijgedragen. Speciale dank gaat naar de partners die de campagne hebben gesteund met de POSBox oprichters bundel:

  • Camptocamp
  • BHC
  • openBig
  • Eeezee-IT
  • Solarsis LDA
  • ACSONE
  • Vauxoo
  • Ekomurz
  • Datalp
  • Dao Systems
  • Eggs Solutions
  • OpusVL

En ook de partners die de ontwikkeling hebben gesteund met de POSBox oprichters bundel:

  • Willow IT
  • E. Akhalwaya & Sons
  • Multibasis

  • Mindesa
  • bpso.biz
  • Shine IT.