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):

Ver código

Modo Cliente o Station

http://www.esploradores.com/practica-3-station-conexion-con-access-point/#1475595378871-052bf35c-4bdf

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.

Ver código

(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

Ver código