Jfokus 2016: The Vacuum Cleaner Battle

During the conference Jfokus in 2016, we hosted an all-day hackathon station where people could sit down with us and do some hands-on work. We tried out a range of sensors from different vendors, IoT kits like the photon.io as well as a bunch of useful open source softwares like MQTT, socket.io and timeseries databases like InfluxDB.

We covered many aspects of the how to setup an environment for rapid prototyping of smart energy services including:

Setup of the Open Energy Playground environment

Inputting smart plug data into MQTT and routing the data to a time series database

Creating an animated desktop widget to display energy data

Accessing the data in an photon.io IoT module in order to drive a physical dial

How the variations in the energy use by a device can be used as a sensor for different internal conditions of a device

How to quickly setup data analysis on the data with NodeRed

During these days, we also put together the Vacuum Cleaner Battle as a showcase of how smart plugs, micro controllers such as Arduino and Photon and some other simple components together with MQTT can be used to measure the power of vacuum cleaners.

The showcase arena.

As the days went on, we extended the showcase further every hour. First, we needed to get the concept working, this meant:

Putting together the vacuum cleaners with the different kinds of plugs

Writing the necessary script for detecting, transmitting and calculating the power difference

Updating the current scores

The plugs from Fibaro, Plugwise and Yanzi which the vacuum cleaners were connected to.

As this is the basis for the concept, it obviously takes the longest time. While people came by during breaks, we also had lots of evaluations of the concept. We quickly realized that a timer for each fight of 30 seconds was probably better instead of calculating which player reaches ten points the fastest, as it tends to get tiresome quite quickly holding a vacuum cleaner.

Our workshop table where all the magic happened :)

One further refinement was that the points could be better communicated back to the players (and the audience), which is why we added the LED strip awarding points (according to the player's color). This meant that in addition to the LED strip, we also needed to add a photon which listens to the MQTT-messages.

The end of the LED strip attached to a Photon and power.

However, only counting the points by lighting up points during the fight is quite poor feedback, as the player not really has the time to lower ones guard to check the score. Therefore we also added the sound effects when players are awarded points. This was achieved through a small image called Omxplayer listing to a MQTT topic and free sounds downloaded from the internet.

Finally, we also wanted players to be able to start the game without using the Node RED-interface, therefore we bought a huge red button and connected this to a photon, playing a countdown sound and starting the game.

The beautiful start button attached to a photon.

The only components requiring internet are the Photons, so if you want to put this together without any internet connection you might want to use some other device, such as an Arduino.

A separate article has been written on how to set up the Vacuum Cleaner Battle accessible here.