🛠 Se connecter au Wi-Fi en mode station et suivre le RSSI

ESP8266 (módulo ESP-12E) · intermediaire · Schéma : IMG-esp8266-esp-12e-intermediaire-1-esp8266-wifi-sta-rssi.svg — Module ESP8266-ESP-12E relié à un point d'accès Wi-Fi 2,4 GHz, antenne PCB, condensateur de découplage sur le rail 3,3 V, console série sur UART0.

Objetivos

Conectar el ESP8266-ESP-12E a una red Wi-Fi en modo estación (WIFI_STA), el único modo compatible con las redes clásicas de 2,4 GHz (el chip no admite ni 5 GHz ni Bluetooth). Se muestra la dirección IP obtenida por DHCP, luego la potencia de la señal RSSI en dBm cada dos segundos, y se implementa una reconexión automática cuando se pierde el enlace. El RSSI es un excelente diagnóstico: por encima de -80 dBm la conexión se vuelve inestable. Esta es también la base de todos los siguientes tutoriales de red (servidor web, MQTT, OTA).

Material

Código completo

#include <ESP8266WiFi.h>

const char* SSID = "mon-reseau";
const char* PASS = "mot-de-passe";

void connexion {
  WiFi.mode(WIFI_STA);
  WiFi.begin(SSID, PASS);
  Serial.printf("Connexion a %s", SSID);
  unsigned long t0 = millis;
  while (WiFi.status != WL_CONNECTED && millis - t0 < 20000) {
    delay(250);
    Serial.print(".");
    yield;
  }
  if (WiFi.status == WL_CONNECTED) {
    Serial.printf("\nIP = %s  RSSI = %d dBm\n", WiFi.localIP.toString.c_str, WiFi.RSSI);
  } else {
    Serial.println("\nEchec : verifie SSID, mot de passe et distance du routeur");
  }
}

void setup {
  Serial.begin(115200);
  connexion;
}

void loop {
  static unsigned long derniere = 0;
  if (WiFi.status != WL_CONNECTED) {
    Serial.println("\nLien perdu, reconnexion...");
    WiFi.disconnect;
    connexion;
  }
  if (millis - derniere > 2000) {
    derniere = millis;
    Serial.printf("RSSI = %d dBm  canal = %d\n", WiFi.RSSI, WiFi.channel);
  }
  delay(10);
  yield;
}

Verificación esperada

Al encender, la consola muestra los puntos de progreso y luego la dirección IP local (por ejemplo, 192.168.1.42) y el RSSI. A continuación, se muestra una línea de RSSI cada dos segundos. Aleja el módulo del router: el RSSI debe disminuir (por ejemplo, de -45 a -85 dBm); si está demasiado lejos, la conexión se cae y el módulo muestra «Enlace perdido, reconectando...» y se reconecta solo.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales