Cómo establecer la dirección IP estática de Esptop 10

Cómo establecer la dirección IP estática de Esptop 10
Una dirección IP es la serie única de números que pueden identificar un dispositivo en una red. Múltiples dispositivos y computadoras usan direcciones IP para comunicarse entre sí. IP estática La dirección es como una dirección fija al igual que la dirección de la calle. Indica que las direcciones IP estáticas no cambian y ayuda a otros dispositivos a verificar dónde se encuentra un dispositivo o computadora específico.

En este artículo estableceremos una dirección IP estática ESP32 que puede ser recordada por otros dispositivos.

Introducción a la dirección IP ESP32

Trabajar con ESP32 podría necesitar una dirección IP estática separada porque cuando diseñamos un servidor web para ESP32 accedemos a ese servidor web utilizando la dirección IP de ESP32. Esta dirección IP es asignada por la red WiFi en la que ESP32 está conectada.

Esto puede causar problemas al tratar con ESP32 en un proyecto porque cada vez que ESP32 apague o reinicie una nueva dirección IP, Wifi Network le asignará. Como resultado, necesitamos una nueva dirección IP para el servidor web. Por lo tanto, una solución rápida a esto es establecer una dirección IP estática para ESP32 que permanece sin cambios incluso si ESP32 está apagado o reiniciado.

Normalmente DHCP (Protocolo de configuración de host dinámico) La herramienta de administración de red asigna direcciones IP a todos los dispositivos conectados dentro de una red WiFi. DHCP es útil ya que evita la necesidad de administradores de la red para asignar manualmente direcciones IP a todos los dispositivos conectados dentro de la red. En la red doméstica normalmente, el enrutador wifi está actuando como un servidor DHCP.

Junto con la dirección IP DHCP también asigna algunos otros parámetros que incluyen:

  • Máscara de subred: Es un número de 32 bits que enmascara las direcciones IP y las divide en las direcciones de red y host.
  • Dirección de la entrada: Es la dirección IP de un dispositivo que vincula los dispositivos de red locales a Internet normalmente en el hogar es un enrutador wifi.
  • DNS: Es la dirección IP del servidor de nombre de dominio.

Todos estos parámetros son importantes para acceder al servidor web ESP32. Cuando utilizaremos una dirección IP estática para ESP32, todos estos parámetros deben pasarse, de lo contrario ESP32 no establecerá la comunicación.

Una vez que el ESP32 se asigne con una dirección IP estática, no usará el DHCP servidor y no obtendrá los datos requeridos. Por lo tanto, para conectar ESP32 en una red WiFi con una dirección IP estática, debemos conocer los parámetros mencionados anteriormente para eso primero, lo conectaremos a la red WiFi y verificaremos todos los parámetros de las redes, incluidos Máscara de subred, dirección de puerta de enlace y DNS IP DIRECCIÓN.

Después de conocer los parámetros, podemos asignar una dirección IP estática.

Encontrar los parámetros de red predeterminados

Como se discutió en la sección anterior, conectaremos ESP32 con la red WiFi para obtener todos los parámetros de esa red. Entonces, definiendo el SSID y la contraseña de la red y utilizando el wifi.H Biblioteca Podemos conectar el ESP32 a una red.

Código

Cargue el código que se proporciona a continuación en la placa ESP32 y recuerde cambiar el SSID y la contraseña con sus propias credenciales de red.

#incluir
const char* ssid = "YourNetWorkName";
const char* contraseña = "YourNetworkPass";
setup () void
De serie.comenzar (115200);
Wifi.begin (SSID, contraseña);
Mientras (wifi.estado() != Wl_connected)
retraso (500);
De serie.imprimir ("conectar ... \ n \ n");

De serie.imprimir ("IP local:");
De serie.println (wifi.localip ());
De serie.imprimir ("Máscara de subred:");
De serie.println (wifi.máscara de subred());
De serie.imprimir ("Gateway IP:");
De serie.println (wifi.IP de acceso());
De serie.imprimir ("DNS 1:");
De serie.println (wifi.dnsip (0));
De serie.imprimir ("DNS 2:");
De serie.println (wifi.dnsip (1));

bucle void ()

