At Hack The Evening we’ve been working on the Ambient Bugs project; ambient bugs that live in Bay 7, electronically chirping and glowing in response to tweets about The Edge (@slqedge, #slqedge) and interactions with The Edge website (e.g. someone posts something, signs up for the Edge social network, joins a group etc.)
The project started out as an opportunity to augment existing sculptural work at the State Library of Queensland. Unfortunately there was no way of sneaking power to these sculptural elements, leading to the original plan being scrapped and a new one developed to house the work the team had already completed; the Ambient Bugs. Each of the three bugs is built with LED eyes that glow, an EL-wired carapace that blinks, and a small piezoelectric speaker for the sound. On the backend of the project sits an API (application programming interface) for programming savvy people to hack and play, creating new applications that interact with the sight and sound possibilities in the bugs.
Each bug is controlled by an Arduino and equipped with LED eyes that can glow, an EL-wired body that can blink and a speaker for the sound. Further, each bug is individually addressable through a wireless XBee network. A server application checks the Edge RSS feed and Twitter API for new posts. When a new post is detected, the server calls the bugs using a dedicated WiFi network and tells it what to do; glow, pulse or chirp. An API is provided for interested Edge users to create their own notifiers for particular, customised events.
Using the API
The bugs are connected to a dedicated WiFi network at The Edge named “the room”. The SSID to this network has been hidden. To communicate with the bugs you will need to be connected to this network.
Use the following URL structure to address the speaker, LEDs or EL-wire of each individual bug:
The address parameter (5002, 5003, 5004 etc.) in the URL designates a particular bug in the network:
For each medium (speaker/led/elwire) has been preconfigured two patterns that determine what sound will be played, how many times an LED should blink and such:
For testing / debuggin purposes, we also created a mobile website that let’s you manually control the bugs. Connect to the WiFi network “the room” (hidden network), and open the following URL:
- http://192.168.0.150 /ambientbugs/control.html
The full Arduino source code of the bugs can be found on github:
The source code for the server side application can be found here (developed by Anna Gerber):
How to transmit analog signals using an Arduino / XBee configuration:
How to make EL-wire blink with an Arduino: