One of the predicaments at the Saturday Pi Club, to coin a phrase from the theatre industry, is the “Get-Ins” and “Get-Outs” are vital. If you only have an hour or two, any set-up and tear-down time burns into learning time.
For some time now, I’ve worried about this, and this week I decided to have a stab at solving it. Here it is, The Raspberry Pi Club Box… Ta Da!
Ok, well, don’t get to excited, it’s only a Really Useful Box with some tech inside it. But I did put a lot of thought into the bits inside the box, and the key point is that I turn up, plug it in, and I’m ready to go.
Let’s take a look inside to see what I managed to stuff in there, before I say why I chose all the bits I did…
Yes, ok, I know, it’s a bit of a dogs dinner, but it was actually very useful. Just like software, it relies heavily on abstraction and modularisation. Inside there are lots of off-the-shelf modules. I’ve “knitted” those together (integrated) into a useful combination, and hidden all the mess inside a box (encapsulation). I put the lid on the box and I’ll go back later and tidy the wiring up a bit without changing it’s behaviour (refactoring).
So, first, let’s start with the use case. I rush into the room, plonk the box on the table, plug it in the mains, and the kids plug their Pi’s into it with their ethernet cables. That’s it. We have a local network, we have auto-connecting internet access, we have shared storage, and we have a spare Pi that we can login to if we need one.
Ok, that’s the what out of the way, now let’s look at the detailed inventory of parts and describe the how.
1 x Netgear 8 port switch – Ignoring the connection to the router, this allows 7 Pi’s to be wired together, with internet access. Using the wired ethernet means we don’t need wifi adaptors, so we can use cheap keyboard and mice from the charity shop, 1 USB socket each burns 2 Pi USB sockets. (The kids also love seeing all the LEDs lit up on the Pi PCB!)
1 x Netgear Genie wifi router with integral USB socket – this gives us two wifi networks, a guest network with no secure key on it to provide just internet access, and a secure network (with a very simple password!) that provides both internet and local wired network access. The guest network is useful for phones to pair up to, and the secure network means all the PI’s (both wired and wireless) are on the same local subnet, so they can all connect to each other.
1 x powered USB hub – this connects into the Netgear Genie, and I have a small USB memory stick in it with shared files such as sample python programs, useful downloads, useful PDF manuals, and other stuff. The Netgear Genie serves this out via it’s built in web-server, so anyone can download these files, and it also provides read/write access via a built in FTP server, so kids can backup their files somewhere central at the end if they want. (The extra slots might be useful one day for plugging in more memory sticks, or even a hard disk perhaps, and the fact that the hub is powered means it has a cat’s chance in hell of actually powering a hard disk in the future).
1 x Netgear WNCE2001 wifi client – lovely little box, it plugs into the router and automatically connects to the centre’s wifi, giving us internet access. It remembers it’s last settings, so it’s all “turn up, plug in, ready to go”
2 x TP-LINK TL-PA4010 powerline ethernet adaptors with ethernet cables. One is in the box, one is outside. If the wifi isn’t working, or if I want to use the box in a different building without wifi, I can plug this into the wired networking to get internet access. (Note, wired is great, if you want to stop kids playing with facebook, just unplug this cable to temporarily disable the internet and leave the local network working).
1 x Raspberry Pi, Model B, with wireless dongle for keyboard/mouse. This is plugged in to the wired router, and gives us a spare Pi if we need it. We can plug it into our big HDMI monitor and use it for demonstrations, and use (ahem, in a separate bag!) a Maplin wireless keyboard and mouse to control it. Or, as of this week, now we have xming running on windows, we can log into this remotely from our laptop (ahem, also in a separate bag, but optional!).
lots x power adaptors – everything has it’s own power adaptor, but I won’t worry about that, it’s all stuffed into the same box.
Before: it used to take 15 minutes to get all the bits out of the box, plug them together, work out who needed wired or wireless connections, find enough spare mains adaptors, realise I left one in the car, finally we’re booted and programming. Another 15 mins at the end to stuff it all into bags, and another 15 mins at home to untangle all the wires ready for next week.
Now: It takes 10 seconds to plop the box on the desk, plug in the mains, and plug the Pi’s into it. We’re away and back at those lines of python we were desperately working on at the last minute last Saturday!