Ejemplo Webclient no funciona y envio de email sin PC [SOLUCIONADO]

a que ip estas llamando? creo que la que viene con el ejemplo no funcionaba. es de google. hay que cambiarla por otra.

Creo que la clave está en que en el webClient se usa

byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,1,177 };

y el el WebServer:

byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1, 177);

IPAddress ip(); parece ser un DHCP con dirección manual si está disponible, me tengo que mirar las librerías, que parece que han habido cambios...

Prueba a poner IPAddress ip(192,168,1, 177); en el webClient, a ver si así te va.

PepeChorva:
Hola, una pregunta bastante tonta pero… ¿has puesto la IP de la placa en el rango de IPs de tu router?
Si tu router tiene 192.168.0.1 el ejemplo del WebClient no te valdrá si no cambias la IP del arduino, que es;

byte ip[] = { 192,168,1,177 };

Gracias por contestar PepeChorva, el rango de la IP de mi router esta dentro del rango especificado, mi router es 192.168.1.1 por defecto.

Sergegsx:
a que ip estas llamando? creo que la que viene con el ejemplo no funcionaba. es de google. hay que cambiarla por otra.

Gracias por contestar Sergegsx, Si te refieres a la IP de google del ejemplo esta mal, porque es antigua, tal y como comento al principio la cambie pero sigue sin hacer nada en el serial monitor.

Este es el sketch original en Arduino 1.0:

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server(173,194,33,104); // Google

// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;

Y este el modificado segun lo que me habeis dicho (no se si es correcto el cambio)
#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
//IPAddress server(173,194,33,104); // Google; lo he puesto como comentario para no borrarlo
IPAddress server(173,194,34,215); // Google ; IP del buscador google
IPAddress ip(192,168,1, 177); Modificacion sugerida por PepeChorva

