Gracias por tu respueste Dystorm,, ese punto ya lo aclaré. Ahora un problema que tengo es que el arduino NUNCA manda ningun correo, y en el monitor serial me aparece muy rápido "Desconectado" despúes de haberse conectado. He usado el ejemplo del webclient poniendo la dirección URL del servidor virtual que hice en la página que recomentaste (000webhost), donde aloje el archivo php. Cuando pruebo la dirección URL en cualquier navegador, si me funciona y envía un correo cada vez que accedo a tal dirección... Lo malo es usando esa misma dirección en el arduino....NO MANDA NINGUN CORREO.
Hola yo pongo esto:
.
.
.
.
.
if (client.connect(server, 80)) {
Serial.println("conectado");
// Make a HTTP request:
// GRAB THE VARIABLES FROM THE URL
client.println("GET http://www.dominio_que_has_creado.net84.net/nombre_fichero.php?para=email_destino@hotmail.es");
client.println();
}
.
.
.
.
Con este trozo del programa puedes comprobar si lo que tu has escrito es correcto, a mi me funciona sin problemas.
He probado lo que me mencionaste (con mis parámetros) pero el resultado sigue siendo igual: en el monitor serial me dice que se conecta y despues de un instante se desconecta, y por supuesto no envía ningun correo.
Lo que he estado usando el ejemplo del DNSWebclient en donde sustituyo la dirección que viene en la parte de char server [], por la dirección http://www.mi_dominio.net84.net/nombre_fichero.php?para=email_destino@hotmail.es&mensaje=hola").
Por supuesto usé lo que me mencionaste en la parte del sketch donde tiene ir (client.println("GET http://www.dominio_que_has_creado.net84.net/nombre_fichero.php?para=email_destino@hotmail.es");
Si copias y pegas tu direccion http://www.dominio_que_has_creado.net84.net/nombre_fichero.php?para=email_destino@hotmail.es dices que te funciona?? si es asi queda claro que el dominio esta bien creado al igual que el fichero PHP, con lo que nos queda el Arduino que debe ser donde esta el problema ahora ya o pones el programa para pegarle un vistazo o poco voy a poder ayudar ya que segun dices el sketch es el webclient modificando solo esa parte, siendo cierto yo lo tengo igual y me funciona.
EDITO: Acabo de revisar mi programa y creo que he visto donde puede estar tu problema, ¿Has puesto en IP Addres la direccion IP del servidor WEB o has dejado la de google??? si no has tocado nada es logico que no te funcione, has de cambiar la ip por:
IPAddress server(xx,xxx,xxx,xx); // IP HOSTING
Esta IP la verás aqui:
Si habias dejado la de google era logico que no funcionara, quiere conectar con el servidor google y luego le dices parametros de un servidor que no es el suyo
Recuerda que para hacer pruebas no envies muchos mails seguidos (creo que eran 18 en menos de un minuto) ya que el servidor te bloqueará la cuenta porque pensará que es un envío masivo de emails y por seguridad anti SPAM te cerrará la cuenta.
Efectívamente, lo que dices se acera mucho a lo que hacía. Lo que yo hacía era poner toda la dirección URL de mi servidor junto con mi archivo php y los parámetros, dentro del espacio de "char serverName []" en el ejemplo de DNSwebclient.
Gracias a que tu me dijiste en el pasado post lo que tu hacías, casi cuenta de mi error, porque yo no tomaba en cuenta la linea de "client.println(GET" donde pones la dirección URL, y por ende la dejaba igual.
Ya hice los cambios necesarios especificando todos los parámetros en la linea de "client.print(GET"........ y ¡¡¡¡¡¡¡¡¡YA FUNCIONÓ¡¡¡¡¡¡¡
Ahora le voy a quitar todo lo que sea serial para dejar el programa sin que tenga que usar la computadora
Gracias por tu ayuda compañero Dystrom, me fue bastante útil para hechar andar esta función
Me alegro de que ya te funcione, aunque tus agradecimientos los compartiré con los compañeros que en su día me ayudaron a aprender todo esto a mi (Sergegsx y PepeChorva) asi que tocamos a un 33,33333333...% cada uno
Tengo una duda con eso de mandar un parámetro a una página web a través de Arduino.
También estoy haciendo algo similar al enviar un correo y estoy usando el sketch de ejemplo del wifi shield, pero no se que tengo que poner en las siguientes líneas:
char server[] = "www.google.com"; // name address for Google (using DNS)
client.println("GET /search?q=arduino HTTP/1.1");
client.println("Host: www.google.com");
client.println("Connection: close"); // Esta última línea no se muy bien que hace
Ya tengo un servidor online, tengo un dominio y tengo el código php con el cual recibiré los parámetros. Pero lo eh ejecutado sustituyendo en char server el nombre de mi dominio, en GET la url donde esta mi código php, pero no consigo que se envie el correo.
¿Alguna idea?
Estoy utilizando este código (es parte del sketch webclient):
#include <SPI.h>
#include <WiFi.h>
char ssid[] = "red";
char pass[] = "pas";
int keyIndex = 0;
int status = WL_IDLE_STATUS;
char server[] = "www.midominio.com";
WiFiClient client;
void setup() {
Serial.begin(9600);
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
while(true);
}
while (status != WL_CONNECTED) {
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
status = WiFi.begin(ssid, keyIndex, pass);
delay(10000);
}
Serial.println("Connected to wifi");
Serial.println("\nStarting connection to server...");
if (client.connect(server,80)) {
Serial.println("connected to server");
client.println("GET /archivo.php HTTP/1.1");
client.println("Host: www.midominio.com");
client.println("Connection: close");
client.println();
} else {
Serial.println("No se pudo conectar al servidor");
}
}
void loop() {
while (client.available()) {
char c = client.read();
Serial.write(c);
}
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting from server.");
client.stop();
while(true);
}
}
Mi problema es con esta línea if (client.connect(server,80)), ya que no me conecta con el servidor por lo que no puedo mandar los parámetros con el GET.
Los que se ejecuta es
Starting connection to server...
No se pudo conectar al servidor
Alguna idea de que pueda estar pasando y que pueda hacer para corregirlo.
Edito: Gracias Sergegsx, por las pistas que me distes, esto sumado a mucho leer y leer, he conseguido mi proposito, enviar un email al pulsar un botón conectado a arduino sin tener que usar un pc. Ahora ire perfeccionando el programa para darle un toque mas "profesioná"
Podrias pasarme el sketch por favor, necesito enviar un email por arduino sin tener que usar una PC, tengo un par de limitantes pero esperaria lograrlo con tu ayuda.
"Edito: Gracias Sergegsx, por las pistas que me distes, esto sumado a mucho leer y leer, he conseguido mi proposito, enviar un email al pulsar un botón conectado a arduino sin tener que usar un pc. Ahora ire perfeccionando el programa para darle un toque mas "profesioná" :P"
Podrias pasarme el sketch por favor, necesito enviar un email por arduino sin tener que usar una PC, tengo un par de limitantes pero esperaria lograrlo con tu ayuda.