pinkchicken.net

Pi in the sky

I remember the days when buying a computer was a serious purchase. My first ever computer was a ZX-81. Thirty years ago, that cost £99 and was how I started my computing career. I still look back on the device with fond nostalgia - there was a simplicity to the little black box that you hooked up to your telly.

I don’t think I’m the only one who’s nostalgic about the early days of home computing. If you were born in the seventies, chances are you might feel the same as I do*. I wonder if the longing to rekindle that sense of nostalgia is why the Raspberry Pi has been so successful. Over two million have been sold and they’ve rekindled something that I’ve not seen for a while, the industry of the home tinkerer. In the space of just eighteen months, they’ve been used as the base for a many a wonderful project. I’ve had the bug too and have been playing around for the last twelve months with both my Model-A and Model-B Pis. I call them my “digital shed” - every man should have a shed.

After much fannying around, I’ve finally settled on a usage for my Model-B – it’s a cloud-storage device and web-server. With the exception of the power, it’s completely wireless. It’s a shame there’s not an appropriate Qi charging adaptor for it – then I could have wireless power too. Keeping it wireless means that I can hide it away from prying little fingers (and we have a fair few of those in my house). Happy

It’s been a cheap project. The WiFi and Bluetooth adapters were both £2 from eBay and occupy both USB ports. I had a spare 8GB SD card lying around and the power supply was a fiver from ASDA. In total, my home cloud-server has cost me less than £40. This has infinitely more power than the ZX-81 ever did, but for less than half the price. It’s funny how times move on and technology has become so cheap.

As promised a few posts ago, here’s my first Pi-Recipe. What I didn’t want to do was type a full set of instructions here and claim it was all my own work. It isn’t. Instead, what I’ve done is give you a step-by-step list of what I did, along with the original links I followed to achieve it. It seems a nicer thing to do, to give the original authors some kudos for helping Linux newbies like me get the stuff running!

So - here’s the bits I used:

1x Raspberry PI (Model-B) - second revision, 512MB memory model.
1x USB WiFi adaptor.
1x USB Bluetooth adaptor.
1x Mobile phone charger
1x 8GB SD Card.
1x Pi Case. (There’s some really good LEGO creations out there)
1x Apple wireless keyboard and mouse.

You could connect the Pi to your TV via HDMI, or you could what I did and get an HDMI to DVI adaptor so that you could plug it in to your monitor.

Here’s the steps.....

  • Step 1   : Download Raspian on another computer and write it to your SD card.
  • Step 2   : Use a regular wired keyboard for the moment. Boot up the Pi with the SD card inside and ensure it uses the graphical environment using Raspi-Config.
  • Step 3   : Make sure the WiFi adaptor’s in and configure WiFi using WPA-Supplicant.
  • Step 4   : If you’ve got any sense at this point, you’ll configure your router so that the Pi has a fixed IP address.
  • Step 5   : Once you’re connected, do the usual “sudo apt-get update” and “sudo apt-get upgrade” until you’re fully patched up.
  • Step 6   : Setup VNC. Once you can do VNC, you don’t really need to use a keyboard or mouse – unless you want to play games (like I do) on the Pi and want sound. J
  • Step 7   : Install Bluetooth support. Yes, you’ve not got the adaptor plugged in yet, but don’t let that stop you.
  • Step 8   : Remove the wired keyboard. Plug in the Bluetooth adaptor and configure Bluetooth through VNC.
  • Step 9   : Use raspi-config to ensure the system no longer boots into the GUI. It’s just an unnecessary memory/cycle overhead that you don’t really need.
  • Step 10 : Remove all the cruft you don’t need. I removed most of the development environments such as Scratch and Squeak, as well as CUPS. If you’re running this as a server, you’ll want to keep things lightweight.
  • Step 11 : Install Owncloud. To do this you’ll need to get yourself a dynamic IP address from no-ip.com and configure your home wireless router to use it (you can get them for free). Unfortunately, I can’t give you instructions on how to do that, as your router is probably very different from my router.
  • Step 12 : BACK IT ALL UP! (You don’t want to have to set all this up again).
  • Step 13 : Make a cuppa whilst you’re waiting. Bask in the glory of a job well done. Happy

As an extra note, I changed a few other minor things. I disabled most of the OwnCloud extensions so it kept zippy (I’m only interested in the file synchronisation, anyway) and changed some of the desktop software. Your choice of desktop software may be different to mine, but I’ve removed the browsers and replaced them with Chromium and Luakit and have also installed LibreOffice and Claws, so I can use it as a regular desktop computer if I have to.

Once you’ve got everything set up, you’ll be greeted with this in your browser when you enter the servers address:

edge

Performance-wise, it’s not bad. The first time you connect, you’ll be waiting about twenty seconds for it to respond, but subsequent connections are significantly quicker (i.e. near immediate). The desktop and iOS clients are pretty good and I’ve used them at home, work and out-and-about without any issues. I think it’s pretty awesome. There aren’t many servers you can run at your home for about a penny a day! It also appeals to my tinfoil-hat tendencies. I get to keep control over my own data, which has allowed me to delete my Dropbox and Copy accounts.

If you’ve got any questions about how I set up any of this stuff, drop me a line on Twitter and I’ll do my best to answer. I’m no Linux guru, but I’ve discovered a massive amount of reference material is out there to help you.

My next project (with the Model-A) is an in-car audio system. When I’m finished, I’ll post the details on how I built it.

* - If you don’t, this is going to be a really really boring post for you.
blog comments powered by Disqus