Buenas... He empezado hace poco con esto de Arduino y aunque vengo del mundo techi no se como seguir en un proyecto que me ha venido a la cabeza para agilizar mi trabajo. Ya he llevado a cabo un proyecto en el que un modulo (UNO) enganchado a un Ethernet Shield y un LCD de 16x2 me escupe en el display LCD la dirección IP de el dispositivo al que enganche por Ethernet. Ahora para rizar mas el rizo, quisiera que también me hiciera unos testings de red y los reflejara en el display. En concreto, la latencia contra el dispositivo, si "pinga" contra el exterior y si resuelve DNS!
En el anterior proyecto, copiado de https://www.instructables.com/id/Print-the-IP-Address-on-LCD-From-Arduino-and-Ether/
solo hay una "orden" con relación a la ethernet (Preguntar que IP tiene el dispositivo) y esta definida en el código.
void loop ()
{
Ethernet.maintain (); // Sigue buscando una dirección IP
si (Ethernet.begin (mac) == 0) // inicia la conexión Ethernet, conéctate a DHCP. {
Ethernet.begin (mac, ip); // si no puede obtener una IP de DHCP, use el valor de repliegue
}
printIPAddress (); // imprime tu dirección IP local:
}
Ahora, quiero que además de indicarme el valor de la IP, también me indique si tiene acceso a Internet mediante un emoticono de corazón si está activo, la latencia del ping contra Internet (Google DNS), la latencia contra el Gateway y los últimos dígitos del server DHCP. Adjunto imagen del esquema.
El problema viene en que no se como ni donde poner todas estas variables.
Algún consejo?
Gracias de antemano!