Com configurar l'adreça IP estàtica de l'ESP32

Com Configurar L Adreca Ip Estatica De L Esp32



Una adreça IP és la sèrie única de números que poden identificar un dispositiu en una xarxa. Diversos dispositius i ordinadors utilitzen adreces IP per comunicar-se entre ells. IP estàtica l'adreça és com una adreça fixa igual que l'adreça postal. Indica que les adreces IP estàtiques no canvien i ajuda a altres dispositius a comprovar on es troba un dispositiu o ordinador específic.

En aquest article establirem una adreça IP estàtica ESP32 que altres dispositius puguin recordar.

Introducció a l'adreça IP ESP32

Treballar amb ESP32 pot necessitar una adreça IP estàtica independent perquè quan dissenyem un servidor web per a ESP32 accedim a aquest servidor web mitjançant l'adreça IP d'ESP32. Aquesta adreça IP l'assigna la xarxa WiFi a la qual està connectat l'ESP32.







Això pot causar problemes a l'hora de tractar amb l'ESP32 en un projecte perquè cada vegada que l'ESP32 es tanqui o restableixi una nova adreça IP se li assignarà mitjançant la xarxa WiFi. Com a resultat, necessitem una nova adreça IP per al servidor web. Per tant, una solució ràpida a això és establir una adreça IP estàtica per a l'ESP32 que es manté sense canvis encara que l'ESP32 estigui apagat o reiniciat.



Normalment DHCP L'eina de gestió de xarxa (Dynamic Host Configuration Protocol) assigna adreces IP a tots els dispositius connectats dins d'una xarxa WiFi. DHCP és útil, ja que evita la necessitat dels administradors de xarxa d'assignar manualment adreces IP a tots els dispositius connectats a la xarxa. A la xarxa domèstica normalment l'encaminador WiFi actua com a servidor DHCP.



Juntament amb l'adreça IP, DHCP també assigna altres paràmetres que inclouen:





  • Màscara de subxarxa: És un número de 32 bits que emmascara les adreces IP i les divideix en adreces de xarxa i d'amfitrió.
  • Adreça de la passarel·la: És l'adreça IP d'un dispositiu que enllaça els dispositius de la xarxa local a Internet normalment a casa és un encaminador WiFi.
  • DNS: És l'adreça IP del servidor de noms de domini.

Tots aquests paràmetres són importants per accedir al servidor web ESP32. Quan utilitzem una adreça IP estàtica per a ESP32, s'han de passar tots aquests paràmetres, en cas contrari, ESP32 no podrà establir la comunicació.

Una vegada que s'assigna l'ESP32 amb una adreça IP estàtica, no utilitzarà DHCP servidor i no recuperarà les dades requerides. Així doncs, per connectar l'ESP32 a una xarxa WiFi amb una adreça IP estàtica hem de conèixer els paràmetres esmentats anteriorment perquè primer el connectarem a la xarxa WiFi i comprovarem tots els paràmetres de la xarxa, inclosos màscara de subxarxa, adreça de passarel·la i IP DNS adreça.



Després de conèixer els paràmetres, podem assignar una adreça IP estàtica.

Trobar els paràmetres de xarxa per defecte

Com hem comentat a l'apartat anterior connectarem l'ESP32 amb la xarxa WiFi per obtenir tots els paràmetres d'aquesta xarxa. Així, definint el SSID i la contrasenya de la xarxa i utilitzant la biblioteca WiFi.h podem connectar l'ESP32 a una xarxa.

Codi

Carregueu el codi que es mostra a continuació al tauler ESP32 i recordeu canviar el SSID i la contrasenya amb les vostres pròpies credencials de xarxa.

#inclou


const char * ssid = 'el teuNomXarxa' ;
const char * contrasenya = 'el teuNetworkPass' ;

buit configuració ( ) {
Serial. començar ( 115200 ) ;

WiFi. començar ( ssid , contrasenya ) ;

mentre ( WiFi. estat ( ) != WL_CONNECTAT ) {
retard ( 500 ) ;
Serial. imprimir ( 'Connectant... \n \n ' ) ;
}

Serial. imprimir ( 'IP local:' ) ;
Serial. imprimirln ( WiFi. IP local ( ) ) ;
Serial. imprimir ( 'Màscara de subxarxa: ' ) ;
Serial. imprimirln ( WiFi. màscara de subxarxa ( ) ) ;
Serial. imprimir ( 'IP de la passarel·la:' ) ;
Serial. imprimirln ( WiFi. gatewayIP ( ) ) ;
Serial. imprimir ( 'DNS 1:' ) ;
Serial. imprimirln ( WiFi. dnsIP ( 0 ) ) ;
Serial. imprimir ( 'DNS 2:' ) ;
Serial. imprimirln ( WiFi. dnsIP ( 1 ) ) ;
}

buit bucle ( ) { }

Codi començat per incloure la biblioteca WiFi.h. A continuació, hem definit el SSID i la contrasenya. Aquí ESP32 està connectat a la xarxa WiFi i tots els paràmetres necessaris seran establerts pel servidor DHCP.

