Staattisen ESP32-IP-osoitteen asettaminen

Staattisen Esp32 Ip Osoitteen Asettaminen



IP-osoite on ainutlaatuinen numerosarja, joka voi tunnistaa verkossa olevan laitteen. Useat laitteet ja tietokoneet käyttävät IP-osoitteita viestiäkseen keskenään. Staattinen IP osoite on kuin kiinteä osoite, kuten katuosoite. Se osoittaa, että staattiset IP-osoitteet eivät muutu, ja se auttaa muita laitteita tarkistamaan, missä tietty laite tai tietokone sijaitsee.

Tässä artikkelissa asetamme ESP32-staattisen IP-osoitteen, jonka muut laitteet voivat muistaa.

ESP32 IP-osoitteen esittely

ESP32:n kanssa työskentely saattaa vaatia erillisen staattisen IP-osoitteen, koska kun suunnittelemme verkkopalvelinta ESP32:lle, käytämme tätä verkkopalvelinta ESP32:n IP-osoitteella. Tämän IP-osoitteen määrittää WiFi-verkko, johon ESP32 on yhdistetty.







Tämä saattaa aiheuttaa ongelmia käsiteltäessä ESP32:ta projektissa, koska joka kerta kun ESP32 sammutetaan tai nollataan, sille WiFi-verkko määrittää uuden IP-osoitteen. Tämän seurauksena tarvitsemme uuden IP-osoitteen verkkopalvelimelle. Joten nopea ratkaisu tähän on asettaa ESP32:lle staattinen IP-osoite, joka pysyy muuttumattomana, vaikka ESP32 sammutettaisiin tai nollattaisiin.



Yleensä DHCP (Dynamic Host Configuration Protocol) -verkonhallintatyökalu määrittää IP-osoitteet kaikille laitteille, jotka on liitetty WiFi-verkkoon. DHCP on hyödyllinen, koska sen avulla verkonvalvojat eivät tarvitse määrittää IP-osoitteita manuaalisesti kaikille verkkoon liitetyille laitteille. Kotiverkossa WiFi-reititin toimii normaalisti DHCP-palvelimena.



IP-osoitteen lisäksi DHCP määrittää myös joitain muita parametreja, jotka sisältävät:





  • Aliverkon peite: Se on 32-bittinen numero, joka peittää IP-osoitteet ja jakaa ne verkko- ja isäntäosoitteisiin.
  • Yhdyskäytävän osoite: Se on laitteen IP-osoite, joka yhdistää paikalliset verkkolaitteet Internetiin normaalisti kotona, se on WiFi-reititin.
  • DNS: Se on verkkotunnuksen nimipalvelimen IP-osoite.

Kaikki nämä parametrit ovat tärkeitä ESP32-verkkopalvelimen käytön kannalta. Kun käytämme staattista IP-osoitetta ESP32:lle, kaikki nämä parametrit on välitettävä, muuten ESP32 ei pysty muodostamaan yhteyttä.

Kun ESP32:lle on määritetty staattinen IP-osoite, se ei käytä DHCP palvelimelle eikä nouta vaadittuja tietoja. Joten ESP32:n kytkemiseksi WiFi-verkkoon, jossa on staattinen IP-osoite, meidän on tiedettävä yllä mainitut parametrit, jotta ensin yhdistämme sen WiFi-verkkoon ja tarkistamme kaikki verkkoparametrit, mukaan lukien aliverkon peite, yhdyskäytävän osoite ja DNS IP osoite.



Kun tiedämme parametrit, voimme määrittää staattisen IP-osoitteen.

Oletusverkkoparametrien löytäminen

Kuten edellisessä osiossa mainittiin, yhdistämme ESP32:n WiFi-verkkoon saadaksemme kaikki kyseisen verkon parametrit. Joten määrittämällä verkon SSID:n ja salasanan sekä käyttämällä WiFi.h-kirjastoa voimme yhdistää ESP32:n verkkoon.

Koodi

Lataa alla oleva koodi ESP32-kortille ja muista vaihtaa SSID ja salasana omilla verkkotunnuksillasi.

#include


konst hiiltyä * ssid = 'verkkonimi' ;
konst hiiltyä * Salasana = 'verkkopassi' ;

mitätön perustaa ( ) {
Sarja. alkaa ( 115 200 ) ;

WiFi. alkaa ( ssid , Salasana ) ;

sillä aikaa ( WiFi. Tila ( ) != WL_CONNECTED ) {
viive ( 500 ) ;
Sarja. Tulosta ( 'Yhdistetään... \n \n ' ) ;
}

Sarja. Tulosta ( 'Paikallinen IP:' ) ;
Sarja. println ( WiFi. localIP ( ) ) ;
Sarja. Tulosta ( 'Aliverkon peite: ' ) ;
Sarja. println ( WiFi. aliverkon peite ( ) ) ;
Sarja. Tulosta ( 'Yhdyskäytävän IP:' ) ;
Sarja. println ( WiFi. yhdyskäytävän IP ( ) ) ;
Sarja. Tulosta ( 'DNS 1:' ) ;
Sarja. println ( WiFi. dnsIP ( 0 ) ) ;
Sarja. Tulosta ( 'DNS 2:' ) ;
Sarja. println ( WiFi. dnsIP ( 1 ) ) ;
}

mitätön silmukka ( ) { }

Koodi aloitettiin sisällyttämällä WiFi.h-kirjasto. Seuraavaksi määritimme SSID:n ja salasanan. Tässä ESP32 on yhdistetty WiFi-verkkoon ja kaikki tarvittavat parametrit määrittää DHCP-palvelin.

