T-Birds are Go
The T-birds conference controller allows 5 chosen mobile users to be summoned at the touch of a button into a conference call. The photographs for each user (part of Jamie’s team Photoshop’ed onto Thunderbirds characters) have LED backlit eyes that flash when a call is connecting (just like in the original TV series – we have the sound effect too, it just doesn’t come out that well in the video). Speaking events (talk-on – talk-off) are indicated by the LED built into the switch beneath each user.
It’s a kind of hardware interface to an Uber Conference style app.
The genesis of this project was many months ago when we first started experimenting with the Raspberry-Pi, to see what kind of “internet-of-things” applications we might be able to build for our platform. After some initial messing about with LEDs and switches, we realized that adding WiFi to the Raspberry-Pi (there are a number of compatible USB Wi-Fi devices) opens up more interesting possibilities by creating a cloud-connected box that needs only power to function, and a variety of sensors can be hosted on a box like this.
We used the BlueVia APIs (Voxygen developed the voice call control APIs in the latest BlueVia platform) to initiate calls, and we added some secret sauce of our own to generate the realtime voice activated messages from the platform. For T-birds, this realtime stream is great for call control (i.e. we can see from the application whether calls to mobiles are ringing, answered, hung-up etc), and we can also see conference messages. For T-birds, we generate “start-talking” and “stop-talking” messages that show us which of the conference participants is speaking; we can use this to switch that participants button light on/off to give the conference initiator a view of who’s talking.
In hardware terms, the inside of T-birds consists of:
- The ‘slice of PI/O’ board, to interface our 10 LEDs and 5 switches
- 5 push-buttons with integrated LED
- 5 pairs of White-LED ‘eyes’
- A small amplifier and speaker for sound effects
- Power supply and a few ancilliary electronic components
The software consists of:
- Standard Pi Debian wheezy operating system
- Application code, written in PHP 5
- Some interfacing code in C that allows switching of LEDs and sensing of switches
PHP was a natural choice for this, as it allows easy construction and delivery of commands to the BlueVia webservice API that uses POST/GET and embedded JSON structures, as well as easy processing of realtime messages, which are also JSON. With PHP we were able to experiment, quickly get something going, then iterate towards final functionality.
The external casing was masterminded by Elliot, one of our interns, with the final paint finish really lifting the box into a superior category above “home-made”. Martyn, a master of the soldering iron, created the electronics and wrote the C and PHP code to make it work. Dean was project director and also involved in a number of constructing, painting and software tasks; he was also our conscience ever reminding us of slipping schedules and overspends (“the switches cost how much?”).
For your enjoyment, we created this “making of” video, which gives some idea of how this all came together, and what the final user experience is like.
We’re thinking of putting a complete kit on kickstarter – would you buy one?