ఈ కథనంలో మేము ఇతర పరికరాల ద్వారా గుర్తుంచుకోగలిగే ESP32 స్టాటిక్ IP చిరునామాను సెట్ చేస్తాము.
ESP32 IP చిరునామాకు పరిచయం
ESP32తో పని చేయడానికి ప్రత్యేక స్టాటిక్ IP చిరునామా అవసరం కావచ్చు ఎందుకంటే మేము ESP32 కోసం వెబ్ సర్వర్ని డిజైన్ చేసినప్పుడు మేము ESP32 యొక్క IP చిరునామాను ఉపయోగించి ఆ వెబ్ సర్వర్ని యాక్సెస్ చేస్తాము. ఈ IP చిరునామా ESP32 కనెక్ట్ చేయబడిన WiFi నెట్వర్క్ ద్వారా కేటాయించబడింది.
ప్రాజెక్ట్లో ESP32తో వ్యవహరించేటప్పుడు ఇది సమస్యను కలిగిస్తుంది ఎందుకంటే ESP32 షట్డౌన్ లేదా రీసెట్ చేసిన ప్రతిసారీ WiFi నెట్వర్క్ ద్వారా కొత్త IP చిరునామా కేటాయించబడుతుంది. ఫలితంగా, వెబ్ సర్వర్ కోసం మాకు కొత్త IP చిరునామా అవసరం. కాబట్టి, దీనికి శీఘ్ర పరిష్కారం ESP32 కోసం స్టాటిక్ IP చిరునామాను సెట్ చేయడం, ఇది ESP32 పవర్ ఆఫ్ చేయబడినా లేదా రీసెట్ చేయబడినా కూడా మారదు.
సాధారణంగా DHCP (డైనమిక్ హోస్ట్ కాన్ఫిగరేషన్ ప్రోటోకాల్) నెట్వర్క్ మేనేజ్మెంట్ టూల్ WiFi నెట్వర్క్లో కనెక్ట్ చేయబడిన అన్ని పరికరాలకు IP చిరునామాలను కేటాయిస్తుంది. నెట్వర్క్ లోపల కనెక్ట్ చేయబడిన అన్ని పరికరాలకు మాన్యువల్గా IP చిరునామాలను కేటాయించడం నెట్వర్క్ నిర్వాహకుల అవసరాన్ని నివారిస్తుంది కాబట్టి DHCP సహాయపడుతుంది. హోమ్ నెట్వర్క్లో సాధారణంగా WiFi రూటర్ DHCP సర్వర్గా పనిచేస్తుంది.
IP చిరునామాతో పాటు DHCP కొన్ని ఇతర పారామితులను కూడా కేటాయిస్తుంది:
- సబ్నెట్ మాస్క్: ఇది 32-బిట్ నంబర్, ఇది IP చిరునామాలను ముసుగు చేస్తుంది మరియు వాటిని నెట్వర్క్ మరియు హోస్ట్ చిరునామాలుగా విభజిస్తుంది.
- గేట్వే చిరునామా: ఇది పరికరం యొక్క IP చిరునామా, ఇది స్థానిక నెట్వర్క్ పరికరాలను సాధారణంగా ఇంటిలో ఇంటర్నెట్కి లింక్ చేస్తుంది, ఇది WiFi రూటర్.
- DNS: ఇది డొమైన్ పేరు సర్వర్ IP చిరునామా.
ESP32 వెబ్ సర్వర్ని యాక్సెస్ చేయడానికి ఈ అన్ని పారామీటర్లు ముఖ్యమైనవి. మేము ESP32 కోసం స్టాటిక్ IP చిరునామాను ఉపయోగిస్తున్నప్పుడు ఈ అన్ని పారామితులను తప్పనిసరిగా పాస్ చేయాలి లేకపోతే ESP32 కమ్యూనికేషన్ను ఏర్పాటు చేయడంలో విఫలమవుతుంది.
ESP32 స్టాటిక్ IP చిరునామాతో కేటాయించబడిన తర్వాత అది ఉపయోగించదు DHCP సర్వర్ మరియు అవసరమైన డేటాను పొందదు. కాబట్టి, స్టాటిక్ IP చిరునామాతో WiFi నెట్వర్క్లో ESP32ని కనెక్ట్ చేయడానికి పైన పేర్కొన్న పారామితులను మనం తప్పక తెలుసుకోవాలి, మొదట మేము దానిని WiFi నెట్వర్క్కు కనెక్ట్ చేస్తాము మరియు సహా అన్ని నెట్వర్క్ల పారామితులను తనిఖీ చేస్తాము. సబ్నెట్ మాస్క్, గేట్వే చిరునామా మరియు DNS IP చిరునామా.
పారామితులను తెలుసుకున్న తర్వాత, మేము స్టాటిక్ IP చిరునామాను కేటాయించవచ్చు.
డిఫాల్ట్ నెట్వర్క్ పారామితులను కనుగొనడం
మునుపటి విభాగంలో చర్చించినట్లుగా మేము ఆ నెట్వర్క్ యొక్క అన్ని పారామితులను పొందేందుకు WiFi నెట్వర్క్తో ESP32ని కనెక్ట్ చేస్తాము. కాబట్టి, నెట్వర్క్ SSID మరియు పాస్వర్డ్ను నిర్వచించడం ద్వారా మరియు WiFi.h లైబ్రరీని ఉపయోగించడం ద్వారా మనం ESP32ని నెట్వర్క్కి కనెక్ట్ చేయవచ్చు.
కోడ్
ESP32 బోర్డ్లో క్రింద ఇవ్వబడిన కోడ్ను అప్లోడ్ చేయండి మరియు మీ స్వంత నెట్వర్క్ ఆధారాలతో SSID మరియు పాస్వర్డ్ను మార్చాలని గుర్తుంచుకోండి.
#స్థిరంగా చార్ * ssid = 'మీ నెట్వర్క్ పేరు' ;
స్థిరంగా చార్ * పాస్వర్డ్ = 'మీ నెట్వర్క్పాస్' ;
శూన్యం సెటప్ ( ) {
క్రమ. ప్రారంభం ( 115200 ) ;
వైఫై. ప్రారంభం ( ssid , పాస్వర్డ్ ) ;
అయితే ( వైఫై. హోదా ( ) != WL_CONNECTED ) {
ఆలస్యం ( 500 ) ;
క్రమ. ముద్రణ ( 'కనెక్ట్ అవుతోంది... \n \n ' ) ;
}
క్రమ. ముద్రణ ( 'స్థానిక IP:' ) ;
క్రమ. println ( వైఫై. స్థానిక ఐపి ( ) ) ;
క్రమ. ముద్రణ ( 'సబ్నెట్ మాస్క్:' ) ;
క్రమ. println ( వైఫై. సబ్నెట్మాస్క్ ( ) ) ;
క్రమ. ముద్రణ ( 'గేట్వే IP:' ) ;
క్రమ. println ( వైఫై. గేట్వే IP ( ) ) ;
క్రమ. ముద్రణ ( 'DNS 1:' ) ;
క్రమ. println ( వైఫై. dnsIP ( 0 ) ) ;
క్రమ. ముద్రణ ( 'DNS 2:' ) ;
క్రమ. println ( వైఫై. dnsIP ( 1 ) ) ;
}
శూన్యం లూప్ ( ) { }
WiFi.h లైబ్రరీని చేర్చడం ద్వారా కోడ్ ప్రారంభించబడింది. తరువాత, మేము SSID మరియు పాస్వర్డ్ను నిర్వచించాము. ఇక్కడ ESP32 WiFi నెట్వర్క్కు కనెక్ట్ చేయబడింది మరియు అవసరమైన అన్ని పారామీటర్లు DHCP సర్వర్ ద్వారా సెట్ చేయబడతాయి.
కోడ్ యొక్క రెండవ భాగంలో, మేము అదనపు పారామితులతో పాటు DHCP సర్వర్ ద్వారా కేటాయించిన IP చిరునామాను ముద్రించాము: సబ్నెట్ మాస్క్, గేట్వే IP మరియు DNS సర్వర్ IPలు రెండూ.
అవుట్పుట్
అవుట్పుట్లో సీరియల్ మానిటర్లో ముద్రించిన అన్ని నెట్వర్క్ పారామితులను మనం చూడవచ్చు.
ఇప్పుడు మనం స్టాటిక్ IPని ESP32కి సెట్ చేస్తాము. స్థానిక IP చిరునామాలు మినహా మిగిలిన అన్ని పారామితులు తదుపరి విభాగంలో ఉపయోగించబడతాయి.
ESP32 కోసం స్టాటిక్ IP చిరునామాను సెట్ చేస్తోంది
ESP32 కనెక్ట్ చేయబడిన నెట్వర్క్ యొక్క పారామితులు మనకు ఇప్పటికే తెలిసినందున, మేము మునుపటి అవుట్పుట్లో పొందినట్లు మారకుండా ఇతర పారామితులను ఉపయోగిస్తున్నప్పుడు అదే నెట్వర్క్లో ESP32ని కనెక్ట్ చేయడానికి అనుకూల IP చిరునామాను ఉపయోగిస్తాము.
అయితే దానికి ముందు మనం ఇన్స్టాల్ చేసుకోవాలి ESP32Ping.h Arduino IDE లో లైబ్రరీ. ఈ లైబ్రరీని ఉపయోగించి, మేము మా స్టాటిక్ IP చిరునామా పని చేస్తుందో లేదో వాతావరణాన్ని ధృవీకరించవచ్చు. డౌన్లోడ్ చేయడానికి క్లిక్ చేయండి ESP32Ping.h గ్రంధాలయం.
జిప్ ఫైల్ డౌన్లోడ్ అయిన తర్వాత దీనికి వెళ్లండి: స్కెచ్>లైబ్రరీని చేర్చండి> .జిప్ లైబ్రరీని జోడించండి
కోడ్
ఇప్పుడు క్రింద ఇచ్చిన కోడ్ని ESP32లో అప్లోడ్ చేయండి. ఈ కోడ్ ESP32 కోసం స్టాటిక్ IP చిరునామాను సెట్ చేస్తుంది. నెట్వర్క్ కోసం SSID మరియు పాస్వర్డ్ను భర్తీ చేయాలని గుర్తుంచుకోండి.
##
స్థిరంగా చార్ * ssid = 'మీ నెట్వర్క్ పేరు' ;
స్థిరంగా చార్ * పాస్వర్డ్ = 'మీ నెట్వర్క్పాస్' ;
IPaddress staticIP ( 192 , 168 , 18 , 53 ) ;
IPA చిరునామా గేట్వే ( 192 , 168 , 18 , 1 ) ;
IPaddress సబ్నెట్ ( 255 , 255 , 255 , 0 ) ;
IPA చిరునామా dns ( 101 , యాభై , 101 , యాభై ) ;
శూన్యం సెటప్ ( ) {
క్రమ. ప్రారంభం ( 115200 ) ;
ఉంటే ( వైఫై. config ( స్టాటిక్ఐపి , ద్వారం , సబ్ నెట్ , dns , dns ) == తప్పుడు ) {
క్రమ. println ( 'కాన్ఫిగరేషన్ విఫలమైంది.' ) ;
}
వైఫై. ప్రారంభం ( ssid , పాస్వర్డ్ ) ;
అయితే ( వైఫై. హోదా ( ) != WL_CONNECTED ) {
ఆలస్యం ( 500 ) ;
క్రమ. ముద్రణ ( 'కనెక్ట్ అవుతోంది... \n \n ' ) ;
}
క్రమ. ముద్రణ ( 'స్థానిక IP:' ) ;
క్రమ. println ( వైఫై. స్థానిక ఐపి ( ) ) ;
క్రమ. ముద్రణ ( 'సబ్నెట్ మాస్క్:' ) ;
క్రమ. println ( వైఫై. సబ్నెట్మాస్క్ ( ) ) ;
క్రమ. ముద్రణ ( 'గేట్వే IP:' ) ;
క్రమ. println ( వైఫై. గేట్వే IP ( ) ) ;
క్రమ. ముద్రణ ( 'DNS 1:' ) ;
క్రమ. println ( వైఫై. dnsIP ( 0 ) ) ;
క్రమ. ముద్రణ ( 'DNS 2:' ) ;
క్రమ. println ( వైఫై. dnsIP ( 1 ) ) ;
బూల్ విజయం = పింగ్. పింగ్ ( 'www.google.com' , 3 ) ;
ఉంటే ( ! విజయం ) {
క్రమ. println ( ' \n పింగ్ విఫలమైంది' ) ;
తిరిగి ;
}
క్రమ. println ( ' \n పింగ్ విజయవంతమైంది.' ) ;
}
శూన్యం లూప్ ( ) { }
WiFi మరియు పింగ్ లైబ్రరీని చేర్చడం ద్వారా కోడ్ ప్రారంభించబడింది. తరువాత, మేము WiFi నెట్వర్క్ కోసం SSID మరియు పాస్వర్డ్ను నిర్వచించాము.
ఆ తర్వాత మేము DNS, IP గేట్వే మరియు సబ్నెట్తో పాటు స్టాటిక్ IP చిరునామాతో సహా అన్ని పారామితులను నిర్వచించాము. మేము IP చిరునామాను కేటాయించామని గమనించండి (192, 168, 18, 53) ఇది మునుపటి కోడ్లో మనం ముందుగా పొందిన IP చిరునామా యొక్క అదే సబ్నెట్లో ఉంది. ఈ IP చిరునామాను నెట్వర్క్లోని మరే ఇతర పరికరం ఉపయోగించలేదని నిర్ధారించుకోండి.
WiFi కనెక్ట్ అయిన తర్వాత, మేము అన్ని నెట్వర్క్ పారామితులను ప్రింట్ చేసాము మరియు Googleని ఉపయోగించి Pingని పరీక్షించాము. అన్ని పారామితులు సరిగ్గా నిర్వచించబడితే పింగ్ విజయవంతమైంది సందేశం కనిపిస్తుంది.
అవుట్పుట్
ఇప్పుడు మేము ESP32 బోర్డ్ను డిస్కనెక్ట్ చేసిన తర్వాత PCకి మళ్లీ కనెక్ట్ చేసినప్పుడు, దాని స్టాటిక్ IP చిరునామా మరోసారి కాన్ఫిగర్ చేయబడింది, ఇది విద్యుత్తు పోయినప్పటికీ అది మారదని సూచిస్తుంది.
మేము ESP32కి స్టాటిక్ IP చిరునామాను విజయవంతంగా అందించాము.
ముగింపు
ప్రాజెక్ట్ల రూపకల్పనలో ESP32తో పని చేస్తున్నప్పుడు, స్టాటిక్ IP చిరునామా అవసరం. బహుళ పరికరాలు ESP32తో కనెక్ట్ కావాల్సినప్పుడు స్టాటిక్ IP చిరునామాలు మొత్తం ప్రక్రియను సున్నితంగా చేస్తాయి. నెట్వర్క్ పారామితులను ఉపయోగించి, మనం ఏదైనా స్టాటిక్ IP చిరునామాను నిర్వచించవచ్చు. ఇక్కడ ఈ కథనంలో, స్టాటిక్ IP చిరునామాను నిర్వచించడానికి అవసరమైన దశలను మేము కవర్ చేసాము.