Az ESP32 statikus IP-cím beállítása

Az Esp32 Statikus Ip Cim Beallitasa



Az IP-cím olyan egyedi számsorozat, amely azonosítani tudja a hálózatban lévő eszközt. Több eszköz és számítógép IP-címeket használ az egymással való kommunikációhoz. Statikus IP a cím olyan, mint egy fix cím, akárcsak az utcanév. Azt jelzi, hogy a statikus IP-címek nem változnak, és segít más eszközöknek ellenőrizni, hol található egy adott eszköz vagy számítógép.

Ebben a cikkben egy ESP32 statikus IP-címet állítunk be, amelyet más eszközök megjegyezhetnek.

Az ESP32 IP-cím bemutatása

Az ESP32-vel való munkához külön statikus IP-címre lehet szükség, mert amikor webszervert tervezünk az ESP32-höz, az ESP32 IP-címével érjük el azt a webszervert. Ezt az IP-címet az a WiFi hálózat rendeli hozzá, amelyhez az ESP32 csatlakozik.







Ez problémákat okozhat az ESP32 kezelése során egy projektben, mert minden alkalommal, amikor az ESP32 leállítja vagy visszaállítja, új IP-címet rendel hozzá a WiFi hálózat. Ennek eredményeként új IP-címre van szükségünk a webszerverhez. Tehát egy gyors megoldás erre az ESP32 statikus IP-címének beállítása, amely akkor is változatlan marad, ha az ESP32-t kikapcsolják vagy visszaállítják.



Normális esetben DHCP A (Dynamic Host Configuration Protocol) hálózatkezelő eszköz IP-címeket rendel a WiFi hálózaton belüli összes eszközhöz. A DHCP hasznos, mivel elkerüli, hogy a hálózati rendszergazdáknak manuálisan hozzárendeljenek IP-címeket a hálózaton belüli összes eszközhöz. Az otthoni hálózatban általában a WiFi router DHCP szerverként működik.



Az IP-cím mellett a DHCP más paramétereket is hozzárendel, amelyek magukban foglalják:





  • Alhálózati maszk: Ez egy 32 bites szám, amely elfedi az IP-címeket, és felosztja azokat hálózati és gazdagépcímekre.
  • Átjáró címe: Ez egy eszköz IP-címe, amely a helyi hálózati eszközöket az internethez kapcsolja, általában otthon, ez egy WiFi útválasztó.
  • DNS: Ez a domain névszerver IP-címe.

Mindezek a paraméterek fontosak az ESP32 webszerver eléréséhez. Amikor statikus IP-címet használunk az ESP32-hez, ezeket a paramétereket át kell adni, különben az ESP32 nem tud kommunikációt létrehozni.

Miután az ESP32-hez statikus IP-címet rendeltek, nem fogja használni a DHCP szerver, és nem fogja lekérni a szükséges adatokat. Tehát az ESP32 statikus IP-című WiFi hálózathoz történő csatlakoztatásához ismernünk kell a fent említett paramétereket, ehhez először csatlakoztatjuk a WiFi hálózathoz, és ellenőrizzük az összes hálózati paramétert, beleértve a alhálózati maszk, átjáró címe és DNS IP cím.



A paraméterek ismeretében tudunk statikus IP címet rendelni.

Az alapértelmezett hálózati paraméterek megkeresése

Ahogy az előző részben tárgyaltuk, az ESP32-t csatlakoztatjuk a WiFi hálózathoz, hogy megkapjuk a hálózat összes paraméterét. Tehát a hálózati SSID és jelszó megadásával, valamint a WiFi.h könyvtár használatával csatlakoztathatjuk az ESP32-t egy hálózathoz.

Kód

Töltse fel az alábbi kódot az ESP32 kártyára, és ne felejtse el megváltoztatni az SSID-t és a jelszót saját hálózati hitelesítő adataival.

#include


const char * ssid = 'yourNetworkName' ;
const char * Jelszó = 'yourNetworkPass' ;

üres beállít ( ) {
Sorozatszám. kezdődik ( 115200 ) ;

WiFi. kezdődik ( ssid , Jelszó ) ;

míg ( WiFi. állapot ( ) != WL_CONNECTED ) {
késleltetés ( 500 ) ;
Sorozatszám. nyomtatás ( 'Csatlakozás... \n \n ' ) ;
}

Sorozatszám. nyomtatás ( 'Helyi IP:' ) ;
Sorozatszám. println ( WiFi. localIP ( ) ) ;
Sorozatszám. nyomtatás ( 'Alhálózati maszk: ' ) ;
Sorozatszám. println ( WiFi. alhálózati maszk ( ) ) ;
Sorozatszám. nyomtatás ( 'Gateway IP:' ) ;
Sorozatszám. println ( WiFi. gatewayIP ( ) ) ;
Sorozatszám. nyomtatás ( 'DNS 1:' ) ;
Sorozatszám. println ( WiFi. dnsIP ( 0 ) ) ;
Sorozatszám. nyomtatás ( 'DNS 2:' ) ;
Sorozatszám. println ( WiFi. dnsIP ( 1 ) ) ;
}

üres hurok ( ) { }

A kód a WiFi.h könyvtár hozzáadásával kezdődött. Ezután meghatároztuk az SSID-t és a jelszót. Itt az ESP32 csatlakozik a WiFi hálózathoz, és minden szükséges paramétert a DHCP szerver állít be.