A la segona part del codi, vam imprimir l'adreça IP assignada pel servidor DHCP juntament amb paràmetres addicionals: la màscara de subxarxa, la IP de la passarel·la i ambdues IP del servidor DNS.

Sortida

A la sortida podem veure tots els paràmetres de xarxa impresos al monitor sèrie.

Ara establirem una IP estàtica a ESP32. A excepció de les adreces IP locals, tots els paràmetres restants s'utilitzaran a la secció següent.

Configuració d'una adreça IP estàtica per a ESP32

Com ja sabem els paràmetres de la xarxa on es connecta l'ESP32 ara farem servir una adreça IP personalitzada per connectar l'ESP32 a la mateixa xarxa mentre utilitzem els altres paràmetres sense canvis com vam obtenir a la sortida anterior.

Però abans hem d'instal·lar-ho ESP32Ping.h biblioteca a l'IDE d'Arduino. Amb aquesta biblioteca, podem verificar que la nostra adreça IP estàtica funciona o no. Feu clic per descarregar ESP32Ping.h biblioteca.

Un cop descarregat el fitxer zip, aneu a: Esbós>Inclou la biblioteca>Afegeix una biblioteca .Zip

  Interfície d'usuari gràfica, text, descripció de l'aplicació generada automàticament

Codi

Ara carregueu el codi que es mostra a continuació a ESP32. Aquest codi establirà una adreça IP estàtica per a ESP32. Recordeu substituir el SSID i la contrasenya de la xarxa.

#inclou

#inclou

const char * ssid = 'el teuNomXarxa' ;
const char * contrasenya = 'el teuNetworkPass' ;

Adreça IP IP estàtica ( 192 , 168 , 18 , 53 ) ;
Passarel·la d'adreça IP ( 192 , 168 , 18 , 1 ) ;
Subxarxa de l'adreça IP ( 255 , 255 , 255 , 0 ) ;
Adreça IP dns ( 101 , 50 , 101 , 50 ) ;

buit configuració ( ) {
Serial. començar ( 115200 ) ;

si ( WiFi. config ( IP estàtica , passarel·la , subxarxa , dns , dns ) == fals ) {
Serial. imprimirln ( 'La configuració ha fallat'. ) ;
}

WiFi. començar ( ssid , contrasenya ) ;

mentre ( WiFi. estat ( ) != WL_CONNECTAT ) {
retard ( 500 ) ;
Serial. imprimir ( 'Connectant... \n \n ' ) ;
}

Serial. imprimir ( 'IP local:' ) ;
Serial. imprimirln ( WiFi. IP local ( ) ) ;
Serial. imprimir ( 'Màscara de subxarxa: ' ) ;
Serial. imprimirln ( WiFi. màscara de subxarxa ( ) ) ;
Serial. imprimir ( 'IP de la passarel·la:' ) ;
Serial. imprimirln ( WiFi. gatewayIP ( ) ) ;
Serial. imprimir ( 'DNS 1:' ) ;
Serial. imprimirln ( WiFi. dnsIP ( 0 ) ) ;
Serial. imprimir ( 'DNS 2:' ) ;
Serial. imprimirln ( WiFi. dnsIP ( 1 ) ) ;

bool èxit = Ping. ping ( 'www.google.com' , 3 ) ;

si ( ! èxit ) {
Serial. imprimirln ( ' \n El ping ha fallat' ) ;
tornar ;
}

Serial. imprimirln ( ' \n Ping amb èxit.' ) ;
}

buit bucle ( ) { }

El codi va començar incloent WiFi i biblioteca Ping. A continuació, hem definit el SSID i la contrasenya per a la xarxa WiFi.

Després d'això, vam definir tots els paràmetres, inclosa l'adreça IP estàtica juntament amb DNS, passarel·la IP i subxarxa. Tingueu en compte que hem assignat una adreça IP (192, 168, 18, 53) que es troba a la mateixa subxarxa d'adreça IP que vam obtenir anteriorment al codi anterior. Assegureu-vos que cap altre dispositiu de la xarxa no utilitzi aquesta adreça IP.

Un cop connectat el WiFi, vam imprimir tots els paràmetres de xarxa i vam provar el Ping amb Google. Si tots els paràmetres estan definits correctament Ping amb èxit apareixerà el missatge.

Sortida

Ara, quan vam tornar a connectar la placa ESP32 a l'ordinador després de desconnectar-nos, la seva adreça IP estàtica es va tornar a configurar, indicant que no canviaria encara que s'acabés l'alimentació.

Hem donat correctament una adreça IP estàtica a ESP32.

Conclusió

Mentre es treballa amb ESP32 en el disseny de projectes, és necessària una adreça IP estàtica. Quan diversos dispositius s'han de connectar amb adreces IP estàtiques d'ESP32, tot el procés sigui fàcil. Mitjançant els paràmetres de xarxa, podem definir qualsevol adreça IP estàtica. En aquest article, vam cobrir els passos necessaris per definir una adreça IP estàtica.