Connecting people in remote areas – with a Pi

Liz: I’ve been hoping someone would document a project like this for a while now: this is a use of the Raspberry Pi that we think could be of enormous help to people in remote areas all over the world. Benet Hitchcock from Starlifter Digital has been introducing proper connectivity to a festival in a remote part of rural Australia. There’s limited cellular reception in the area, but it can’t cope with the sudden arrival of thousands for the event – and people need to get information via their phones. Enter the Pi. Benet says:

Every year at the Rainbow Serpent Festival in Victoria, Australia, the Info Tent notice board morphs into a multi-coloured chaotic mush. Hundreds of pieces of paper consisting of site maps, timetable updates, camp site locations, random messages between friends and various tid bits are stuck to the walls of the tent. At music festivals closer to the city there is usually plenty of cellular phone reception but not at a festival like this.

Rainbow Serpent is held halfway between Lexton and Beaufort in rural Victoria, a couple hours out of Melbourne. And although there is limited mobile reception, the local network doesn’t seem to like the influx of fifteen thousand attendees. A localised solution was needed to help people connect and keep informed in a way that was searchable and easy to manage.

The solution I devised was a mash-up of a Raspberry Pi and a PirateBox.

I installed the PHP/MySQL based forum “Phorum” on a Raspberry Pi and the OpenWRT based PirateBox software onto a TP Link TL-3220 3G wireless router. I skinned the forum using a mobile phone template which I found via the Phorum community and I made a few functional tweaks.  The forums were used by festival goers for locating each others camp sites, ride sharing and lost property.

Updated set times, festival information and site map PDFs were hosted and served from the PirateBox wireless router. The PirateBox project was developed by David Darts in NYC to enable simple, anonymous and local file sharing.

The original idea was to just use the PirateBox router for the whole service but due to the issues with running PHP and MySQL on a wireless router I used the Raspberry Pi. If I get a chance to do this project again I would use the Pi to host and serve the files as well as the forums and also use a more powerful wireless router.

Graphics designed by Rainbow Serpent’s in-house designer were then applied using HTML, CSS and JavaScript and the “Rainbow Connection” was born (thanks Tim and Heidi). It was plug’n’play, simple to use and optimised for mobile.

All pictures courtesy Rainbow Serpent Festival


Pi-Point – turn your Raspberry Pi into a wireless access point

I was shown Pi Point before the holidays, but thought it was best to wait until now to spring it on you, because so many of you have got Pis for Christmas and are looking for projects to use them in.

Guy Eastwood has documentation and an SD card image which will allow you to turn your Pi into a wireless access point. With a bit of imagination applied, you can find a million uses for a tiny, waterproofable (think Tupperware and epoxy), cheap access point; of course, you can just use it to extend your home network, but the possibilities get really interesting if you think outside the box. You can build a guest network, firewalled off from your local network. You can learn about network hardening. With the addition of a home-made cantenna, you could set up a line of Pis as relays to get WiFi down to the shed in your allotment, or point a signal at your treehouse. If you’re an altruist, you can provide your local bus stop with free WiFi. 

Let us know what you end up doing with Pi-Point. We’d love to hear what you come up with!


Guest blog #1: Repurposing a Roomba by Ben J

The future has been so disappointing. We were promised force fields; teleporters; and androgynous, android manservants. Instead we got cagoules, budget airlines and robovacs. And what do you do with a robovac when it reaches the end of its useful life? You stick a Raspberry Pi on it and make it into a proper robot of course! In the first of our guest blogs Ben J, 14, does just that (thanks Ben!):
—–

Hi! My name’s Ben.
I’ve always had a big interest in robotics and electronics in general, so when I heard about the Raspberry Pi, I knew I had to build a robot around it. This is what I came up with:

roomba 4000

The robot, ready to do your bidding. Necessary wifi dongle not shown.

The base of the robot is an old iRobot roomba 4000 with all of the cleaning brushes and their respective motors removed.
The model of roomba that I used has two drive wheels and a coaster wheel in front, and the drive wheels draw almost 300mA of current, so powering them directly off of the Raspberry Pi’s GPIO obviously wouldn’t work. So, I considered using a relay board  to control the two drive motors from the GPIO. However, it turns that all the good boards were a little too expensive for a hobby project, so I decided to open the roomba up and see if I could somehow control the motors from the existing circuitry. Guess what? It turns out that there are four small transistors on the main board that power four larger transistors that deliver power to the motors. This means that there are two transistors per motor: one for forwards and one for backwards.

roomba circuit board

The four small transistors I mentioned are circled in red. Behold my soldering!

They’re labeled Q13, Q14, Q30 and an un-labeled one near R129.

I had a little help in discovering this from a video that a man named Dean Segovis had posted on YouTube, but I ended up taking a multimeter to the board; just to make sure that I wasn’t hooking my precious pi up to anything dangerous. You can watch Dean’s video here: https://www.youtube.com/watch?v=TVp6QWcoilk.
Once I had confirmed the location of the transistors I needed on the board, I connected their bases to GPIO pins 4, 17, 18 and 21 on the Raspberry pi with with a 16 pin socket that I had lying around.

To power the Raspberry Pi, I soldered together a power supply circuit around a 1 amp  5 volt regulator (basically the regulator and two capacitors) on a piece of perf board and had the 5v output from the regulator run to a micro USB connector. I also added some miscellaneous components to the circuit, like a power switch, a 2.5 Amp fuse, a 12 volt in socket and some 12 volt out sockets; one of which the camera is plugged into. The roomba’s main board is also plugged into a 12 volt out socket.

For the camera, I just used an ip network camera from the company Vivotek.
I had tried to use a USB webcam that you might use for skype calls, but streaming video from the pi slowed it way down and the picture quality wasn’t as good as I had wanted. I wasn’t using the best webcam in the world, though.

To hold the Pi in place on the robot, I just glued some plastic pegs where I wanted it to go:
One in between the USB and Ethernet ports, one in between the audio jack and the component video port, one near the HDMI port
and one near the SD card slot. This makes it easy to remove the Pi from the robot when It isn’t in use, yet it holds it in place very well.

raspberry pi on a roomba

The ‘holder’, with Rpi inserted.

The entire robot is powered off of a small 12 volt lead acid battery that fits nicely into the slot where the roomba’s original battery went. I could have used the original battery, but the one that came with my roomba was extremely old and wouldn’t take a charge any more. .

Lastly, I wrote some software in python to take input from a Nintendo wii remote and transmit the input it got to the Pi over wifi, where it’s decoded by another piece of python software and the wheels are moved according to the position of the joysticks on the wii remote. You can get my code at the links below:

Server.py – This one runs on the Raspberry Pi:

Server.py

Client.py – This one runs on your “base station” computer, a laptop for example:

Client.py

You can watch a short video of me driving the robot around on my YouTube channel:

https://www.youtube.com/user/doitnowlabs

And I think that’s about it. If I was unclear about anything or if you want a more detailed description of my project, please email me at benhjake (at) gmail.com , or leave a comment below. Also, if you replicate my project, I’d love to see a picture or two. You could email those to the same address. Thanks, and Happy Hacking!