Hola gente les comento , estoy armando la alarma para mi casa y tengo un pequeño problema, mas que problema consulta sobre un code ...
Tengo Ard Mega 2560 y Ethernet Shield Wiznet ..
El arduino es de solo entradas , de sensores , 3 sensores para ser mas exacto , pero yo quiero que cuando detecte una entrada (sensor) llame a la web http://ip.com/blabla ...
por cada sensor espicifico , osea entrada 1 llamar http://ip.com/blabla , entrada 2 llamar http://ip.com/blabla2 , entrada3 http://ip.com/blabla3.. pero la tengo liada con el code , la verdad que soy bastante nuevo en el tema pero me voy defendiendo , espero que alguna me pueda dar una mano, saludos y desde ya gracias!
Hola,
no entiendo muy bien qué quieres decir cuando hablas de "llamar a una web". ¿Qué quieres que suceda en la web cuando un sensor detecta algo?
en realidad no sucede nada en la web , al entrar a la web , http://ip/1
modificaria una variable , en si lo que necesito es que entre a una direccion por cada sensor . al entrar me modifica la variable y soy feliz.
creo que esto es lo que buscas...
//Stand alone Ethernet unit arduino sketch
//Author: Sergio E. (based on the work done by: Trystan Lea - openenergymonitor.org GPL)
//Libraries
#include <SPI.h>
#include <Ethernet.h>
//Server IP address
byte server[] = { 188,121,46,128 }; // servidor godaddy
//Setup a client
Client client(server, 80);
byte ip[] = { 192,168,1,69 };
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte gateway[] = { 192, 168, 1, 1 }; //your router's IP address
void setup()
{
//Start ethernet, usb serial and xbee serial.
Ethernet.begin(mac, ip, gateway); //, subnet);// Ethernet.begin(mac, ip);
Serial.begin(9600);
Serial.println(" -------------------- Iniciando Arduino ------------------------");
}
void loop()
{
statusdebug = digitalRead(inputPindebug);
}
digitalWrite(statusled, HIGH); // set the LED on
//Output to serial
Serial.print(apparentPower);
Serial.print('\t');
Serial.print(realPower);
Serial.print('\t');
Serial.print(Vrms);
Serial.print('\t');
Serial.print(Irms);
Serial.print('\t');
Serial.print(powerFactor);
Serial.print('\t');
Serial.print(freq/1000); //sergio
Serial.print('\t');
Serial.print(statusservidor);
Serial.print("\t");
Serial.println(statusdebug);
Serial.print("GET http://blablablacom/blablbla/emon.php?P=");
Serial.print(apparentPower);
Serial.print("&R=");
Serial.print(realPower);
Serial.print("&V=");
Serial.print(Vrms);
Serial.print("&I=");
Serial.print(Irms);
Serial.print("&X=");
Serial.print(powerFactor);
Serial.print("&F=");
Serial.print(freq/1000);
Serial.print("&S=");
Serial.print(statusservidor);
Serial.print("&D=");
Serial.println(statusdebug);
//Send the data -----------------------------------------------------------------------
if (client.connect()) {
client.print("GET http://balblabla.com/blabla/emon.php?P="); // client.print("GET /xampp/post.pl?P=");
client.print(apparentPower);
client.print("&R=");
client.print(realPower);
client.print("&V=");
client.print(Vrms);
client.print("&I=");
client.print(Irms);
client.print("&X=");
client.print(powerFactor);
client.print("&F=");
client.print(freq/1000);
client.print("&S=");
client.print(statusservidor);
//Not sure if this line stops it working...?
//client.println(" HTTP/1.1");
client.println();
client.stop();
// Serial.println("Data Send.");
delay(8000); // tarda 2 segundos en subir los datos al servidor. añadimos delay de 8 segundos para tener registro cada 10 segundos
}
else {
Serial.println(" ***************** Failed to connect to client ***************** ");
delay(5000);
}
//-------------------------------- end of send data ---------------------------------------
digitalWrite(statusled, LOW); // set the LED off
} // fin del void loop()
por supuesto este codigo no compila directamente ya que he eliminado todo lo relacionado con mi programa. pero puedes ver lo que a ti te interesa de ocmo llamar a una dirección y pasarle parametros para que cambien variables o las guarde en mysql q es lo que hace mi php
gracias sergio este fin de semana lo voy a chekear todo el code . estamos en contacto.