Category Archives: Coding

In depth with the TwitALU software

We’ve touched on this area before with the software layout and planning post but a lot has happened since then. This includes a GitHub repository where the latest version of our code can be found here. If you fancy having a read through it and reckon you have spotted any problems or know a better way of doing things then let us know and we’ll look into what you’ve spotted.

Work in progress system class diagram

Work in progress system class diagram

For the most part it is structured just like the diagram suggests we had it planned. A cool feature of the project is that the code is portable to other platforms, with just a simple rewrite of the lowest level classes – I2C and Quick2Wire. This means that you could implement the TwitALU on completely different hardware – for instance on the BeagleBone Black or even an ARM based mobile phone.

Continue reading

The Twitter API, Twython and I

Musical references aside my time has, since building as much of the actual system on breadboard as was needed and ordering PCBs, been spent mostly on finding a suitable Python 3 compatible Twitter library and getting it to work.

Job number 1 was finding one I liked the look of. Truth be told, this extended as far as some Googling and finding a list of popular libraries. Then choosing one that was actively maintained, worked with Python 3 and introduced the least interfering with data between me and the actual Twitter REST API 1.1.

Continue reading

Code structure, planning and progress

Since software has been a major focus while the PCBs have been in production we will give you a sneak peek into how we’re designing and keeping track of things.

Work in progress system class diagram

Work in progress system class diagram

Above is our UML (Unified Modelling Language) class diagram for the software that is being developed on the Raspberry Pi. With a project as complicated as ours, it was very important to plan the software. This allowed us to break up the overall goal into smaller, more manageable modules. These modules could then be programmed in parallel as the requirements of each piece of code was predetermined. Continue reading

The Raspberry Pi

Great, we now have a hardware ALU with its most important elements implemented on a metric tonne of breadboard. However, this awesome little machine is missing a crucial component – the interface to Twitter.

Raspberry Pi - a mightily small embedded Linux PC. Credit: http://www.sotechdesign.com.au/

Raspberry Pi – a mightily small embedded Linux PC. Credit: http://www.sotechdesign.com.au/

Enter the Raspberry Pi (RPi) – everybody’s favourite credit-card sized PC. As good as it is for playing back high-definition video and surfing the web with a connected monitor, its real power is harnessed when it’s used for a different, deeper purpose.

Continue reading