Koodin toisessa osassa tulostimme DHCP-palvelimen antaman IP-osoitteen lisäparametreineen: aliverkon peitteen, yhdyskäytävän IP-osoitteen ja molempien DNS-palvelimen IP-osoitteiden.

Lähtö

Ulostulossa näemme kaikki verkkoparametrit tulostettuna sarjanäytölle.

Nyt asetamme staattisen IP:n arvoon ESP32. Paikallisia IP-osoitteita lukuun ottamatta kaikkia muita parametreja käytetään seuraavassa osiossa.

Staattisen IP-osoitteen asettaminen ESP32:lle

Kuten tiedämme jo sen verkon parametrit, johon ESP32 on kytketty nyt, käytämme mukautettua IP-osoitetta ESP32:n yhdistämiseen samaan verkkoon, kun taas muut parametrit ovat muuttumattomina, kuten saimme edellisessä lähdössä.

Mutta ennen sitä meidän on asennettava ESP32Ping.h kirjasto Arduino IDE:ssä. Tämän kirjaston avulla voimme varmistaa, että staattinen IP-osoitteemme toimii vai ei. Lataa napsauttamalla ESP32Ping.h kirjasto.

Kun zip-tiedosto on ladattu, siirry osoitteeseen: Luonnos>Sisällytä kirjasto> Lisää .Zip-kirjasto

  Graafinen käyttöliittymä, teksti, sovellus Kuvaus luodaan automaattisesti

Koodi

Lataa nyt alla oleva koodi ESP32:ssa. Tämä koodi asettaa staattisen IP-osoitteen ESP32:lle. Muista vaihtaa verkon SSID ja salasana.

#include

#include

konst hiiltyä * ssid = 'verkkonimi' ;
konst hiiltyä * Salasana = 'verkkopassi' ;

IP-osoite staticIP ( 192 , 168 , 18 , 53 ) ;
IP-osoite yhdyskäytävä ( 192 , 168 , 18 , 1 ) ;
IP-osoite-aliverkko ( 255 , 255 , 255 , 0 ) ;
IP-osoite dns ( 101 , viisikymmentä , 101 , viisikymmentä ) ;

mitätön perustaa ( ) {
Sarja. alkaa ( 115 200 ) ;

jos ( WiFi. config ( staattinen IP , yhdyskäytävä , aliverkko , dns , dns ) == väärä ) {
Sarja. println ( 'Määritys epäonnistui.' ) ;
}

WiFi. alkaa ( ssid , Salasana ) ;

sillä aikaa ( WiFi. Tila ( ) != WL_CONNECTED ) {
viive ( 500 ) ;
Sarja. Tulosta ( 'Yhdistetään... \n \n ' ) ;
}

Sarja. Tulosta ( 'Paikallinen IP:' ) ;
Sarja. println ( WiFi. localIP ( ) ) ;
Sarja. Tulosta ( 'Aliverkon peite: ' ) ;
Sarja. println ( WiFi. aliverkon peite ( ) ) ;
Sarja. Tulosta ( 'Yhdyskäytävän IP:' ) ;
Sarja. println ( WiFi. yhdyskäytävän IP ( ) ) ;
Sarja. Tulosta ( 'DNS 1:' ) ;
Sarja. println ( WiFi. dnsIP ( 0 ) ) ;
Sarja. Tulosta ( 'DNS 2:' ) ;
Sarja. println ( WiFi. dnsIP ( 1 ) ) ;

kova menestys = Ping. ping ( 'www.google.com' , 3 ) ;

jos ( ! menestys ) {
Sarja. println ( ' \n Ping epäonnistui' ) ;
palata ;
}

Sarja. println ( ' \n Ping onnistui.' ) ;
}

mitätön silmukka ( ) { }

Koodi aloitettiin sisällyttämällä WiFi ja Ping-kirjasto. Seuraavaksi määritimme WiFi-verkon SSID:n ja salasanan.

Sen jälkeen määritimme kaikki parametrit mukaan lukien staattisen IP-osoitteen sekä DNS:n, IP-yhdyskäytävän ja aliverkon. Huomaa, että olemme määrittäneet IP-osoitteen (192, 168, 18, 53) joka on samassa IP-osoitteen aliverkossa, jonka saimme aiemmin edellisessä koodissa. Varmista, että mikään muu verkon laite ei käytä tätä IP-osoitetta.

Kun WiFi on yhdistetty, tulostimme kaikki verkkoparametrit ja testasimme Pingin Googlen avulla. Jos kaikki parametrit on määritetty oikein Ping onnistui viesti tulee näkyviin.

Lähtö

Nyt kun liitimme ESP32-kortin uudelleen tietokoneeseen irrotuksen jälkeen, sen staattinen IP-osoite määritettiin jälleen, mikä osoittaa, että se ei muutu, vaikka virta katkeaisi.

Olemme onnistuneesti antaneet staattisen IP-osoitteen ESP32:lle.

Johtopäätös

ESP32:n kanssa projekteja suunniteltaessa tarvitaan staattista IP-osoitetta. Kun useiden laitteiden on yhdistettävä ESP32-staattisten IP-osoitteiden avulla, koko prosessi on sujuvaa. Verkkoparametreja käyttämällä voimme määrittää minkä tahansa staattisen IP-osoitteen. Tässä artikkelissa käsittelimme staattisen IP-osoitteen määrittämiseen tarvittavia vaiheita.