/* ===============================================================
Project: 2 leds controlled by a webserver
Author: J. B. Wylzan
Website: http://www.ihackrobot.blogspot.com
Abstract: Sketch to control leds using an ethernet shield
================================================================== */
#include <SPI.h>
#include <Ethernet.h>
#define CH1 6
#define CH2 7
#define gLed 8
#define rLed 9
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //Your mac address
byte ip[] = { 192, x, y, z}; //Your ip address
byte gateway[] = { 192, a, b, c}; //Your gateaway address
byte subnet[] = { 255, 255, 255, 0 }; //Your subnet address
EthernetServer server(p); //Your server port
String readString;
void setup() {
Serial.begin(9600);
pinMode(CH1, OUTPUT);
pinMode(CH2, OUTPUT);
pinMode(gLed, OUTPUT);
pinMode(rLed, OUTPUT);
//Provide power to both LEDs
digitalWrite(gLed, HIGH);
digitalWrite(rLed, HIGH);
//Turn OFF any power to the Relay channels
digitalWrite(CH1,LOW);
digitalWrite(CH2,LOW);
delay(2000);
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
Serial.print("my 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 = readString + c;
}
//if HTTP request has ended
if (c == '\n') {
Serial.println(readString);
client.println("HTTP/1.1 200 OK"); //start of your HTML
client.println("Content-Type: text/html");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<HTML>");
client.println("<HEAD>");
client.println("<TITLE>iHackLab</TITLE>");
client.println("</HEAD>");
client.println("<BODY bgcolor='#ff4d4d'>");
client.println("<center>");
client.println("<H1>IHackLab Homotronics Website</H1>");
client.println("<hr />");
client.println("<br />");
client.println("<H2>Automation using Arduino Ethernet Shield</H2>");
client.println("<br />");
client.println("<a href=\"/stp\"\">Deactivate</a><br />");
client.println("<br />");
client.println("<br />");
client.println("<a href=\"/one\"\">Activate Relay 1</a><br />");
client.println("<br />");
client.println("<br />");
client.println("<a href=\"/two\"\">Activate Relay 2</a><br />");
client.println("<br />");
client.println("<br />");
client.println("<a href=\"/bth\"\">Activate Both Relays 1, 2</a><br />");
client.println("<br />");
client.println("<br />");
client.println("<br />");
client.println("<br />");
client.println("<hr />");
client.println("<a href=\"/http://www.myarduinosketchbook.blogspot.com\"\">www.myarduinosketchbook.blogspot.com</a><br />");
client.println("<hr />");
client.println("<br />");
client.println("</center>");
client.println("</BODY>");
client.println("</HTML>"); //end of your HTML
delay(1);
//stopping client
client.stop();
if (readString.indexOf("one") >0){
Serial.println("Relay 1");
digitalWrite(CH1, HIGH);
delay(1000);
//digitalWrite(CH1, LOW);
//delay(1000);
}
if (readString.indexOf("two") >0){
Serial.println("Relay 2");
digitalWrite(CH2, HIGH);
delay(1000);
// digitalWrite(CH2, LOW);
// delay(1000);
}
if (readString.indexOf("bth") >0){
Serial.println("Relays 1,2");
digitalWrite(CH1, HIGH);
// delay(1000);
//digitalWrite(CH1, LOW);
// delay(1000);
digitalWrite(CH2, HIGH);
delay(1000);
// digitalWrite(CH2, LOW);
// delay(1000);
}
if (readString.indexOf("stp") >0){
Serial.println("Deactivate");
digitalWrite(CH1,LOW);
digitalWrite(CH2,LOW);
digitalWrite(gLed, LOW);
digitalWrite(rLed, LOW);
delay(1000);
}
readString="";
}
}
}
}
}

No comments:
Post a Comment