Using your voice to control everything has always been very interesting. With my shiny new echo I could connect all the usual "connected home" devices, but I really wanted the echo to keep my car warm and toasty on a winter morning. In this instructable we are going to make the Amazon Echo start any car. We will do this by programming a Raspberry pi zero to act like a Belkin Wemo switch, named My Car. You can then ask "Alexa turn ON my car"
1. Any remoter starter (compustar, drone mobile, Viper(viper has web APIs you can use :) )) + 1 extra remote (45$)
2. One 74HC4052 (~1$) (or use https://www.sparkfun.com/products/13906)
3. Pi-Zero (5$)
4. 10k resistor 1/4 W (https://www.sparkfun.com/products/11508)
5. USB OTG(https://www.sparkfun.com/products/11604) + Wifi Adapter(dongle) (15$)
6. pcb bare board (https://www.sparkfun.com/products/8808)
Step 1: Build Your Circuit
Open up the remote starter remote and disconnect the battery before you start. You could get away with connecting two wires on the opposite sides of the start button on your remote [shown in pic]. Every remote is wired differently, and you might have to figure out which two leads of the switch short when the start button is pressed. Also make sure you draw out the battery positive and battery negative(GND), this will power the 74HC4052 (Analog Mux). Now build the circuit shown in pic. This IC can support multiple buttons, but we are only using one channel right now. Make sure you short the enable pin to GND.
Step 2: Setup Your Pi
Now all you need to do is clone this repo to your home directory on the raspberry pi.
Run the device.py,
Go to settings>connected home on the alexa app and run "Discover devices".
You should see a device "My Car" show up on the list. Now go ahead and ask Alexa to turn on your car. If it does not work the first time, retry "Discover devices"
Step 3: Auto Start the Scripts
Make sure all the scripts inside EchoCarStarter directory are executable (run chmod 777 *). Time to get more lazy :)
To run the script on startup (boot) edit the /etc/rc.local file
sudo nano /etc/rc.local
add this before exit.
also run "sudo raspi-config" and enable wait for network option (4) - assuming you have already setup the wifi or Ethernet on the pi zero.