The voice controlled coffee machine

I recently had a DiY workshop together with my Developer Garden colleague and firefighter Frank Zimmer and the great guys from Oracle. Oracle is working on M2M devices – obviously based on Java. After some Java experiments with a Cinterion driven embedded device this was my first time playing with the famous Raspberry PI and Java. Raspberry PI is a very small Linux PC similar in size to embedded boards like Arduino or .Net Gadgeteer. Our approach was controlling a coffee machine with a phone to serve George Clooney a coffee (sorry, in this case I was George Clooney´s lame replacement, but the Nespresso is real).

We hacked a Nespresso coffee machine, connected it to a Raspberry Pi and controlled it via phone. Please note, the video is just a rough cut to illustrate our proof of concept.

First of all we start the machine and need to wait until the machine is ready. But you can spend your time for so many things better than waiting: say writing Java. So we hacked the machine and connected it to the Raspberry PI running a small Java program. This program initiates a phone call via the Telekom Tropo API once the coffee machine is heated up. Now we need the way back from the phone to the Raspberry PI to finally start the coffee making. This is handled by Telekom Tropo which translates a phone call into a parameterized request which than writes a token. This token is handled by the Raspberry PI to start or stop the coffee making process.

I hope I can convince my friends from Oracle to publish the hardware specs and the Java code. And if you want to learn more about M2M and IVR-Systems (interactive voice response), feel free to come to our TechTalk at the 13th of December in Berlin.

Update: Some people asked how we did connect the Raspberry Pi and the coffee machine: Therefore we use the GPIOs and the Java library Pi4J.