WiFi - javierre/nodemcu GitHub Wiki
Pincipales modos de funcionamiento
Las placas como Wemos o NodeMCU vienen equipadas con funcionalidades WiFi. A continuación vemos una tabla con sus modos de funcionamiento.
Access Point (AP)
En el código definimos los siguientes elementos para nuestro servidor:
const char ssid[] = "NodeMCU-ESP8266"; //Definimos la SSDI de nuestro servidor WiFi -nombre de red-
const char password[] = "12345678"; //Definimos la contraseña de nuestro servidor
WiFiServer server(80); //Definimos el puerto de comunicaciones
.
.
.
//IPAddress local_ip(192, 168, 1, 1); //Modifica la dirección IP, por defecto es http://192.168.4.1
Además nuestro servidor WiFi respoderá a las peticiones HTTP iniciando un servidor en un determinado puerto, como muestra el siguiente código.
WiFiServer server(80);
.
.
.
server.begin();
Si la respuesta es en código html, podremos visualizarla desde un navegador entrando en la IP del servidor (en este código entrando en 192.168.1.1):
Modo Cliente o Station
En este caso la placa se conectará como cliente a una red WiFi externa.
Algunas funcionalidades en modo cliente son:
-
WiFi.begin(ssid, password);
Establece la WiFi a la que conectarse.
-
WiFi.config(localIP, gateway, subnet);
Configura la red.
-
WiFi.reconnect();
Vuelve a conectarse a la WiFi (WiFi.setAutoReconnect(true);)
-
WiFi.disconnect();
Se desconecta de la WiFi.
-
WiFi.status();
Devuelve el estado de la conexión:
WL_IDLE_STATUS = 0 La red WiFi está en proceso de cambio de estado. WL_NO_SSID_AVAIL = 1 No detecta en nombre de red WiFi configurada (SSID). WL_CONNECTED = 3 ESP8266 conectado con el punto de acceso. WL_CONNECT_FAILED = 4 Conexión errónea. Clave incorrecta. WL_DISCONNECTED = 6 ESP8266 desconectado del punto de acceso.
-
WiFi.isConnected();
Booleano que indica si está conectado o no.
-
WiFi.macAddress();
Devuelve la dirección MAC de la placa.
-
WiFi.localIP();
Devuelve la IP del dispositivo.
-
WiFi.hostname();
Devuelve el nombre del cliente.
-
WiFi.hostname("mi nombre");
Establece el nombre del cliente.
-
WiFi.SSID();
Devuelve el SSID de la red a la que está conectado.
-
WiFi.BSSIDstr();
Devuelve la MAC del equipo al que está conectado.
-
WiFi.RSSI();
Indica la intensidad en dB de la señal.
(El código indica la IP de la placa mediante el monitor serie).
Access Point+Station (WiFi bridge)
En este caso nuestra placa puede conectarse a una red WiFi (como cliente) a la vez que crea la suya propia.
WiFi.mode(WIFI_AP_STA);
WiFi.softAP(ssid_AP, password_AP); // Para la red generada por nodemcu
WiFi.begin(ssid_STA, password_STA);// Para conectarse a la WiFi externa