Let the ESP32/ESP8266 ping a remote machine.
With this library an ESP32/ESP8266 can ping a remote machine and know if it's reachable. It provide some basic measurements on ping messages (avg response time).
thanks to Daniele Colanardi and Marian Craciunescu
First, include the library in your sketch along with WiFi library:
#include <ESPping.h>
Next, simply call the Ping.ping()
function
IPAddress ip (192, 168, 0, 1); // The remote ip to ping
bool ret = Ping.ping(ip);
ret
will be true if the remote responded to pings, false if not reachable.
The library supports hostname too, just pass a string instead of the ip address:
bool ret = Ping.ping("www.google.com");
Additionally, the function accept a second integer parameter count
that specify how many pings has to be sent:
bool ret = Ping.ping(ip_or_host, 10);
After Ping.ping()
has been called, the average response time (in milliseconds) can be retrieved with
float avg_time_ms = Ping.averageTime();