Sunday, 17 June 2012

My first view of the Raspberry PI

A (large) number of years ago I used UNIX machines almost exclusively. I was involved in delivering a software product that was built on a large number of architectures (from some DOS and Windows implementations to VAX VMS to IBM MVS to all flavours of UNIX on IBM, Sun, Silicon Graphics and other hardware). But it had been a while since I used a UNIX box in anger (although in the last 10 years I have installed Linux so that my previous business could have a Bugzilla server with MySql).

The Raspberry PI was released a few months ago and I was fortunate to get on early and order one each from the two distributors (at release you could only order one at a time). So now I have two and it was time to play. I am still working out what to do with these!

They were £25 (although by the time you add delivery it seems to nearer £30) each and have an ARM chip inside, 256MB of memory but apparently a good video chip, with HDMI output, two USB ports, Network connector and power (plus an audio & video and some on-board connectors).

To get the Raspberry PI up and running you need to download from the Raspberry Pi website an implementation of Linux (I have used the Debian Squeeze one initially) and write it to a SD card (not supplied), do some configuration and there you go.

My first "project" with them was to get the Microsoft.NET framework working using the Mono project. I more or less got it up and running from scratch in about 90 minutes (all the time remembering more and more about the fun of typing commands and using the vi editor!). I also got ASP.NET running on the box and a WinForms program.

Not quite right I know but I accessed the machine over the network from my notebook (whilst watching the football). I don't really have a spare monitor to plug this into. So once booted up I enabled "ssh" which allow remote access.

First impressions are it is a working Linux box. But if I wanted to do some Linux stuff I could just have built a Virtual machine for my PC (using VMWare Player or one of the other bits of software). It was good to see something so small run websites using Apache.

It is being targeted to young people and schools. I'm not sure that it will completely work. They are going to provide it boxed (the ones I have are just the board) and with documentation. It really needs this for people to get up to speed, but also for those who want to do a particular task (e.g. install Mono, play video, create video). Fortunately I have an idea of what I am doing - it might have been a while (I still think of UNIX rather than Linux).

My first computer (a VIC 20) gave me the opportunity to code - but things were simpler. You learned from scratch from the manual. I think I only gained success by continual study of the manual, magazines and anything I could get my hands on. It was also new - creating something on the screen on a VIC 20 felt like achievement. Not sure the young today will fell the same way (although my 8 year old god daughter uses Scratch to create programs). I think what is needed is some Raspberry Pi "training courses" to keep within the limits of the RPi but keep these people interested.

There are some additional costs to take into account - you need a SD card for each box (how many of them are going to go missing in schools!), plus a monitor taking a HD input (HDMI or DVI), which means a cable for that. Then a keyword and mouse, which most schools will have (once they recycle old machines - can't see them taking them from working PC's). On top of this schools will need to have some CAT5 sockets (so you can plug them into the internet) - and this means either setting up each SD card with a different static IP address or putting in a DHCP server (your home router does this for you - they aren't really suitable in a school). Finally take into account that these machines are small and might go for a walk (but they are cheap). All of this though is something that some simple training of teachers will solve.

So first one up and running with Debian and Mono with Apache.

I think the second one I might work with a friend getting it attached to his Solar Panel Inverter to read the performance which is then uploaded automatically to a monitoring site. That sounds more like a job for an embedded device. The first one may well become a proxy/VPN server meaning not leaving computers switched on when I am away or a Bugzilla Server or a Source Control server (maybe not).

On an aside, I first thought when I heard about these that if I were still managing a network centre having a rack of these rather than a single 1U server running some network services (such as DNS) might be a cheap way of providing a lot of redundancy. So having some of these at home behind a VPN might be a thought.

No comments:

Post a Comment