Realizando estos cambios sigue sin hacer nada... =(

Lo que me comentais de byte ip[] = { 192,168,1,177 }; no sale en el ejemplo de Arduino 1.0 :astonished: el caso es que este ejemplo solo cambiando la IP de google funcionaba el dia que compre la placa ethernet, es lo que no entiendo, sin embargo el ejemplo Webserver si funciona =(

He descargado Arduino 1.0.1 y el nuevo ejemplo webclient repating tampoco hace nada =( =(

acabo de probar el 1.0.1 con la ip que tu pones y funciona perfectamente
mira que tu router no tenga alguna restricción, mira el ip de uno de tus ordenadores y mira que tu pc esta puesto en ip automatico

Sergegsx:
acabo de probar el 1.0.1 con la ip que tu pones y funciona perfectamente
mira que tu router no tenga alguna restricción, mira el ip de uno de tus ordenadores y mira que tu pc esta puesto en ip automatico

Gracias Sergegsx, he probado y no funcionaba, he apretado el reset de la placa y MILAGRO!! ahora si, no entiendo que es lo que pasaba. Ahora me liare con lo que queria hacer desde un principio, que es intentar enviar un email al apretar un pulsador, como lo probé y no funcionaba pensé en cargar un ejemplo y probar para descartar que fuera problema de la placa, por eso me di cuenta de que no funcionaba tampoco.

Bueno probaremos suerte ahora, has hecho o conoces a alguien que haya hecho lo del enviar un email?? tengo algunos ejemplo con stunnel, pero aun sin probar por lo que he comentado antes, la idea era hacerlo sin que haya la necesidad de tener un pc en la red ni conectado al arduino. Solo quiero saber si alguien lo ha hecho para saber que es posible, no para que me pase el skeetch eehh!! :wink:

puede que lo que pasaba es que tardabas mucho en apretar el boton del serial monitor y cuando le dabas ya habia impreso todo. nose por decir algo.

para enviar emails yo lo que hago es llamar a un servidor que tengo online y que el servidor envie el email por php. es mucho mas sencillo. llamas a una URL pasandole unos parametros ?parametro1=2345....
y que el archivo php lo reciba y envie el email.

Sergegsx:
puede que lo que pasaba es que tardabas mucho en apretar el boton del serial monitor y cuando le dabas ya habia impreso todo. nose por decir algo.

No creo que fuera ese el problema, despues de darle vueltas, yo creo que el problema estaba en la placa que tengo con pulsadores y leds, porque ayer la desconecte para dejar solo al arduino y ethernet shield, pero no cargue ningun programa y al cargar el ejemplo de nuevo y no estar conectada la placa de pruebas por eso funciono, ahora probaré de conectarlo de nuevo a ver si sigue fallando y aclarar el tema, gracias por la ayuda compañero.

Sergegsx:
para enviar emails yo lo que hago es llamar a un servidor que tengo online y que el servidor envie el email por php. es mucho mas sencillo. llamas a una URL pasandole unos parametros ?parametro1=2345....
y que el archivo php lo reciba y envie el email.

Te refieres a un servidor online de correo?? es decir envias parametros por telnet como:

telnet smtp.gmail.com 25
ehlo gmail
auth login
.
.
etc...

voy a googlear un poco a ver que veo respecto a lo del PHP

me refiero a hacer lo sigiuente:

Arduino con ethernet llama a URL http://www.tupaginaweb.com/sendemail.php?destinatario=PeterGriffin&mensaje=Hola
tambien podrias hacer que envie un mensaje preconfigurado enviando solamente un identificador del mensaje
http://www.tupaginaweb.com/sendemail.php?email=23

en el php tienes que coger los parametros que hay en el URL tal y como explica aqui http://matthom.com/archive/2005/02/19/php-passing-variables-across-pages

// GRAB THE VARIABLES FROM THE URL
$destinatario = $_GET['destinatario'];
$mensaje = $_GET['mensaje'];

en el php estara el codigo que envia el email. PHP: mail - Manual

// Send
mail($destinatario, 'Mi título', $mensaje);

fin

He probado la direccion que me dices URL http://www.tupaginaweb.com/sendemail.php?destinatario=PeterGriffin&mensaje=Hola" pero no funciona, incluso cambiando destinatario, etc.. no lo he hecho con Arduino solo con el pc para probar el funcionamiento, puedes probarlo a ver si te va?? es porque a lo mejor lo probaste hace mucho tiempo y ahora el servicio ya no funciona. Espero tu respuesta y gracias por la ayuda que me estas prestando :wink:

esa dirección me la he inventado.
conoces php? sabes montar un hosting ?
pense que sabrias estos dos conceptos.

lo que hoy hago es llamar a un archivo php que esta dentro de un servidor online (gratuito o de pago). ese archivo post.php lo tienes que crear en tu servidor y añadirle el codigo que te he dicho.

Sergegsx:
esa dirección me la he inventado.
conoces php? sabes montar un hosting ?
pense que sabrias estos dos conceptos.

lo que hoy hago es llamar a un archivo php que esta dentro de un servidor online (gratuito o de pago). ese archivo post.php lo tienes que crear en tu servidor y añadirle el codigo que te he dicho.

Hola Sergegsx, no conozco php por eso puse en el mensaje anterior que iba a googlear un poco para conocer el tema, ya averigüe lo que me dices por todo lo que he leido en internet. Al poner ese enlace creí que era un ejemplo por eso lo probé para ver como estaba hecho y que tenía que hacer para aplicarlo en Arduino ya que eran conceptos desconocidos para mi, sabiendo que es un ejemplo inventado me servirá de guía, ahora seguiré buscando info sobre php, hacer un servidor online, etc... Esto es un no parar de aprender y aprender :wink:

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á" :stuck_out_tongue:

Sergegsx:
para enviar emails yo lo que hago es llamar a un servidor que tengo online y que el servidor envie el email por php. es mucho mas sencillo. llamas a una URL pasandole unos parametros ?parametro1=2345....
y que el archivo php lo reciba y envie el email.

Como llamas al servidor pasandole los parametros con la ip??

llamando a

Y como llamas a esa url??

Puedes poner l codigo?

Aquí te lo está diciendo el compañero, justo antes de tu comentario.

Sergegsx:
llamando a
tudominio.com - This website is for sale! - tudominio Resources and Information.

Perdonnas si pregunto de mas pero ahi solo veo una url no el codigo para ejecutar la redireccion

Deja de contestar en dos post lo mismo xq es un lio
abrete el ejemplo webclient reemplaza la url y la ip

Eso ya lo tengo hecho pero sigo sin saber como pasar parametros desde una ip.

La conexion la hace a la ip de google y en este caso no hay mas problema porque es la que hay pero en mi caso trabajo con subdominios.

No estoy posteando lo mismo, en este te pido el codigo de arduino que utilizas para conectar con tu php.

Pon tu codigo, tu ip, tu subdominio yy veremos donde esta el fallo. No metas mas codigo q el basico y necesario

Mira la seccion proyectos