OBInnovation: Openbravo Web POS and the Raspberry Pi
At Openbravo we know about the importance of innovation. Innovation drives growth and allows us to provide state-of-the-art products to the market. This is especially important in Retail where a lot of technologies are flourishing and where technology flexibility and low cost become essential. Keeping this in mind we are starting a series of blogs today where we will regularly present some of the things we are evaluating in our labs to you. These won’t always be converted into new publicly available capabilities but we think it is important for you to know about them.
And today let me start with a cool use of Openbravo: Web POS, our POS included in the Openbravo Commerce Platform, with the popular card-size computer Raspberry Pi which potentially provides important benefits in some business scenarios as I’ll explain later.
The Openbravo Web POS is a web based application that requires a special component, the Hardware Manager, to interface with all the supported POS devices like receipt printers, customer displays, scales, … In a typical deployment environment the Openbravo Web POS runs on mobile devices like Android tablets or iPads and the POS devices are connected to a computer that runs the Hardware Manager. The following picture depicts an example of this scenario:
The requirements for the computer that runs the Hardware Manager are very low. And to demonstrate this we wanted to try it with one of the smallest computers, the popular card-sized computer Raspberry Pi.
Although it still can’t be considered an officially supported hardware, the use of a computer like this would potentially result in huge benefits in terms of reduced space and low cost. One of the most advanced models costs just 30 €. This could make it ideal in multiple retail scenarios but especially, for example, in reduced retail spaces like kiosks where both aspects become critical. Combining this solution with a tablet, you have a POS solution in a reduced space, which is very cheap, without losing any of the advanced capabilities offered by the Openbravo Web POS. The steps to follow are very simple, but you will need advanced technical skills to complete successfully the process. Let me guide you through the process.
Installing the operating system
The operating system I am going to use is Raspbian, a Debian derivate optimized to run on the Raspberry Pi. Raspbian also includes Oracle Java SE 7 for ARM needed to run the Hardware Manager. To download and install Raspbian, follow the installation guides provided by the Rasberry Pi Foundation that can be found in the Raspberry Pi Downloads page.
Installing the Hardware Manager
In this example I am using an Epson TM-T88V receipt printer and a development build of the Hardware Manager that includes USB support that makes it easier to configure and run USB receipt printers and customer displays. This functionality will be released in 3.0RR14Q3, but it will also work with the current 3.0RR14Q2.1 version.
Installing the Hardware Manager is done the same way you do in other systems, just copy the zip file to the Raspberry Pi and uncompress it to a local folder. To copy the zip file, the best way to do it is using the scp command. Set up ssh in your Raspberry Pi, and execute the command:
scp poshw-1.0.1800.zip email@example.com:/home/pi
To uncompress the zip file just copied, log in into your Raspberry Pi using ssh and execute the commands:
mkdir poshw-1.0.1800 unzip poshw-1.0.1800.zip poshw-1.0.1800/
To execute the Hardware Manager you do not need a monitor connected to the Raspberry Pi. But in this case you have to configure the Hardware Manager to run it in headless mode. Open the openbravohw.properties located in the poshw-1.0.1800/ folder and set the property application.ui to false. You can use nano to edit the configuration file.
Running the Hardware Manager
On the Raspberry Pi you need to write permissions on the device file of the USB, so you can run the Hardware Manager as root or configure udev to give your user write permissions when the device is attached. You have more information about this topic in the usb4java FAQ page.
Connect the printer to the Raspberry Pi, go to the folder the Hardware Manager is installed in and execute it:
cd poshw-1.0.1800/ sudo sh start.sh
This is the output of running the Hardware Manager successfully on my Raspberry Pi:
Configuring the POS Terminal and testing the printer
Now you need to configure the POS terminal you want to use with the new Hardware Manager configured on the Raspberry Pi. Start Openbravo, go to the POS Terminal window, select the terminal to configure, and in the field Hardware URL write the URL address for the Hardware Manager running in the Raspberry Pi. In my example: http://raspberrypi.local:8090/printer.
Finally, login to the configured POS terminal and print some sample receipts.
In this example I used the Raspberry Pi connected to the store network using a wifi dongle. This option reduces the number of wires and makes it easier to place the receipt printer in the store.
And that is all. I hope you have enjoyed, as I have, playing with the Openbravo Web POS and the Raspberry Pi, a modern and powerful technical combination which minimizes hardware space and costs.
You can also make your own improvements using the Raspberry Pi and the Hardware Manager. For example, you can use a mobile receipt printer and power the Raspberry Pi with batteries. This way you can have wireless printing capabilities in your store easily.
See you in my next post!