Código iniciado al incluir el wifi.H Biblioteca. A continuación, definimos el SSID y la contraseña. Aquí ESP32 está conectado a la red wifi y el servidor DHCP establecerá todos los parámetros necesarios.

En la segunda parte del código, imprimimos la dirección IP asignada por el servidor DHCP junto con parámetros adicionales: la máscara de subred, la IP de puerta de enlace y la dos IP del servidor DNS.

Producción

En la salida podemos ver todos los parámetros de red impresos en el monitor en serie.

Ahora estableceremos una IP estática en ESP32. A excepción de las direcciones IP locales, todos los parámetros restantes se utilizarán en la siguiente sección.

Configuración de una dirección IP estática para ESP32

Como ya sabemos los parámetros de la red donde ESP32 está conectado ahora, usaremos una dirección IP personalizada para conectar ESP32 en la misma red mientras usa los otros parámetros sin cambios a medida que obtuvimos en una salida anterior.

Pero antes de eso tenemos que instalar Esp32ping.H Biblioteca en Arduino IDE. Usando esta biblioteca, podemos verificar el clima que nuestra dirección IP estática está funcionando o no. Haga clic para descargar ESP32ping.H Biblioteca.

Una vez que se descarga el archivo zip, vaya a: Boceto> incluir biblioteca> agregar .Biblioteca

Código

Ahora cargue el código que se proporciona a continuación en ESP32. Este código establecerá una dirección IP estática para ESP32. Recuerde reemplazar el SSID y la contraseña para la red.

#incluir
#incluir
const char* ssid = "YourNetWorkName";
const char* contraseña = "YourNetworkPass";
IPaddress staticip (192, 168, 18, 53);
Ipaddress Gateway (192, 168, 18, 1);
Subred de iPaddress (255, 255, 255, 0);
Ipaddress DNS (101, 50, 101, 50);
setup () void
De serie.comenzar (115200);
if (wifi.config (staticip, puerta de enlace, subred, dns, dns) == falso)
De serie.println ("Falló la configuración.");

Wifi.begin (SSID, contraseña);
Mientras (wifi.estado() != Wl_connected)
retraso (500);
De serie.imprimir ("conectar ... \ n \ n");

De serie.imprimir ("IP local:");
De serie.println (wifi.localip ());
De serie.imprimir ("Máscara de subred:");
De serie.println (wifi.máscara de subred());
De serie.imprimir ("Gateway IP:");
De serie.println (wifi.IP de acceso());
De serie.imprimir ("DNS 1:");
De serie.println (wifi.dnsip (0));
De serie.imprimir ("DNS 2:");
De serie.println (wifi.dnsip (1));
éxito de bool = ping.ping ("www.Google.com ", 3);
si(!éxito)
De serie.println ("\ nping fallido");
devolver;

De serie.println ("\ nping exitoso.");

bucle void ()

Código iniciado por la inclusión de wifi y ping biblioteca. A continuación, definimos el SSID y la contraseña para la red WiFi.

Después de eso, definimos todos los parámetros, incluida la dirección IP estática junto con DNS, Gateway y subred. Tenga en cuenta que hemos asignado una dirección IP (192, 168, 18, 53) que está en la misma subred de la dirección IP que obtuvimos anteriormente en código anterior. Asegúrese de que esta dirección IP no sea utilizada por ningún otro dispositivo dentro de la red.

Una vez que el wifi está conectado, imprimimos todos los parámetros de red y probamos el ping usando Google. Si todos los parámetros se definen correctamente Ping exitoso aparecerá el mensaje.

Producción

Ahora, cuando reconectamos la placa ESP32 a la PC después de estar desconectados, su dirección IP estática se configuró una vez más, lo que indica que no cambiaría incluso si se apaga la energía.

Hemos dado con éxito una dirección IP estática a ESP32.

Conclusión

Mientras trabaja con ESP32 en el diseño de proyectos, es necesaria una dirección IP estática. Cuando múltiples dispositivos necesitan conectarse con las direcciones IP estáticas ESP32, haz que todo el proceso sea suave. Usando los parámetros de red, podemos definir cualquier dirección IP estática. Aquí en este artículo, cubrimos los pasos necesarios para definir una dirección IP estática.