I know, I said I should give up buying new toys for my Raspberry Pi, and concentrate on doing interesting stuff with the bits I already have. But then I got a notification from Farnell that a stock of Pi Face boards was available. Like the GertBoard, this one has been on back-order for ages. Since I was ordering a Pi Face, and as I am supposed to be doing some sort of presentation on Tuesday to IPRUG about all things Raspberry Pi, I also ordered a few other bits.
In the photo, the Pi Face board is in the middle. Surrounding it are some extra SD cards, a wifi dongle, some extra micro-USB power cables so I can run more than one Pi at once, and a tiny bluetooth keyboard. The keyboard really is tiny, compare its size to the SD Cards! I also ordered a bluetooth dongle to use with the keyboard, but that's not in the picture.
I spent at least an hour trying to get wifi and bluetooth working on the Raspberry Pi using the various Linux SDs I have lying around, but with no luck. All I managed with my wi-fi efforts was to slow down the boot sequence as it hunts around for an access point without any luck. The bluetooth keyboard worked fine paired with my phone, and also with my dev PC using the little bluetooith dongle I just bought, but no luck with the Pi.
Part of my trouble is that I'm not even sure how I would know that the bluetooth keyboard is working. I usually connect to the Raspberry Pi using ssh over ethernet from my PC. This will only use the bluetooth keyboard if it is paired with the PC. I did plug in a HDMI monitor but it stops at a login prompt before it can bring up the X desktop. Despite my best efforts, I could not get the keyboard to allow me to log in at that point. More research needed, I think.
After becoming increasingly fed up with this, I decided to give up and have a go with the Pi Face. Given that the name "Pi Face" seems to be related to a character in the "Dennis the Menace" cartoon, I thought it only right that I attach the Pi Face to my Raspberry Pi in the Dennis-coloured red and black case:
Fitting the board was very easy, but unlike some of the other add-ons I have attached recently, it is too big for the top of the case. By this point I was also unsure what state I had left the various Linux SDs in, so I opened up the packet of one of my new ones, slapped a fresh 2012-12-16 Raspbian wheezy on it, and ran sudo raspi-config to stop it wingeing. I then followed the steps on the PiFace getting started page. The page is currently only at "draft" status, and there are a few minor "gotchas", so here's what I did:
- sudo nano /etc/modprobe.d/raspi-blacklist.conf. Note that the install instructions miss off the leading slash (/). If the file that appears is empty, you need to add the slash.
- add a # to both the blacklist lines. I'm doing hardware stuff, and I want both 12c and spi available, but for just the Pi Face, strictly you only need the spi one.
- sudo apt-get update. Takes a few minutes but is always a good start to make sure you are fetching the latest versions of dependencies
- wget http://pi.cs.man.ac.uk/download/install.txt. The instructions add |bash to the end of this, but it did not work for me. Instead, I did:
- bash install.txt. I didn't time it, but this took a lot of minutes. Enough for a cup of tea. It also gives lots of output with lots of stuff being installed. If you don't get lots of output, something is wrong.
Once all that stuff was finished, the Pi Face software was installed, so I ran the suggested test command piface/scripts/piface-emulator. I was really impressed with this. Even though I don't run using the regular keyboard and monitor, I do use MobaXterm, which redirects the X display to my development PC, so I got to see and interact with the hardware on my screen.
This is not just a pretty picture. clicking the buttons on screen lights the lights and clicks the relays on the board, and pressing the buttons on the board lights up the pins on the picture. I like this so much I would recommend that other interface boards do something similar. No time left to connect anything exciting to the board, I'm afraid, but that can be for another blog.