Realizando testes de conexão com o comando Ping no ESP32.
Para monitorarmos a comunicação com outros equipamentos e realizarmos a verificação se a conexão com a internet e/ou rede interna estão ativas.
A biblioteca é a ESP32Ping.
Segue exemplo de uso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | /*------------------------------------------------------------------ Programa : PING NO ESP32 - EXEMPLO DE USO COM BIBLIOTECA ESP32PING Autor : Fellipe Couto [ http://www.efeitonerd.com.br ] Data : 10/10/2022 ------------------------------------------------------------------*/ #include <WiFi.h> //Conexão na rede Wifi #include <ESP32Ping.h> //https://github.com/marian-craciunescu/ESP32Ping #define LED_WIFI 2 //Pino led sinalizador do WiFi #define WIFI_SSID "REDE" //Nome da rede WiFi #define WIFI_PWD "PASSWORD" //Password da rede WiFi char* remoteHost = "www.google.com"; //IP ou endereço web para realizar o ping void setup() { //Inicia a comunicação serial Serial.begin(115200); //Configuração do pino pinMode(LED_WIFI, OUTPUT); //Efetua a conexão com o wifi wifiConnect(WIFI_SSID, WIFI_PWD); } void loop() { Serial.println("\nPing em " + String(remoteHost) + "..."); //Ping no remoteHost if (Ping.ping(remoteHost, 3)) { //Parâmetros: (remoteHost, quantidade_pings (default=5)) Serial.print(Ping.averageTime()); //Retorna o tempo médio dos pings Serial.println(" ms"); } else { Serial.println("Erro."); } delay(3000); } /*--- EFETUA A CONEXÃO COM O WIFI ---*/ void wifiConnect(char ssid[], char password[]) { Serial.print("Connecting to WiFi..."); //WiFi.config(LOCAL_IP, GATEWAY, SUBNET); //Config IP fixo. Parâmetros tipo IPAddress. IP separado por vírgulas: (XXX, XXX, XXX, XXX) WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { digitalWrite(LED_WIFI, !digitalRead(LED_WIFI)); //Pisca o led para sinalizar wifi ainda não conectado Serial.print("."); delay(100); } digitalWrite(LED_WIFI, HIGH); //Acende o led sinalizando wifi conectado Serial.println("\nWiFi Connected!"); Serial.print("SSID: "); Serial.println(ssid); Serial.print("IP: "); Serial.println(WiFi.localIP()); Serial.print("Gateway: "); Serial.println(WiFi.gatewayIP()); Serial.print("SubnetMask: "); Serial.println(WiFi.subnetMask()); Serial.print("MacAddress: "); Serial.println(WiFi.macAddress()); } |
Nenhum comentário:
Postar um comentário