Πώς να ορίσετε στατική διεύθυνση IP ESP32

Pos Na Orisete Statike Dieuthynse Ip Esp32



Μια διεύθυνση IP είναι η μοναδική σειρά αριθμών που μπορούν να αναγνωρίσουν μια συσκευή σε ένα δίκτυο. Πολλές συσκευές και υπολογιστές χρησιμοποιούν διευθύνσεις IP για να επικοινωνούν μεταξύ τους. Στατική IP Η διεύθυνση είναι σαν μια σταθερή διεύθυνση όπως και η διεύθυνση του δρόμου. Υποδεικνύει ότι οι στατικές διευθύνσεις IP δεν αλλάζουν και βοηθά άλλες συσκευές να ελέγχουν πού βρίσκεται μια συγκεκριμένη συσκευή ή υπολογιστής.

Σε αυτό το άρθρο θα ορίσουμε μια στατική διεύθυνση IP ESP32 που μπορεί να απομνημονευθεί από άλλες συσκευές.

Εισαγωγή στη διεύθυνση IP ESP32

Η εργασία με ESP32 ενδέχεται να χρειάζεται μια ξεχωριστή στατική διεύθυνση IP, επειδή όταν σχεδιάζουμε έναν διακομιστή ιστού για το ESP32 έχουμε πρόσβαση σε αυτόν τον διακομιστή ιστού χρησιμοποιώντας τη διεύθυνση IP του ESP32. Αυτή η διεύθυνση IP εκχωρείται από το δίκτυο WiFi στο οποίο είναι συνδεδεμένο το ESP32.







Αυτό μπορεί να προκαλέσει προβλήματα κατά την αντιμετώπιση του ESP32 σε ένα έργο, επειδή κάθε φορά που τερματίζεται ή επαναφέρεται το ESP32 μια νέα διεύθυνση IP θα του εκχωρείται από το δίκτυο WiFi. Ως αποτέλεσμα, χρειαζόμαστε μια νέα διεύθυνση IP για τον διακομιστή ιστού. Έτσι, μια γρήγορη λύση σε αυτό είναι ο ορισμός μιας στατικής διεύθυνσης IP για το ESP32, η οποία παραμένει αμετάβλητη ακόμα κι αν το ESP32 απενεργοποιηθεί ή επαναφερθεί.



Κανονικά DHCP Το εργαλείο διαχείρισης δικτύου (Dynamic Host Configuration Protocol) εκχωρεί διευθύνσεις IP σε όλες τις συσκευές που είναι συνδεδεμένες σε ένα δίκτυο WiFi. Το DHCP είναι χρήσιμο καθώς αποφεύγει την ανάγκη των διαχειριστών δικτύου να εκχωρούν μη αυτόματα διευθύνσεις IP σε όλες τις συσκευές που είναι συνδεδεμένες στο δίκτυο. Στο οικιακό δίκτυο συνήθως ο δρομολογητής WiFi λειτουργεί ως διακομιστής DHCP.



Μαζί με τη διεύθυνση IP, το DHCP εκχωρεί επίσης ορισμένες άλλες παραμέτρους που περιλαμβάνουν:





  • Μάσκα υποδικτύου: Είναι ένας αριθμός 32-bit που καλύπτει τις διευθύνσεις IP και τις χωρίζει σε διευθύνσεις δικτύου και κεντρικού υπολογιστή.
  • Διεύθυνση πύλης: Είναι η διεύθυνση IP μιας συσκευής που συνδέει συσκευές τοπικού δικτύου με το Διαδίκτυο, συνήθως στο σπίτι είναι ένας δρομολογητής WiFi.
  • DNS: Είναι η διεύθυνση IP του διακομιστή ονόματος τομέα.

Όλες αυτές οι παράμετροι είναι σημαντικές για την πρόσβαση στον διακομιστή Ιστού ESP32. Όταν θα χρησιμοποιήσουμε μια στατική διεύθυνση IP για το ESP32, όλες αυτές οι παράμετροι πρέπει να περάσουν, διαφορετικά το ESP32 θα αποτύχει να δημιουργήσει επικοινωνία.

Μόλις εκχωρηθεί στο ESP32 μια στατική διεύθυνση IP, δεν θα χρησιμοποιήσει το DHCP διακομιστή και δεν θα ανακτήσει τα απαιτούμενα δεδομένα. Έτσι, για τη σύνδεση του ESP32 σε ένα δίκτυο WiFi με στατική διεύθυνση IP πρέπει να γνωρίζουμε τις παραπάνω παραμέτρους για αυτό πρώτα θα το συνδέσουμε στο δίκτυο WiFi και θα ελέγξουμε όλες τις παραμέτρους δικτύων συμπεριλαμβανομένων μάσκα υποδικτύου, διεύθυνση πύλης και IP DNS διεύθυνση.



Αφού μάθουμε τις παραμέτρους, μπορούμε να εκχωρήσουμε μια στατική διεύθυνση IP.