A kód második részében kinyomtattuk a DHCP szerver által hozzárendelt IP-címet további paraméterekkel együtt: az alhálózati maszk, az átjáró IP-címe és mindkét DNS-kiszolgáló IP-címe.

Kimenet

A kimeneten az összes hálózati paramétert láthatjuk a soros monitorra nyomtatva.

Most beállítunk egy statikus IP-t ESP32-re. A helyi IP-címek kivételével az összes többi paramétert a következő részben használjuk.

Statikus IP-cím beállítása az ESP32-hez

Mivel már ismerjük annak a hálózatnak a paramétereit, amelyre az ESP32 most csatlakozik, egy egyedi IP címet fogunk használni az ESP32 ugyanabban a hálózatban történő csatlakoztatásához, miközben a többi paramétert változatlan formában használjuk, ahogyan azt az előző kimenetben kaptuk.

De előtte telepítenünk kell ESP32Ping.h könyvtár az Arduino IDE-ben. Ezzel a könyvtárral ellenőrizhetjük, hogy statikus IP-címünk működik-e vagy sem. Kattintson a letöltéshez ESP32Ping.h könyvtár.

A zip fájl letöltése után menjen ide: Vázlat>Könyvtár hozzáadása> .Zip-könyvtár hozzáadása

  Grafikus felhasználói felület, szöveg, alkalmazás Leírás automatikusan generálva

Kód

Most töltse fel az alábbi kódot az ESP32-ben. Ez a kód statikus IP-címet állít be az ESP32 számára. Ne felejtse el lecserélni a hálózat SSID-jét és jelszavát.

#include

#include

const char * ssid = 'yourNetworkName' ;
const char * Jelszó = 'yourNetworkPass' ;

Statikus IP IP-cím ( 192 , 168 , 18 , 53 ) ;
IP-cím átjáró ( 192 , 168 , 18 , 1 ) ;
IP-cím alhálózat ( 255 , 255 , 255 , 0 ) ;
IP-cím dns ( 101 , ötven , 101 , ötven ) ;

üres beállít ( ) {
Sorozatszám. kezdődik ( 115200 ) ;

ha ( WiFi. config ( statikus IP , átjáró , alhálózat , dns , dns ) == hamis ) {
Sorozatszám. println ( 'A konfiguráció nem sikerült.' ) ;
}

WiFi. kezdődik ( ssid , Jelszó ) ;

míg ( WiFi. állapot ( ) != WL_CONNECTED ) {
késleltetés ( 500 ) ;
Sorozatszám. nyomtatás ( 'Csatlakozás... \n \n ' ) ;
}

Sorozatszám. nyomtatás ( 'Helyi IP:' ) ;
Sorozatszám. println ( WiFi. localIP ( ) ) ;
Sorozatszám. nyomtatás ( 'Alhálózati maszk: ' ) ;
Sorozatszám. println ( WiFi. alhálózati maszk ( ) ) ;
Sorozatszám. nyomtatás ( 'Gateway IP:' ) ;
Sorozatszám. println ( WiFi. gatewayIP ( ) ) ;
Sorozatszám. nyomtatás ( 'DNS 1:' ) ;
Sorozatszám. println ( WiFi. dnsIP ( 0 ) ) ;
Sorozatszám. nyomtatás ( 'DNS 2:' ) ;
Sorozatszám. println ( WiFi. dnsIP ( 1 ) ) ;

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

ha ( ! siker ) {
Sorozatszám. println ( ' \n A ping nem sikerült' ) ;
Visszatérés ;
}

Sorozatszám. println ( ' \n Sikeres ping.' ) ;
}

üres hurok ( ) { }

A kód a WiFi és a Ping könyvtár hozzáadásával kezdődött. Ezután meghatároztuk a WiFi hálózat SSID-jét és jelszavát.

Ezt követően meghatároztuk az összes paramétert, beleértve a statikus IP-címet, valamint a DNS-t, az IP-átjárót és az alhálózatot. Ne feledje, hogy hozzárendeltünk egy IP-címet (192, 168, 18, 53) amely ugyanabban az IP-cím alhálózatában található, amelyet korábban az előző kódban szereztünk meg. Győződjön meg arról, hogy ezt az IP-címet nem használja a hálózaton belüli más eszköz.

Miután a WiFi csatlakoztatva van, kinyomtattuk az összes hálózati paramétert, és teszteltük a Ping-et a Google segítségével. Ha minden paraméter helyesen van megadva Sikeres ping üzenet jelenik meg.

Kimenet

Most, amikor az ESP32 kártyát a leválasztás után újra csatlakoztattuk a számítógéphez, a statikus IP-címe ismét konfigurálva lett, jelezve, hogy akkor sem fog változni, ha az áramellátás megszűnik.

Sikeresen adtunk statikus IP-címet az ESP32-nek.

Következtetés

Az ESP32-vel végzett projektek tervezése során statikus IP-cím szükséges. Ha több eszköznek kell csatlakoznia az ESP32 statikus IP-címekkel, akkor az egész folyamat gördülékeny lesz. A hálózati paraméterek segítségével bármilyen statikus IP címet megadhatunk. Ebben a cikkben a statikus IP-cím meghatározásához szükséges lépéseket ismertettük.