Main goal of this project is to allow me to make a coffee early in the morning, while still laying in the warm bed, using only my phone (which I have just grabbed anyway, to turn the alarm clock off).
De'Longhi DGI EC5 is a simple device controlled only by the on-off switch. The switch can be shorted via the relay (I plan to use Mitshubishi Electric SF20-DPS-H1-4), which in turn is controlled by a dirt-cheap Atmega8L microcontroller connected the USB port using simple circuit the V-USB software. This basically turns the coffee maker into an USB device. Source code for the microcontroller can be found in the atmega directory. Circuit schematics will be drawn and provided later. For now, look at the USB-Servo to get an idea.
Simple CLI utility for communicating with the coffeemaker's controller is provided in the cli.
That USB device can be connected to anything. In my case it will be OpenWRT-controlled router with USB port (say, TP-Link MR4320). Simple CGI script is provided in the cgi directory. It should be placed in the /www/cgi-bin directory of OpenWRT router.
Android app that talks to the CGI script to control will end up in the android directory.
I used hid-custom-rq V-USB example by Christian Starkjohann when writing all of the AVR-related code. The circuit is based on USB-Servo by Ronald Schaten.
Nobody said dicking around with electric devices is a good idea. On the contrary, IT IS a bad one. I TAKE NO RESPONSIBILITY WHATSOEVER FOR ANY DEATHS, INJURIES, FIRES, PROPERTY DAMAGES, LOST WARRANTIES, DATA LOSS, CAFFEINE OVERDOSE OR ANY OTHER CONSEQUENCES OF ANYONE (YES, THIS INCLUDES YOU) MAKING ANY USE OF STUFF INCLUDED IN HERE. It's your risk.