Cum să setați adresa IP statică ESP32

Cum Sa Setati Adresa Ip Statica Esp32



O adresă IP este o serie unică de numere care pot identifica un dispozitiv dintr-o rețea. Mai multe dispozitive și computere folosesc adrese IP pentru a comunica între ele. Adresa IP statică adresa este ca o adresă fixă ​​la fel ca adresa străzii. Indică faptul că adresele IP statice nu se schimbă și ajută alte dispozitive să verifice unde se află un anumit dispozitiv sau computer.

În acest articol vom seta o adresă IP statică ESP32 care poate fi reținută de alte dispozitive.

Introducere în adresa IP ESP32

Lucrul cu ESP32 poate avea nevoie de o adresă IP statică separată, deoarece atunci când proiectăm un server web pentru ESP32, accesăm acel server web folosind adresa IP a ESP32. Această adresă IP este atribuită de rețeaua WiFi la care este conectat ESP32.







Acest lucru poate cauza probleme în timpul lucrului cu ESP32 într-un proiect, deoarece de fiecare dată când ESP32 se închide sau resetează o nouă adresă IP îi va fi atribuită de către rețeaua WiFi. Ca rezultat, avem nevoie de o nouă adresă IP pentru serverul web. Deci, o soluție rapidă la aceasta este setarea unei adrese IP statice pentru ESP32, care rămâne neschimbată chiar dacă ESP32 este oprit sau resetat.



În mod normal DHCP Instrumentul de gestionare a rețelei (Dynamic Host Configuration Protocol) atribuie adrese IP tuturor dispozitivelor conectate într-o rețea WiFi. DHCP este util, deoarece evită nevoia administratorilor de rețea de a atribui manual adrese IP tuturor dispozitivelor conectate în rețea. În rețeaua de acasă, în mod normal, routerul WiFi acționează ca un server DHCP.



Împreună cu adresa IP, DHCP atribuie și alți parametri, care includ:





  • Mască de rețea: Este un număr de 32 de biți care maschează adresele IP și le împarte în adrese de rețea și de gazdă.
  • Adresa gateway: Este adresa IP a unui dispozitiv care conectează dispozitivele din rețeaua locală la internet în mod normal acasă, este un router WiFi.
  • DNS: Este adresa IP a serverului de nume de domeniu.

Toți acești parametri sunt importanți pentru a accesa serverul web ESP32. Când vom folosi o adresă IP statică pentru ESP32, toți acești parametri trebuie să fie trecuți, altfel ESP32 nu va reuși să stabilească comunicarea.

Odată ce ESP32 este atribuit cu o adresă IP statică, nu va folosi DHCP server și nu va prelua datele necesare. Deci, pentru conectarea ESP32 într-o rețea WiFi cu o adresă IP statică, trebuie să cunoaștem parametrii menționați mai sus pentru că mai întâi îl vom conecta la rețeaua WiFi și vom verifica toți parametrii rețelei, inclusiv masca de subrețea, adresa gateway-ului și IP DNS abordare.



După cunoașterea parametrilor, putem atribui o adresă IP statică.

Găsirea parametrilor impliciti de rețea

După cum sa discutat în secțiunea anterioară, vom conecta ESP32 la rețeaua WiFi pentru a obține toți parametrii rețelei respective. Deci, definind SSID-ul și parola rețelei și folosind biblioteca WiFi.h putem conecta ESP32 la o rețea.

Cod

Încărcați codul de mai jos pe placa ESP32 și amintiți-vă să schimbați SSID-ul și parola cu propriile acreditări de rețea.

#include


const char * ssid = „NumeRețea ta” ;
const char * parola = „YourNetworkPass” ;

