Introduction: Amazon Echo Starts Your Car

Picture of Amazon Echo Starts Your Car

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

Picture of 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.

git clone https://github.com/sajingeo/EchoCarStarter

Run the device.py,

cd EchoCarStarter/

sudo ./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

Picture of 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.

sudo /home/pi/EchoCarStarter/device.py

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.

Comments

sajingeo (author)2017-07-18

Nice... @coreyf311 you should post your schematics, for our maker friends :)

coreyf311 (author)sajingeo2017-07-18

working on the write up now :)

coreyf311 made it! (author)2017-07-18

Thanks for sharing! I took it a bit further. Got a case for the Pi Zero and a hat from Adafruit. I also added lock and unlock because I am super lazy :)

coreyf311 (author)2017-07-18

Can you capture and log the IP of the Echo thats talking to the pi?

JohnP673 (author)2017-03-05

Can this be modified to do two (different) button presses? I have a Chevy RKE fob which requires a quick press on the door lock button, then a 4 second long press on the start button. Could I use 2z and 2y1 for the second button, if so, how would I connect them to the pi zero? And how could I encode the second button press? Thanks for any help I can get on this, and for sharing this great project.

mitcha3154 (author)2017-02-26

This is great, thanks for sharing. I hope you don't mind me adding some things that might help others like myself who might not be as electronically inclined as yourself and others.

1. Remember that the remote fob you will be using still needs to be programmed to start your car before this mod will work. I say this because I ordered another remote just for this project, and I went right to work on this project with it before realizing this, so be sure to program yours before starting this job.

2. I-think the item number from Sparkfun for the USB/OTB dongle (11604) is incorrect. This has a micro USB female. In my case the Raspberry Pi required a micro USB MALE, not female. (I'm not 100% sure this is correct, however the 11604 did NOT fit my RPi)

3. You will also need a power supply and an SD card for the Raspberry Pi.

Before I can continue I have a couple of questions.... Your circuit diagram clearly shows what needs to be grounded, but I don't understand what they need to be grounded to.

On your circuit diagram, one of the ground connections is called "remote GND". Does this go to the negative from the remote's battery ? (looks like the VCC goes to the positive battery terminal).

Thanks for your time. I did do a thorough search to find answers to all the above but it seems like you are a pioneer of this operation since there is almost no other information available on this topic.

JohnMBR (author)2017-02-23

Hey,

Would it be possible to upload a photo of the underside of the pcb board with the mux on? I'm a complete electronics noob and trying to work it out but I'm using the alternative mux option you provided

mseidel2 (author)2016-12-27

This is fantastic! My remote uses 3 key (lock) presses to launch the start sequence. What would be the easiest way to modify the GPIO command to have it fire the button command 3 times?

sajingeo (author)mseidel22016-12-29

in your case you will need to use 3 gpios.

GPIO.output(REMOTE_GPIO1,GPIO.HIGH)

GPIO.output(REMOTE_GPIO2,GPIO.HIGH)

GPIO.output(REMOTE_GPIO3,GPIO.HIGH)

time.sleep(4)

mseidel2 (author)sajingeo2017-01-15

I'm assuming you mean that I should have the gpio command run 3 times rather than using 3 separate GPIOs.
Here is where I placed it.

def changeIOState(state): ##simulate long key press

if state:

GPIO.output(REMOTE_GPIO,GPIO.HIGH)

time.sleep(4)

else:

GPIO.output(REMOTE_GPIO1,GPIO.HIGH)

GPIO.output(REMOTE_GPIO2,GPIO.HIGH)

GPIO.output(REMOTE_GPIO3,GPIO.HIGH) ## check this if you two buttons to turn ON/OFF

time.sleep(4)

GPIO.output(REMOTE_GPIO,GPIO.LOW)

I'm not seeing any continuity Between Y1 and Z when it runs. Did I place the code wrong, or is something wrong on the hardware side.

mseidel2 (author)sajingeo2016-12-29

Thank you so much!

hkwaltermire00 (author)2016-12-19

Hi, I just bought an Amazon Echo and want it to start my car. Can you please send me a list of exactly everything I would need to do this? My car is a 2015 Buick Encore.

What are the names of the other parts you are working with? I see you used some blue cord, wire, and a round board. This is my first project and I am a little unfamiliar.

sajingeo (author)Lindseybrown42016-12-29

the blue wiring, is described on step 1 (circuit diagram)

sajingeo (author)hkwaltermire002016-12-29

I have just updated step 1 with all required components.

About This Instructable

11,226views

31favorites

License:

Bio: DIY, electronics...and loves getting creative...
More by sajingeo:Amazon Echo starts your carReal World MinecraftBluetooth Speakers using Raspberry Pi
Add instructable to: