Que tal todos , estoy realizando un proyecto con arduino que mide la temperatura de una sala con un sensor Dth11 y mediante un servidor web me indique la temperatura con un refresco de 3 segundos , eso está hecho pero el problema es que necesito acoplar una simulación de falla eléctrica y que me muestre en el servidor que existe esa falla pero la verdad soy nuevo en esto y no tengo idea de como hacerlo. Les agradezco por leer y si me podrían ayudar o dar orientación , saludos!
este es mi cpodigo
#include <SPI.h>
#include <Ethernet.h>
#include <DHT.h>
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // Ingresamos la MAC y la IP del arduino, la ip tiene que estar en el mismo rango que nuestro router.
IPAddress ip(10, 13, 81, 175);
EthernetServer server(80);// Iniciamos la libreria de ethernet con la ip y el puerto que vayamos a usar(puerto 80 por defecto para http)
DHT dht( 2, DHT11); // indicamos que dentro de la libreria del DHT, vamos a crear un objeto que va a usar el pin 2, y va a ser del tipo dht11
void setup() {
dht.begin(); //inicializamos la libreria DHT
Serial.begin(9600); //inicializamos la comunicacion serie
while (!Serial) {
; // espera a que el puerto serie se conecte.
}
// comienza la conexion con internet:
Ethernet.begin(mac, ip);//inicializa cual es la mac y la ip
server.begin();//inicializa el servidor
Serial.print("servidor esta en ");//imprime
Serial.println(Ethernet.localIP());//imprime la ip local
}
////////////////////////////////////////////////////////////////////////////////////
// PRINCIPAL ///////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
void loop() {
EthernetClient client = server.available(); // se crea el objeto cliente cuando el servidor esté disponible
if (client) { // si el cliente esta conectado
Serial.println("Nuevo cliente"); //imprime
// una respuesta http termina con una linea en blanco
boolean currentLineIsBlank = true; // y detecta una linea en blanco
while (client.connected()) { //mientras el cliente esté conectado
if (client.available()) { // y si el cliente está disponible
char c = client.read(); // crea un objeto llamado c para leer al cliente
Serial.write(c);
// if you've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so you can send a reply
if (c == '\n' && currentLineIsBlank) {
// 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.print("<head><title>TEMPERATURA</title><head>");
client.print("<body background=http://static.vueling.com/cms/media/1217000/santander.jpg>");
float t=dht.readTemperature();
client.print("<hr weidth=130 noshade>");// una linea horizontal de 150 que no tiene sombra
client.print("<font face=arial><font size=4><div align=right>Telefonos de Mexico</font></div>");
client.print("<font face=arial><font size=4><div align=right>José Antonio Vargas</font></div>");
client.print("
");// espacio de separacion
client.print("<font face=arial><font size=6><div align=center>Temperatura actual del cuarto</div></font face></font size>
"); // fuente, tamaño y alineamiento del texto, el tamaño entre 1 y 6, 3 el de por defecto.
client.print("
");
client.print("<font face=arial><font size=7><div align=center>");
client.print(t);
client.print(" °C</div></font face></font size>");
client.println("
"); // espacios para insertar la linea de separacion final, antes del logo
client.println("</html>");
break;
}
if (c == '\n') {
// comienzas una nueva linea
currentLineIsBlank = true;
} else if (c != '\r') {
// has conseguido un nuevo caracter en la misma linea
currentLineIsBlank = false;
}
}
}
// le da un tiempo al navegador para dar los datos
delay(1);
// conexion terminada:
client.stop();
Serial.println("Cliente desconectado");
}
}