Raspberry Pi Projects
The Raspberry Pi is a little Linux computer that costs around £30. It's a great little machine to experiment with and I've been using it to develop various web and hardware projects. My broad interest is "the Internet of things" which the Pi is perfect for. I'm documenting my developments on my blog as well as on this page. If you live in Leicester or Leicestershire why not get involved in the Leicester Pi User Group?
1) Raspberry Pi Web Server
- Get hold of a Raspberry Pi computer for around £30 from Element 14 or RS.
- Download Raspbian "wheezy" Linux and install it on an SD card.
- Plug in a keyboard and mouse to the Pi, then connect it to your HDMI television and an ethernet connection and boot it up from the SD card.
- When you see the config screen choose the option to expand the file system to fill the SD card. Otherwise you will only have 2Gb to play with - even on an 8Gb card. You can access this screen later by typing "raspi-config".
- Log in using the username "pi" and password "raspberry" and type "startx" to open the graphical desktop.
- If you want to set-up a WiFi dongle on the Pi then you can follow the instructions here.
- You can then install the Lighttp web server and PHP and mySQL by following the instructions here.
- And that's it, you now have a Raspberry Pi web server!
- If you type "ifconfig" on the Pi you will see the internal "inet addr" that it is using (mine is 192.168.0.23).
- If you enter this address in to a web browser on a computer on your network you should see the Pi's default web page.
- If you want to make the server publicly available, you will need to configure your router to allow external connections to be made to it.
- I use www.no-ip.com to give the web server a public domain name.
- I also use a combination of ssh, sFTP and X11 to access the Pi remotely, so there's no need to keep a screen, keyboard and mouse plugged in.
- I changed the ownership of the "www" documents directory to "pi" so I could edit the files via sFTP.
- So far the only crashes I've experienced have been due to the WiFi dongle drawing to much power from the Pi. I've gone back to using an ethernet connection.
2) Raspberry Pi Laptop
One of the reasons the Pi is so cheap is that it doesn't come with a keyboard and monitor. This is fine since most of us have those already. However, it's not much fun lugging these to workshops or events - especially if you're a cyclist like me. A good portable solution to this is to get a Motorola Lapdock and wire it up to your Pi. I bought one from Amazon a while back, and with the addition of a few cables from eBay now have a nice and compact mobile Pi set-up. It'll even run on the batteries in the Lapdock - making it pretty immune from accidental power cuts.
3) RBG-LED Web Server Activity Lights
This is a simple project that adds visual activity indicators to my websites. It makes a nice little web/hardware crossover project. I used a £10 RGB-LED kit from Meltwater plus some PHP/GPIO scripts to allow me to trigger multi-coloured light sequences in response to different sorts of activity on my websites. I use the Pi as my home development web server so it's always on and by inserting some little graphics on my live sites that run the PHP/GPIO scripts on it I'm able to monitor my whole network of sites in a visual way. The unit sits in the corner of my workspace flickering away all day.
4) Raspberry Pi Etch-a-sketch - The Etch-a-Pi
Using a MyPiShop stepper motor kit, some cheap stepper motors, plastic cogs and pieces of lego I have build a Raspberry Pi controlled Etch-a-sketch. The ultimate goal is to allow users to make drawings on a web server and to have them "printed" on the Etch-a-sketch. The hardware works fine and I am now working on the software. See my Etch-a-Pi page for details on how to build your own.
5) Raspberry Pi Robotic Arm Controller
Everybody loves robots don't they? Especially low-cost robots controlled by low-cost computers? The last of my winter holiday projects is a simple way of controlling the low-cost robotic arm from Maplin (£29.99 when on offer) with the similarly low-priced Raspberry Pi computer. As per usual, most of the work getting this project together has been done by someone else, but I have made some additions to the control program that are worth sharing.
First you need to get and build the robotic arm itself. The easiest place to get it from is Maplin, but you can sometimes find it cheaper on Amazon or eBay. The yellow and black look for the arm make it easy to identify unbranded versions of it. It's a moderately complex kit to build, but take your time and I'm sure you'll be fine. No soldering is required. I spread the work for the whole project over an afternoon and an evening.
The kit comes with a USB connection and software for a PC. However, it is just as easy to connect it to a Raspberry Pi. Full instructions on how to do this - which involves downloading the PyUSB software and running a simple Python script - are given on this site. It's very straightforward.
I decided to upgrade the provided Python script so that you can send the robotic arm simple commands via the command line. For example, typing sudo python arm.py sd wd go tells the shoulder motor to do down, then the wrist motor to go down and then the gripper to open. Not particularly fancy, but a decent basis for a more complex project I think.
For the next step I fancy placing my Raspberry Pi camera on top of the arm and writing an image processing script that will get the robotic arm to follow people as they walk around a room!