vid înființat ( ) {
Serial. ÎNCEPE ( 115200 ) ;

Wifi. ÎNCEPE ( ssid , parola ) ;

in timp ce ( Wifi. stare ( ) != WL_CONECTED ) {
întârziere ( 500 ) ;
Serial. imprimare ( „Se conectează... \n \n ' ) ;
}

Serial. imprimare ( „IP local:” ) ;
Serial. println ( Wifi. localIP ( ) ) ;
Serial. imprimare ( 'Mască de rețea: ' ) ;
Serial. println ( Wifi. mască de rețea ( ) ) ;
Serial. imprimare ( 'IP Gateway: ' ) ;
Serial. println ( Wifi. gatewayIP ( ) ) ;
Serial. imprimare ( „DNS 1:” ) ;
Serial. println ( Wifi. dnsIP ( 0 ) ) ;
Serial. imprimare ( „DNS 2:” ) ;
Serial. println ( Wifi. dnsIP ( 1 ) ) ;
}

vid buclă ( ) { }

Codul a început prin includerea bibliotecii WiFi.h. Apoi, am definit SSID-ul și parola. Aici ESP32 este conectat la rețeaua WiFi și toți parametrii necesari vor fi setați de serverul DHCP.

În a doua parte a codului, am tipărit adresa IP atribuită de serverul DHCP împreună cu parametri suplimentari: masca de subrețea, IP-ul gateway-ului și ambele IP-uri ale serverului DNS.

Ieșire

În ieșire putem vedea toți parametrii de rețea imprimați pe monitorul serial.

Acum vom seta un IP static la ESP32. Cu excepția adreselor IP locale, toți parametrii rămași vor fi utilizați în secțiunea următoare.

Setarea unei adrese IP statice pentru ESP32

Deoarece știm deja parametrii rețelei la care ESP32 este conectat acum, vom folosi o adresă IP personalizată pentru a conecta ESP32 în aceeași rețea, în timp ce folosim ceilalți parametri neschimbați așa cum am obținut în ieșirea anterioară.

Dar înainte de asta trebuie să instalăm ESP32Ping.h bibliotecă în Arduino IDE. Folosind această bibliotecă, putem verifica dacă adresa noastră IP statică funcționează sau nu. Faceți clic pentru a descărca ESP32Ping.h bibliotecă.

Odată ce fișierul zip este descărcat Accesați: Sketch>Include Library>Add .Zip Library

  Interfață grafică cu utilizatorul, text, aplicație Descriere generată automat

Cod

Acum încărcați codul de mai jos în ESP32. Acest cod va seta o adresă IP statică pentru ESP32. Nu uitați să înlocuiți SSID-ul și parola pentru rețea.

#include

#include

const char * ssid = „NumeRețea ta” ;
const char * parola = „YourNetworkPass” ;

IPAddress staticIP ( 192 , 168 , 18 , 53 ) ;
Gateway IPAddress ( 192 , 168 , 18 , 1 ) ;
Subrețea IPAddress ( 255 , 255 , 255 , 0 ) ;
IPAddress dns ( 101 , cincizeci , 101 , cincizeci ) ;

gol înființat ( ) {
Serial. ÎNCEPE ( 115200 ) ;

dacă ( Wifi. config ( adresa IP statică , poarta de acces , subrețea , dns , dns ) == fals ) {
Serial. println ( „Configurarea a eșuat”. ) ;
}

Wifi. ÎNCEPE ( ssid , parola ) ;

in timp ce ( Wifi. stare ( ) != WL_CONECTED ) {
întârziere ( 500 ) ;
Serial. imprimare ( „Se conectează... \n \n ' ) ;
}

Serial. imprimare ( „IP local:” ) ;
Serial. println ( Wifi. localIP ( ) ) ;
Serial. imprimare ( 'Mască de rețea: ' ) ;
Serial. println ( Wifi. mască de rețea ( ) ) ;
Serial. imprimare ( 'IP Gateway: ' ) ;
Serial. println ( Wifi. gatewayIP ( ) ) ;
Serial. imprimare ( „DNS 1:” ) ;
Serial. println ( Wifi. dnsIP ( 0 ) ) ;
Serial. imprimare ( „DNS 2:” ) ;
Serial. println ( Wifi. dnsIP ( 1 ) ) ;

succes bool = Ping. ping ( „www.google.com” , 3 ) ;

dacă ( ! succes ) {
Serial. println ( ' \n Ping a eșuat' ) ;
întoarcere ;
}

Serial. println ( ' \n Ping reușit.” ) ;
}

gol buclă ( ) { }

Codul a început prin includerea bibliotecii WiFi și Ping. Apoi, am definit SSID-ul și parola pentru rețeaua WiFi.

După aceea am definit toți parametrii, inclusiv adresa IP statică împreună cu DNS, gateway IP și subrețea. Rețineți că am atribuit o adresă IP (192, 168, 18, 53) care se află în aceeași subrețea de adresă IP pe care am obținut-o mai devreme în codul anterior. Asigurați-vă că această adresă IP nu este utilizată de niciun alt dispozitiv din rețea.

Odată ce WiFi este conectat, am tipărit toți parametrii rețelei și am testat Ping-ul folosind Google. Dacă toți parametrii sunt definiți corect Ping reușit va apărea mesajul.

Ieșire

Acum, când am reconectat placa ESP32 la PC după ce a fost deconectat, adresa IP statică a fost din nou configurată, ceea ce indică faptul că nu s-ar schimba chiar dacă se întrerupe alimentarea.

Am dat cu succes o adresă IP statică lui ESP32.

Concluzie

În timp ce lucrați cu ESP32 în proiectarea proiectelor, este necesară o adresă IP statică. Atunci când mai multe dispozitive trebuie să se conecteze cu adrese IP statice ESP32, întregul proces este ușor. Folosind parametrii rețelei, putem defini orice adresă IP statică. Aici, în acest articol, am acoperit pașii necesari pentru definirea unei adrese IP statice.