Zapmote version one got trashed. I now have Automote!
This project has the following parts:
Arduino Uno
Arduino Ethernet Sheild
Relay Switch
A car remote
Stage 1 - Car Remote:
On the car remote solder a wire to the ground and power of the battery pins. Next solder a wire to the button positive and negative.
Stage 2 - Arduino:
Connect the Ethernet shield to the Arduino Uno. Connect the battery wires of the car starter to the Arduino's power and ground.
Connect the car starter's button wires (right blue in photo) to the relay switch. Then connect the relay ground, power, and data to the Arduino Uno.
Load the following code:
//Start of code
/*
Web Server
A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield.
Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
* Analog inputs attached to pins A0 through A5 (optional)
created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe
*/
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,0,14);
int goPin = 3;
String readString;
// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);
void setup() {
pinMode(goPin, OUTPUT);
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop() {
// Create a client connection
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 100) {
//store characters to string
readString += c;
//Serial.print(c);
}
//if HTTP request has ended
if (c == '\n') {
Serial.println(readString); //print to serial monitor for debuging
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close"); // the connection will be closed after completion of the response
//client.println("Refresh: 5"); // refresh the page automatically every 5 sec
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head>");
client.println("<meta name='viewport' content='width=device-width, initial-scale=1'>");
client.println("<link rel='stylesheet' href='http://code.jquery.com/mobile/1.4.4/jquery.mobile-1.4.4.min.css'>");
client.println("<script src='http://code.jquery.com/jquery-1.11.1.min.js'></script>");
client.println("<script src='http://code.jquery.com/mobile/1.4.4/jquery.mobile-1.4.4.min.js'></script>");
client.println("</head><body>");
client.println("<div data-role='page' id='pageone'>");
client.println("<div data-role='header'><h1>AutoRemote</h1></div>");
client.println("<div data-role='main' class='ui-content'><a href=\"/?on\" class='ui-btn'>Start Car</a></div>");
client.println("</div></body>");
client.println("</html>");
delay(1);
//stopping client
client.stop();
//controls the Arduino if you press the buttons
if (readString.indexOf("?on") >0){
digitalWrite(goPin, HIGH);
delay(1000);
digitalWrite(goPin, LOW);
}
//clearing string for next read
readString="";
}
}
}
}
}
//***********************
//End Code
//***********************
You may need to change the IP address for your local network, and you can change the mac address as well. Be warned if your IP or mac address is the same as anther device on your local network you will have problems.
Once you have this all done, go to your phone and load the webpage. Once you click the button you should hear the relay go off!


