images/fade/fade1.jpg

Een kennis van mij heeft een speelgoedwinkel. Sinds enige jaren heeft hij naast een fysieke winkel ook een webshop. Hiervoor heb ik het opensource CMS WordPress gebruikt. Voor het eCommerce deel wordt de WooCommerce plugin gebruikt. Recent ontstond de behoefte aan prijsscanners hier en daar in de winkel zodat klanten niet telkens hoefden te vragen naar de prijs.

Dankzij het open source karakter was vrij eenvoudig te doorzien hoe de data wordt opgeslagen in de MySQL database tabellen. Dat maakte het mogelijk een plat tekst bestand aan te maken met barcode, omschrijving en prijs. Stap 1 was dus snel klaar. Een CSV bestand met circa 13000 regels in de root van de site. 

Stap 2, de eigenlijke prijsscanner was een andere uitdaging. Hiervoor werd een Raspberry Pi ingezet met een 4x20 character display, een USB auto sensing laser scanner (chinese import...) en een Wifi USB stick. Totale kosten inclusief kastje, voeding en (IKEA) lampvoet, nog geen 200 euro.

Het idee is de Raspberry (met standaard Raspbian) de eerdergenoemde platte tekstfile te laten ophalen en dan te gaan wachten tot iemand een artikel onder de laserscanner houdt. Zodra een geldige barcode herkend wordt moet de omschijving en de prijs op het LCDisplay komen. Na een wachttijd van een paar seconden kan het hele spelletje zich herhalen.

​De Raspberry doet niets anders dan een klein Python programma uitvoeren. Dit is als auto-starting service geinstalleerd. Het wacht op netwerk, haalt dan het klaarstaande bestand van de website op en maakt daar een copie in het geheugen van. Netwerk is verder niet meer nodig. Met behulp van het event subsysteem wordt de data die de scanner verstuurd, opgevangen. Dit systeem is te vergelijken met keyboard input. De barcode wordt opgezocht in de interne tabel en de naam en prijs van het artikel worden op het I2C aangestuurde display gezet. Even wachten tot de klant het gelezen heeft... en maar weer wachten op een scan. Als uitbreiding zou je nog kunnen denken aan het versturen van een email om de winkelier een idee te geven voor welke artikelen veel belangstelling is. Dit is echter nooit geimplementeerd.

 

Scanner op voet. Aan de onder-
kant zit de barcode scanner.

 

Raspberry met WiFi.

IMG 0293

Boven de barcode scanner,
onder het  4x20 display.

Recent zijn er wel enige veranderingen doorgevoerd; de ingebouwde barcode scanner is vervangen door een handscanner en we zijn overgestapt op bedraad netwerk (UTP) omdat Wifi niet lekker werkt tussen de vele metalen schappen. De scanners zijn door middel van ssh en portmapping op afstand bereikbaar (tijdens winkel openingstijden, dan staan ze aan) en de gewone update procedures kunnen uitgevoerd worden. Voor de port forwarding is natuurlijk wel toegang tot de router nodig.