Εύρεση των προεπιλεγμένων παραμέτρων δικτύου

Όπως αναφέρθηκε στην προηγούμενη ενότητα, θα συνδέσουμε το ESP32 με το δίκτυο WiFi για να λάβουμε όλες τις παραμέτρους αυτού του δικτύου. Έτσι, ορίζοντας το SSID δικτύου και τον κωδικό πρόσβασης και χρησιμοποιώντας τη βιβλιοθήκη WiFi.h μπορούμε να συνδέσουμε το ESP32 σε ένα δίκτυο.

Κώδικας

Ανεβάστε τον κωδικό που δίνεται παρακάτω στην πλακέτα ESP32 και θυμηθείτε να αλλάξετε το SSID και τον κωδικό πρόσβασης με τα δικά σας διαπιστευτήρια δικτύου.

#include


συνθ απανθρακώνω * ssid = 'yourNetworkName' ;
συνθ απανθρακώνω * Κωδικός πρόσβασης = 'YourNetworkPass' ;

κενός εγκατάσταση ( ) {
Κατα συρροη. να αρχίσει ( 115200 ) ;

WiFi. να αρχίσει ( ssid , Κωδικός πρόσβασης ) ;

ενώ ( WiFi. κατάσταση ( ) != WL_CONNECTED ) {
καθυστέρηση ( 500 ) ;
Κατα συρροη. Τυπώνω ( 'Συνδετικός... \n \n ' ) ;
}

Κατα συρροη. Τυπώνω ( 'Τοπική IP: ' ) ;
Κατα συρροη. println ( WiFi. τοπική IP ( ) ) ;
Κατα συρροη. Τυπώνω ( 'Μάσκα υποδικτύου: ' ) ;
Κατα συρροη. println ( WiFi. μάσκα υποδικτύου ( ) ) ;
Κατα συρροη. Τυπώνω ( 'IP Gateway:' ) ;
Κατα συρροη. println ( WiFi. gatewayIP ( ) ) ;
Κατα συρροη. Τυπώνω ( 'DNS 1:' ) ;
Κατα συρροη. println ( WiFi. dnsIP ( 0 ) ) ;
Κατα συρροη. Τυπώνω ( 'DNS 2:' ) ;
Κατα συρροη. println ( WiFi. dnsIP ( 1 ) ) ;
}

κενός βρόχος ( ) { }

Ο κώδικας ξεκίνησε με τη συμπερίληψη της βιβλιοθήκης WiFi.h. Στη συνέχεια, ορίσαμε το SSID και τον κωδικό πρόσβασης. Εδώ το ESP32 είναι συνδεδεμένο στο δίκτυο WiFi και όλες οι απαραίτητες παράμετροι θα ρυθμιστούν από τον διακομιστή DHCP.

Στο δεύτερο μέρος του κώδικα, εκτυπώσαμε τη διεύθυνση IP που έχει εκχωρηθεί από τον διακομιστή DHCP μαζί με πρόσθετες παραμέτρους: τη μάσκα υποδικτύου, την IP πύλης και τις δύο IP διακομιστή DNS.

Παραγωγή

Στην έξοδο μπορούμε να δούμε όλες τις παραμέτρους δικτύου τυπωμένες στη σειριακή οθόνη.

Τώρα θα ορίσουμε μια στατική IP σε ESP32. Εκτός από τις τοπικές διευθύνσεις IP, όλες οι υπόλοιπες παράμετροι θα χρησιμοποιηθούν στην επόμενη ενότητα.

Ορισμός στατικής διεύθυνσης IP για το ESP32

Όπως γνωρίζουμε ήδη τις παραμέτρους του δικτύου όπου είναι συνδεδεμένο το ESP32 τώρα, θα χρησιμοποιήσουμε μια προσαρμοσμένη διεύθυνση IP για να συνδέσουμε το ESP32 στο ίδιο δίκτυο, ενώ θα χρησιμοποιήσουμε τις άλλες παραμέτρους αμετάβλητες όπως λάβαμε στην προηγούμενη έξοδο.

Αλλά πριν από αυτό πρέπει να εγκαταστήσουμε ESP32Ping.h βιβλιοθήκη στο Arduino IDE. Χρησιμοποιώντας αυτήν τη βιβλιοθήκη, μπορούμε να επαληθεύσουμε τον καιρό ότι η στατική διεύθυνση IP μας λειτουργεί ή όχι. Κάντε κλικ για λήψη ESP32Ping.h βιβλιοθήκη.

Μόλις γίνει λήψη του αρχείου zip Μεταβείτε στη διεύθυνση: Sketch>Include Library>Add .Zip Library

  Γραφική διεπαφή χρήστη, κείμενο, Περιγραφή εφαρμογής δημιουργείται αυτόματα

Κώδικας

Τώρα ανεβάστε τον κωδικό που δίνεται παρακάτω στο ESP32. Αυτός ο κωδικός θα ορίσει μια στατική διεύθυνση IP για το ESP32. Θυμηθείτε να αντικαταστήσετε το SSID και τον κωδικό πρόσβασης για το δίκτυο.

