כיצד להגדיר כתובת IP סטטית של ESP32

Kyzd Lhgdyr Ktwbt Ip Sttyt Sl 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 סיביות המסווה כתובות 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


const לְהַשְׁחִיר * ssid = 'שם הרשת שלך' ;
const לְהַשְׁחִיר * סיסמה = 'yourNetworkPass' ;

בָּטֵל להכין ( ) {
סידורי. התחל ( 115200 ) ;

וויי - פיי. התחל ( ssid , סיסמה ) ;

בזמן ( וויי - פיי. סטָטוּס ( ) != WL_CONNECTED ) {
לְעַכֵּב ( 500 ) ;
סידורי. הדפס ( 'מְקַשֵׁר... \n \n ' ) ;
}

סידורי. הדפס ( 'IP מקומי:' ) ;
סידורי. println ( וויי - פיי. localIP ( ) ) ;
סידורי. הדפס ( 'מסכת רשת משנה: ' ) ;
סידורי. println ( וויי - פיי. מסכת רשת משנה ( ) ) ;
סידורי. הדפס ( 'IP של שער:' ) ;
סידורי. println ( וויי - פיי. שער IP ( ) ) ;
סידורי. הדפס ( 'DNS 1: ' ) ;
סידורי. println ( וויי - פיי. dnsIP ( 0 ) ) ;
סידורי. הדפס ( 'DNS 2: ' ) ;
סידורי. println ( וויי - פיי. 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>כלול ספריה>הוסף ספריית Zip

  ממשק משתמש גרפי, טקסט, אפליקציה תיאור נוצר אוטומטית

קוד

כעת העלה את הקוד שניתן להלן ב-ESP32. קוד זה יגדיר כתובת IP סטטית עבור ESP32. זכור להחליף את ה-SSID והסיסמה עבור הרשת.

#include

#include

const לְהַשְׁחִיר * ssid = 'שם הרשת שלך' ;
const לְהַשְׁחִיר * סיסמה = 'yourNetworkPass' ;

IPAddress staticIP ( 192 , 168 , 18 , 53 ) ;
שער IPAddress ( 192 , 168 , 18 , 1 ) ;
רשת משנה של כתובת IP ( 255 , 255 , 255 , 0 ) ;
IPAddress dns ( 101 , חמישים , 101 , חמישים ) ;

בָּטֵל להכין ( ) {
סידורי. התחל ( 115200 ) ;

אם ( וויי - פיי. תצורה ( staticIP , כְּנִיסָה , רשת משנה , dns , dns ) == שֶׁקֶר ) {
סידורי. println ( 'ההגדרה נכשלה.' ) ;
}

וויי - פיי. התחל ( ssid , סיסמה ) ;

בזמן ( וויי - פיי. סטָטוּס ( ) != WL_CONNECTED ) {
לְעַכֵּב ( 500 ) ;
סידורי. הדפס ( 'מְקַשֵׁר... \n \n ' ) ;
}

סידורי. הדפס ( 'IP מקומי:' ) ;
סידורי. println ( וויי - פיי. localIP ( ) ) ;
סידורי. הדפס ( 'מסכת רשת משנה: ' ) ;
סידורי. println ( וויי - פיי. מסכת רשת משנה ( ) ) ;
סידורי. הדפס ( 'IP של שער:' ) ;
סידורי. println ( וויי - פיי. שער IP ( ) ) ;
סידורי. הדפס ( 'DNS 1: ' ) ;
סידורי. println ( וויי - פיי. dnsIP ( 0 ) ) ;
סידורי. הדפס ( 'DNS 2: ' ) ;
סידורי. println ( וויי - פיי. dnsIP ( 1 ) ) ;

בול הצלחה = פינג. פינג ( 'www.google.com' , 3 ) ;

אם ( ! הַצלָחָה ) {
סידורי. println ( ' \n הפינג נכשל' ) ;
לַחֲזוֹר ;
}

סידורי. println ( ' \n פינג הצליח.' ) ;
}

בָּטֵל לוּלָאָה ( ) { }

הקוד התחיל על ידי הכללת WiFi וספריית Ping. לאחר מכן, הגדרנו את ה-SSID והסיסמה עבור רשת ה-WiFi.

לאחר מכן הגדרנו את כל הפרמטרים כולל כתובת ה-IP הסטטית יחד עם DNS, שער IP ורשת משנה. שימו לב שהקצינו כתובת IP (192, 168, 18, 53) שנמצאת באותה רשת משנה של כתובת IP שהשגנו קודם לכן בקוד הקודם. ודא שכתובת IP זו אינה בשימוש על ידי אף מכשיר אחר בתוך הרשת.

לאחר חיבור ה-WiFi, הדפסנו את כל פרמטרי הרשת ובדקנו את ה-Ping באמצעות גוגל. אם כל הפרמטרים מוגדרים נכון פינג הצליח תופיע הודעה.

תְפוּקָה

כעת, כאשר חיברנו מחדש את לוח ה-ESP32 למחשב לאחר ניתוק, כתובת ה-IP הסטטית שלו הוגדרה שוב, מה שמצביע על כך שהיא לא תשתנה גם אם המתח ייפסק.

הענקנו בהצלחה כתובת IP סטטית ל-ESP32.

סיכום

בזמן עבודה עם ESP32 בתכנון פרויקטים, יש צורך בכתובת IP סטטית. כאשר התקנים מרובים צריכים להתחבר עם כתובות IP סטטיות של ESP32 הופכים את כל התהליך לחלק. באמצעות פרמטרי הרשת, נוכל להגדיר כל כתובת IP סטטית. כאן במאמר זה, כיסינו את השלבים הדרושים להגדרת כתובת IP סטטית.