(Please see part 1 for some background on what these tills are and why we built them.)
Watershed is now taking Bristol Pounds, so I thought I should write up some more about how our custom £B display tills work.
The front-end till displays are made up of two boxes: one for a raspberry pi tucked away safely under the bar, and one for the display and control buttons. These boxes are linked with a 15-core cable. We currently have three front-end systems running: two for the bar (one at each end), and one for box office. If payment by £B becomes popular we will put more in to make sure receiving payments is quick and easy.
The final part of the system is a single back-end server that controls and co-ordinates all the front-end displays.
The pi boxes
To wire up the pi boxes we cut some jumper cables in half, soldered the cut end to the multi-core cable that came into the box and used the connector ends to plug into the pi (see picture below). This cable allows the pi to talk to the display, and also receive commands like “Refresh” and “Scroll” from the buttons on the till.
There is also a push-to-make switch on the side of the display boxes, which links through to a fancy flip-flop circuit inside the display’s pi box (see bottom left of the picture) to turn the pi on and off: press once to switch on, press and hold for a few seconds to cut power. We felt it was OK just to cut power to the pi because a) we need to be able to force a reboot if the pi crashes, and b) after bootstrapping, the pi runs entirely off a netboot image, so the SD card shouldn’t be damaged when the power cuts out.
Power is supplied to the pi boxes by injecting it into the ethernet cable. We could have used traditional PoE, but didn’t to keep the cost down: we literally just wired the DC output of the PSU – we use Nokia AC-10X chargers – into a pair in the cat5 which gets split out again inside the box.
The display/control boxes
The display boxes themselves are comparatively simple. The perspex tops have the words/icons laser etched on the reverse side: the etched bits are then filled with white acrylic paint, then the backs spray painted black. It’s quite a time-consuming process to put the paint on, clean off the excess, mask off the area for the screen and spray it, but the end result looks great.
The project boxes we used (from Maplin) have ridges which stick out vertically inside the box, but we needed to mount the LCD screens horizontally. To do this we used a metal bracket, a wrench to hold it (with some card to stop the wrench becoming a heat sink) and a gas cooker to heat it with, to melt grooves in the ridges for the screens to sit in. This was so effective the screens needed no further support, apart from being wedged in place with some dowel that was left over from making the stand-offs to mount the pis in their boxes.
The back-end server
Obviously the tills themselves don’t connect to the Bristol Pound servers: they authenticate to a back-end server which does the work and co-ordinates the tills. This back-end runs a custom SSH server that syncs up all the clients, so all the bar tills show exactly the right information. E.g. when “Refresh” is pressed on one box, all the boxes go into “refresh” mode, and then all show any new payments that come in. We’re running this back-end on a dedicated VM server, but for companies with less of a dedicated IT infrastructure we’ve designed it so the back-end can actually just be another raspberry pi that’s kept securely in a back office.
Because the whole system runs off a central server that syncs up the tills, it should in theory be possible to use these a bit like PDQ machines, in that we glean from the tills any payments that are expected, and match them up with payments coming in (using, for instance, the up/down buttons to select the correct payment, and the red button to confirm). We look forward to exploring this once a new till system has been installed.
If any other business out there is interested in using these till displays instead of a mobile phone to receive Bristol Pound payments, do get in touch with firstname.lastname@example.org for general info, or for a chat about the technology itself call Watershed on 0117 9276444 and ask to speak to Oliver or Stewart in ICT.