I’ve been interested in the Internet Of Things – the connectivity between the online and physical worlds – ever since the heady days of the Cambridge coffee pot. Now, fifteen years on, we’re used to the idea of the internet being a vast repository of information and data, but this is still largely a case of retrieving information stored on distant hard-drives. The broadcasting of live data directly from real-world inputs has, in most people’s experience, largely been confined to webcams and weather-stations. And as for devices which import network-sourced data and manifest it physically, apart from specialised projects these have tended to be limited to the realms of novelty, such as toasters which burn different images into your bread, depending on the weather forecast.
In the same way that HTML made the creation of web-pages relatively straightforward, and facilitated the rapid expansion of the worldwide web, the Arduino has allowed people to create interactive physical projects without needing to have too much in-depth electronics knowledge. We are now at a point where the Internet Of Things is starting to take off and people are starting to see all kinds of possibilities. It’s all terribly exciting.
Because I find this interesting and already had a good working knowledge of the Arduino, I previously dipped my toes in the water by making a drumbot which played samba rhythms when anybody mentioned certain words on Twitter. The original idea was inspired by (ie. ripped off) Adrian McEwen’s Bubblino – a bubble machine which watches Twitter and blows bubbles – which I’d seen at the 2009 Robot Hack Day at Madlab. To say that the end result was a hack would be an understatement of Houston-we-have-a-problem proportions. It worked, but only just, and since I’d copied and pasted a lot of code from the internet, I wasn’t entirely sure how.
Anyway, it just so happened that The Omniversity course was being given by Adrian McEwen himself, who has recently taken charge of developing the Arduino Ethernet libraries, and so is probably in a better position than anyone else to talk about them.
Adrian started off by talking about how the internet generally works at a fundamental level, mentioning different protocols, addressing, ports, etc. He also showed how to communicate to different types of server – Email, HTTP, etc. – at a fundamental level. He mentioned that this wasn’t necessary knowledge to use the Arduino, but I found it illuminating and inspiring. Discovering that you can interact with email, for example, just using basic ASCII-based commands got me thinking of possible future projects which could use this.
Most of the day was taken up with working through various examples of different applications, such as reading and writing data to online data logging sites, extracting data from webpages, using the Arduino as a webserver, etc. We were given workbooks with all these examples, plus lots of other stuff which Adrian didn’t mention, such as various different ways to connect our devices to the net. We were also given other course materials, such as an Ethernet shield, cables, components, a pen-drive with various utilities and libraries on, including updated Ethernet libraries which are so new they’ve not yet become part of the official Arduino IDE.
So, all in all it was a very interesting and useful experience. I’ve re-written the code for my drumbot with a minimum of problems, and have ideas for several other projects with which to utilise my new-found knowledge. Next stop: WORLD DOMINATION!!! MWAAAA HAA HAA HA HA HA HAAAAAAA! *ahem*