conectar

Conectar a Red Wi-Fi

Si no has leído el artículo anterior te recomiendo que lo hagas ya que en este vamos a conectar a una red que el NodeMCU haya detectado y para esto debemos escanear redes, esta demostración se encuentra en el artículo anterior.

Artículo anterior: https://ciber-tips.com/escaner-redes-wifi/

Para conectar a una red lo vamos a ver de diferentes formas: la primera es escanear y conectarte a la primera red que encuentre existiendo dos posibilidades que tenga contraseña o no, y la segunda poniendo un SSID estático, por lo que siempre se va a conectar a la misma red.

conectar

Conectar con escáner:

Ejemplo 1:

Comenzamos con la primera opción y es escanear redes y que se conecte a la primera que encuentre suponiendo que esta no tenga contraseña. Para esto vamos al proyecto que habíamos hecho en el video anterior y escribimos en el void loop antes del delay wi-fi.begin (WiFi.SSID(0)).

#include "ESP8266WiFi.h"

void setup() {

  Serial.begin(9600);

  
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
}

void loop() {

  Serial.println("Escaneando...");

  int n = WiFi.scanNetworks();
  Serial.println("Escaner terminado");

  if (n == 0) {
    Serial.println("No se encontraron redes");
  }
 
  else {
    Serial.print(n);
    Serial.println(": Redes encontradas");

    for (int i = 0; i < n; ++i) {
      Serial.print(i + 1);
      Serial.print(": ");
      Serial.print(WiFi.SSID(i));
      Serial.print(" (");
      Serial.print(WiFi.RSSI(i));
      Serial.print(")");
      Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*");
      delay(10);
    }
  }
WiFi.begin(WiFi.SSID(0));

  Serial.println("Conectado a red 1");
  delay(5000);
}

Ejemplo 2:

En el segundo caso la diferencia es que vamos a colocar después del SSID una coma y seguido la contraseña.

#include "ESP8266WiFi.h"

void setup() {

  Serial.begin(9600);

  
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
}

void loop() {

  Serial.println("Escaneando...");

  int n = WiFi.scanNetworks();
  Serial.println("Escaner terminado");

  if (n == 0) {
    Serial.println("No se encontraron redes");
  }
 
  else {
    Serial.print(n);
    Serial.println(": Redes encontradas");

    for (int i = 0; i < n; ++i) {
      Serial.print(i + 1);
      Serial.print(": ");
      Serial.print(WiFi.SSID(i));
      Serial.print(" (");
      Serial.print(WiFi.RSSI(i));
      Serial.print(")");
      Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*");
      delay(10);
    }
  }
WiFi.begin(WiFi.SSID(0),"12345678");

  Serial.println("Conectado a red 1");
  delay(5000);
}

Conectar con SSID estático

Ejemplo 1:

En el tercer caso voy a decirle al NodeMCU que se conecte a una red especifica que no tenga contraseña. Para esto voy barrar todo el proceso de escáner de redes y declaro una variable a la cual le voy a poner el SSID de la red que quiero que se conecte. En el setup dejamos la configuración del modo estación y en el loop ponemos WiFi.begin(en la variable que guardamos el SSID).

#include "ESP8266WiFi.h"
const char* ssid = "CiberTips";
void setup() {
  Serial.begin(9600);

  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
}

void loop() {

  WiFi.begin(ssid);
  Serial.println("Se conectó a ");
  Serial.println("CiberTips");
  Serial.print("");
  delay(10000);
}

Ejemplo 2:

En el cuarto caso voy a decirle al NodeMCU que se conecte a una red especifica con contraseña. Para esto es el mismo proceso del tercer caso, pero incluyendo una variable donde guardamos la contraseña y en el loop lo que hacemos es incluir la variable de la contraseña después del SSID.

#include "ESP8266WiFi.h"
const char* ssid = "CiberTips";
const char* pass = "12345678";
void setup() {
  Serial.begin(9600);

  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
}

void loop() {

  WiFi.begin(ssid,pass);
  Serial.println("Se conectó a ");
  Serial.println("CiberTips");
  Serial.print("");
  delay(10000);
}

Descarga el IDE Arduino: https://www.arduino.cc/en/main/software

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Top arrow