A 96 Toyota Tacoma gets a technological facelift
I wanted to be able to start my Manual, 96 Toyota Tacoma, from my warm apartment. Living in Laramie Wyoming can be tough in the winter. Days as cold as -10F will make you want this hack.
I wanted to use the RaspberryPi and some Sainsmart relays to tie into the ignition wiring as well as one relay for the heater controls.
Not five minutes into the project did I realize that taking out the drivers seat would be the best way to get under the dash without breaking my neck. Under the seat is located the control box for the antitheft and power lock receiver. Look at all that nasty crud from eating in my truck. My bad.
The RaspberryPi was loaded with the wheezy image and a few extras were installed to make life easier. First being tightvc so if necessary I could vnc into the Pi's desktop and future implementation of the media center (XBMC? maybe?) Make sure that ssh is running and starting at boot. Setting a static IP is a helpful idea as well. I found that installing the wiringpi library from https://projects.drogon.net/raspberry-pi/wiringpi/ was a huge help as it made the commands to control the GPIO's much simpler for the script I would be writing.
The Toyota's ignition harness is incredibly easy to find and using a multimeter it is easy to figure out which wires we will be tapping into.
The Red lines show a Y in the wiring. Essentially we have the starter motor relay wire, and 12V ignition wire coming in through the firewall, going to the ignition switch, then going back out the firewall to the engine bay.
The blue circles are the connectors I tapped in between.
The Green is the ignition switch itself.
When the ignition switch is in its locked position, no power is allowed past. Obviously! This adds a bonus security feature; the steering wheel lock is engaged. When our remote start starts the truck anyone who manages to break in, will not be able to steal the truck unless they plan to not steer. As the switch is advanced to the first Accessory position, a few of the in cab electronics are allowed power from our 12V line. In the second position the switch allows power to go to the ignition system as well as the rest of the interior electronics. The third position is a momentary position as it applies power to the starter relay engaging the starter motor. We only need to pulse this a short time to start the engine. Longer would result in starter damage.
So we need the Pi to simulate the key being turned to those positions.
This is what I came up with in my testing of the connectors.
Earlier I talked about we would need to only pulse the ignition line. To do this I opted to use a timer relay device that is separate from the RaspberryPi. I chose to do so to make sure that any minute pulse from the Pi would activate and sustain the relay.
These wire taps were a big help as they are large enough to fit around our large ignition wires and not cause us to have to cut them. I wanted to do this for a few reasons. One being if I wanted to sell this truck at any point I could make this system removable and not damage the original system too visibly.
I chose to run all these wires, which i bundled together nicely behind the stereo and AC controls to the glove box where the Pi would reside. I suppose now is a good time to explain more of the on demand remote capability. it would not be very beneficial to have this system in the truck if I could not talk to it right. So I have mounted a wireless router on the passenger sun visor. It is a regular Cisco wireless access point that I am in the process of ordering high gain antennas for. My current range is quite good, but why not shoot for better? The Pi is connected to the router which does not broadcast the ID. I then use my Android phone to connect to that access point whenever it is in range.
The utility I use on my phone is an app called DrGPIO from the google play store located here https://play.google.com/store/apps/details?id=co.teubi.raspi_gpio&hl=en This app is super handy as it will try to install the DrGPIO on your Pi as well and tries to connect to the Pi from your phone given you are on the same network. I rarely use my home wifi on my phone so I deleted that connection from the phone and made the ToyotaPi network my priority network. The router in the truck was easy enough to power. The regular wall adapter outputs 12VDC! So i cut the end off and spliced it into our main lines that are constant not switched! If you are on a switched line your router will only work when the key is in.