#include

#include

συνθ απανθρακώνω * ssid = 'yourNetworkName' ;
συνθ απανθρακώνω * Κωδικός πρόσβασης = 'YourNetworkPass' ;

Διεύθυνση IP staticIP ( 192 , 168 , 18 , 53 ) ;
Πύλη διεύθυνσης IP ( 192 , 168 , 18 , 1 ) ;
Υποδίκτυο διεύθυνσης IP ( 255 , 255 , 255 , 0 ) ;
Διεύθυνση IP dns ( 101 , πενήντα , 101 , πενήντα ) ;

κενός εγκατάσταση ( ) {
Κατα συρροη. να αρχίσει ( 115200 ) ;

αν ( WiFi. config ( staticIP , πύλη , υποδίκτυο , dns , dns ) == ψευδής ) {
Κατα συρροη. println ( 'Η διαμόρφωση απέτυχε.' ) ;
}

WiFi. να αρχίσει ( ssid , Κωδικός πρόσβασης ) ;

ενώ ( WiFi. κατάσταση ( ) != WL_CONNECTED ) {
καθυστέρηση ( 500 ) ;
Κατα συρροη. Τυπώνω ( 'Συνδετικός... \n \n ' ) ;
}

Κατα συρροη. Τυπώνω ( 'Τοπική IP: ' ) ;
Κατα συρροη. println ( WiFi. τοπική IP ( ) ) ;
Κατα συρροη. Τυπώνω ( 'Μάσκα υποδικτύου: ' ) ;
Κατα συρροη. println ( WiFi. μάσκα υποδικτύου ( ) ) ;
Κατα συρροη. Τυπώνω ( 'IP Gateway:' ) ;
Κατα συρροη. println ( WiFi. gatewayIP ( ) ) ;
Κατα συρροη. Τυπώνω ( 'DNS 1:' ) ;
Κατα συρροη. println ( WiFi. dnsIP ( 0 ) ) ;
Κατα συρροη. Τυπώνω ( 'DNS 2:' ) ;
Κατα συρροη. println ( WiFi. dnsIP ( 1 ) ) ;

bool επιτυχία = Ping. ping ( 'www.google.com' , 3 ) ;

αν ( ! επιτυχία ) {
Κατα συρροη. println ( ' \n Το ping απέτυχε' ) ;
ΕΠΙΣΤΡΟΦΗ ;
}

Κατα συρροη. println ( ' \n Επιτυχία ping.' ) ;
}

κενός βρόχος ( ) { }

Ο κώδικας ξεκίνησε με τη συμπερίληψη WiFi και βιβλιοθήκης Ping. Στη συνέχεια, ορίσαμε το SSID και τον κωδικό πρόσβασης για το δίκτυο WiFi.

Μετά από αυτό ορίσαμε όλες τις παραμέτρους, συμπεριλαμβανομένης της στατικής διεύθυνσης IP μαζί με το DNS, την πύλη IP και το υποδίκτυο. Σημειώστε ότι έχουμε εκχωρήσει μια διεύθυνση IP (192, 168, 18, 53) που βρίσκεται στο ίδιο υποδίκτυο της διεύθυνσης IP που αποκτήσαμε νωρίτερα στον προηγούμενο κώδικα. Βεβαιωθείτε ότι αυτή η διεύθυνση IP δεν χρησιμοποιείται από καμία άλλη συσκευή εντός του δικτύου.

Μόλις συνδεθεί το WiFi, εκτυπώσαμε όλες τις παραμέτρους δικτύου και δοκιμάσαμε το Ping χρησιμοποιώντας το Google. Εάν όλες οι παράμετροι έχουν οριστεί σωστά Επιτυχία ping θα εμφανιστεί μήνυμα.

Παραγωγή

Τώρα, όταν επανασυνδέσαμε την πλακέτα ESP32 στον υπολογιστή μετά την αποσύνδεσή της, η στατική διεύθυνση IP της διαμορφώθηκε για άλλη μια φορά, υποδεικνύοντας ότι δεν θα άλλαζε ακόμη και αν κοπεί το ρεύμα.

Δώσαμε με επιτυχία μια στατική διεύθυνση IP στο ESP32.

συμπέρασμα

Κατά την εργασία με το ESP32 στο σχεδιασμό έργων, είναι απαραίτητη μια στατική διεύθυνση IP. Όταν χρειάζεται να συνδεθούν πολλές συσκευές με στατικές διευθύνσεις IP ESP32, η όλη διαδικασία είναι ομαλή. Χρησιμοποιώντας τις παραμέτρους δικτύου, μπορούμε να ορίσουμε οποιαδήποτε στατική διεύθυνση IP. Σε αυτό το άρθρο, καλύψαμε τα βήματα που απαιτούνται για τον καθορισμό μιας στατικής διεύθυνσης IP.