Hello All,
I am trying to develop a program for test the ethernet shield. I found a program for home automation that I was planning to use. Starting working well until I add another variable called 'prueba' as the last one to turn on/off a led.
When I add this variable in the Setup() , define it as an OUTPUT add the 'if' scenarios and finally add the HTML code for the buttons, the web page did not response.
Please help me to find why this problem occurs.
THANKS!
Here is the code (probably you already see this code before):
#include <String.h>
#include <Ethernet.h>
#include <SPI.h>
/* Simple Ethernet Test
Arduino server output simple text to browser
and controlling LED with simple checkbox */
byte mac[]={ 0x90, 0xA2, 0xDA, 0x05, 0x00, 0x51 };
byte ip[]={192,168,2,10}; // IP del Arduino
byte gateway[]={192,168,2,1}; // Acceso a Internet
byte subnet[]={255,255,255,0}; // subnet mask
// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);
byte sampledata=3;
// Salidas para encender las luces
int cuartocurvo=2;
int comedor=3;
int sala=4;
int cocina=5;
int lavanderia=6;
int cuartopadres=7;
//int prueba=8; // VARIABLE THAT MAKES HTML NO RESPONSE
//int constante=0;
char link[]="http://www.gloriayjavier.com/"; //link data
String readString=String(30); // String for fetching data from address
boolean LEDON=false; //LED status flag
void setup(){
//Start Ethernet
Ethernet.begin(mac,ip,gateway,subnet);
// Config. pines Luces como salidas
pinMode(cuartocurvo,OUTPUT);
pinMode(comedor,OUTPUT);
pinMode(sala,OUTPUT);
pinMode(cocina,OUTPUT);
pinMode(lavanderia,OUTPUT);
pinMode(cuartopadres,OUTPUT);
//pinMode(prueba,OUTPUT); //WHEN I ADD THIS OUTPUT THE HTML WEB DID NOT RESPONSE
//enable serial data print
Serial.begin(9600);
}
void loop(){
// Create a cliend 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()<30){
//Store character to string
readString += c;} //replaces readString.append(c);
//Output chart to serial port
Serial.print(c);
// if HTTP request has ended
if (c== '\n'){
//dirty skip of "GET /favicon.ico HTTP/1.1"
if (readString.indexOf("?") <0)
{
//skip everything
}
else
//Checar si el LED debe estar prendido
if(readString.indexOf("L=prende")>0){
//Led has to be turned ON
digitalWrite(cuartocurvo,HIGH); // Enciende el LED
LEDON=true;
}
else if(readString.indexOf("L=apaga")>0){
//Led has to be turned ON
digitalWrite(cuartocurvo,LOW); // Enciende el LED
LEDON=false;
}
if(readString.indexOf("C=prende")>0){
//Led has to be turned ON
digitalWrite(comedor,HIGH); // Enciende el LED
LEDON=true;
}
else if(readString.indexOf("C=apaga")>0){
//Led has to be turned ON
digitalWrite(comedor,LOW); // Enciende el LED
LEDON=false;
}
if(readString.indexOf("S=prende")>0){
//Led has to be turned ON
digitalWrite(sala,HIGH); // Enciende el LED
LEDON=true;
}
else if(readString.indexOf("S=apaga")>0){
//Led has to be turned ON
digitalWrite(sala,LOW); // Enciende el LED
LEDON=false;
}
//COCINA
if(readString.indexOf("Co=prende")>0){
//Led has to be turned ON
digitalWrite(cocina,HIGH); // Enciende el LED
LEDON=true;
}
else if(readString.indexOf("Co=apaga")>0){
//Led has to be turned ON
digitalWrite(cocina,LOW); // Enciende el LED
LEDON=false;
}
//LAVANDERIA
if(readString.indexOf("La=prende")>0){
//Led has to be turned ON
digitalWrite(lavanderia,HIGH); // Enciende el LED
LEDON=true;
}
else if(readString.indexOf("La=apaga")>0){
//Led has to be turned ON
digitalWrite(lavanderia,LOW); // Enciende el LED
LEDON=false;
}
// CUARTO PADRES
if(readString.indexOf("Pa=prende")>0){
//Led has to be turned ON
digitalWrite(cuartopadres,HIGH); // Enciende el LED
LEDON=true;
}
else if(readString.indexOf("Pa=apaga")>0){
digitalWrite(cuartopadres,LOW);
LEDON=false;
}
// WHEN I ADD THIS PART HTML WEB PAGE DID NOT WORK "****
/if(readString.indexOf("Pu=prende")>0){
//Led has to be turned ON
//constante=readString.indexOf("Pu=prende");
//Serial.println("indice PU prende:"+ constante);
digitalWrite(prueba,HIGH); // Enciende el LED
LEDON=true;
}
else if(readString.indexOf("Pu=apaga")>0){
//Led has to be turned ON
digitalWrite(prueba,LOW); // Enciende el LED
LEDON=false;
} /
//***************************************************
//****** CREANDO LA PAG. WEB********
//Now Output HTML data staring with standart header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
//set background to white
client.print("");
//send first heading
client.println("
Gloria's House!
");client.println("
");
client.println("
");
//output some sample data to browser
client.println("Luces a Controlar: ");
client.print(sampledata);//lets output some data
client.println("
");//some space between lines
client.println("
");
//printing gloria& javier link
client.println("Link: ");
client.print("Gloria y Javier");
client.println("
");
client.println("
");
//controlling led via checkbox
client.println("
CONTROL DE LUCES
");client.println("R&D Room
");
client.println("Comedor
");
client.println("Sala
");
client.println("Cocina
");
client.println("Lavanderia
");
client.println("Cuarto Padres
");
//client.println("Prueba
"); //THIS LAST BUTTON MAKES WEB PAGE TO STOP WORKING WELL.
client.println("
");
//printing LED status
client.print("LED status: ");
if (LEDON)
client.println("ON");
else
client.println("OFF");
client.println("
");
client.println("
");
client.println("");
//clearing string for next read
readString="";
//stopping client
client.stop();
}
}
}
}
}
//*******************************
lucescasa.ino (7.57 KB)