#include #include //----Configuração Serial---- #define SERIAL_SPEED 115200 //----Configuração do WiFi---- #define WIFI_SSID "ADAWiFi" #define WIFI_PASSWD "12345678" #define MAX_WIFI_INIT_RETRY 10 #define WIFI_RETRY_DELAY 500 //Função de inicialização do WiFi int WiFi_init(const char* wifi_ssid, const char* wifi_passwd){ int retries = 0; Serial.print("Conectando ao WiFi "); Serial.print(wifi_ssid); Serial.println(".........."); //Colocando o WiFi no modo station (ele se conecta aos WiFis) WiFi.mode(WIFI_STA); //Começa a se conectar no WiFi WiFi.begin(wifi_ssid, wifi_passwd); //Checa o estado da conexão. Se for WL_CONNECTED, então está conectado while ((WiFi.status() != WL_CONNECTED) && (retries < MAX_WIFI_INIT_RETRY)) { retries++; delay(WIFI_RETRY_DELAY); Serial.println("#"); } //Retorna o estado da conexão return WiFi.status(); } void setup() { //Configurando o monitor serial Serial.begin(SERIAL_SPEED); delay(100); //Tenta se conectar ao WiFi até que realmente esteja conectado while(WiFi.status() != WL_CONNECTED){ Serial.println("Nova tentativa de se conectar ao WiFi:"); delay(500); if (WiFi_init(WIFI_SSID, WIFI_PASSWD) != WL_CONNECTED) { Serial.println("Erro ao se conectar ao WiFi...."); } else { //Se conectado, irá mostrar o IP da conexão Serial.print("Conexão WiFi ok com o IP "); Serial.print(String(WiFi.localIP()[0]) + "." + String(WiFi.localIP()[1]) + "." + String(WiFi.localIP()[2]) + "." + String(WiFi.localIP()[3])); Serial.println("...."); } delay(2000); } } void loop() { //Aqui você faz seu código }