כיצד לעדכן קושחה ESP32 מעל אוויר (OTA) באמצעות שרת Arduino IDE & Web

נסה את הכלי שלנו לביטול בעיות





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


מהי תכנות OTA ב- ESP32/ ESP32 OTA?

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



לוח הפיתוח ESP32 שם לב לעדכון הקושחה על ידי הורדתו באמצעות פרוטוקולים כמו HTTPS, MQTT או HTTP. לאחר מכן הוא מאמת ומבהב אותו למחיצה שהוקצתה בזיכרון לוח ESP32.  עדכוני OTA הם משמעותיים עבור מכשירים משובצים או מכשירי IoT, במיוחד כאשר קשה לגישה למכשירים או במיקומים מרוחקים.

ESP32 חלקי ליבה של OTA

ESP32 OTA משתמש ברכיבי מפתח שונים לעדכוני קושחה מבלי לחבר את המכשיר פיזית. לפיכך, חלקי הליבה של OTA זה מסייעים בהעברה וקבלת עדכונים. בנוסף, asyncelegantota (OR) ESP HTTPS OTA ספריות ומסגרות מ- Espressif מקצר את נוהל היישום.



מחיצת נתונים של OTA

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

מנגנון תקשורת

עדכוני OTA תלויים בעיקר בפרוטוקולי תקשורת אלחוטית כמו Bluetooth או WiFi, שם משתמשים ב- Bluetooth לעדכונים מקומיים יותר וקטנים יותר, ו- WiFi משמש בדרך כלל.

  PCBWAY

ארכיטקטורת שרת לקוח

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

ספריות ומסגרות

Asyncelegantota & esp Https OTA ספריות מספקות פונקציונליות שנבנתה מראש לטפל בהליך OTA ולקצר את הפיתוח.

מטען אתחול

מטען אתחול זה מטפל במעבר לקושחה האחרונה לאחר עדכון OTA מוצלח.

אוטה בטוחה

עדכוני OTA בטוחים כוללים את אימות התמונות של חתימת הקושחה כדי להבטיח את שלמותה ואותנטיותה.

בעיקרו של דבר, עדכוני OTA של ESP32 כוללים שילוב של תוכנה (מחיצות, ספריות וקושחה) ופרוטוקולי תקשורת (Wi-Fi או Bluetooth). לפיכך, היא מעדכנת בצורה חלקה את הקושחה של המכשיר ללא גישה פיזית.

עובד

תכנות OTA של ESP32 מאפשרת לקושחה/תוכנה של ESP32 לעדכן באופן אלחוטי למחשב ללא חיבור פיזי. אז ניתן לעשות זאת על ידי שליחת תמונת קושחה חדשה ברשת כמו Wi-Fi, ואחרי זה כתיבה אותה לזיכרון הפלאש של ה- ESP32. לפיכך, מועצת הפיתוח של ESP32 מפעילה מחדש וקושחה האחרונה פועלת.

יישום ESP32 OTA

כדי ליישם עדכונים מעל אוויר עבור לוח הפיתוח ESP32, יש להעלות סקיצה בסיסית של OTA. לאחר מכן משתמשים בשרת אינטרנט להעלאת הקושחה האחרונה. לכן כל ההתקנה הזו של נוהל OTA ESP32 כוללת הגדרת חיבור Wi-Fi, התקנת הספרייה, ואחריו, מועלה קובץ בינארי מורכב ללוח ESP32.

נוהל שלב אחר שלב של יישום ESP32 OTA:

  • ראשית, צריך להתקין את חבילת הלוח ESP32 בתוך Arduino IDE.
  • לאחר מכן, כלול את הספריות הספציפיות והנחוצות האחרות של ESP32.
  • יש להעלות את רישום ה- OTA הבסיסי, המכיל בדרך כלל שרת אינטרנט בעיקר עבור עדכוני OTA.
  • פתח את הדפדפן ואפשר לכתובת ה- IP של שרת האינטרנט של ESP32.
  • בחר את קובץ ה- .bin בממשק שרת האינטרנט שאתה רוצה להעלות.
  • לחץ על כפתור העלאה כדי להתחיל את עדכון OTA.
  • כעת ה- ESP32 מחובר לרשת ה- Wi-Fi שלך.
  • Open Aard יאתחל מחדש את הקושחה החדשה שהועלה.
  • יש להשתמש בספריית Arduinouta בליבת ESP32 כדי לפשט את נוהל OTA.
  • אתה יכול גם להעסיק את הדוגמה Basicota שניתנה על ידי הספרייה או לייצר יישום OTA משלך.
  • כעת, ספריית Arduinoota פשוט מאפשרת לך להעלות את הסקיצה האחרונה של הסקיצה ל- ESP32 שלך.

השתמש בשרת אינטרנט

  • בספריית ESP32 Arduino, הדוגמה OtaweBupDater מספקת ממשק אינטרנט להעלאת הקושחה.
  • הסקיצה מורכבת כדי ליצור קובץ .bin, לאחר מכן ניתן להעלות אותו דרך שרת האינטרנט.
  • טכניקה זו מאפשרת עדכוני OTA פשוטים ונגישים יותר.
  • בנוסף, וודא שיש לך מינימום של שתי מחיצות OTA בלוח ESP32 שלך.
  • השתמש בטכניקות אחרות כמו Arduino IoT Cloud, בעיקר לעדכוני OTA.
  • נוהל OTA מחליף את הקושחה הקיימת במחיצת OTA ייעודית על ידי הבטחת הקושחה המפעילה תישאר יציבה.

ESP32 OTA ממשק עם ארדואינו

התכונה העיקרית של בקרי מיקרו המאפשרים WIFI (ESP32 & ESP8266 ) תכנות OTA. מכשירים אלה משדרגים את הקושחה שלהם באופן אלחוטי. באמצעות OTA, ניתן לשלוח עדכון למיקרו -בקרים שונים שנמצאים ברשת דומה. תכונה זו משמשת לשליחת עדכונים לפיתרון הבאגים על ידי הכללת תכונות מסוימות למספר בקרי מיקרו, תיבות סט, מחשבים, טלפונים סלולריים וכו '.

באופן כללי, עדכוני OTA ממלאים תפקיד מפתח ב- האינטרנט של הדברים כדי לעדכן מכשירים המחוברים לאינטרנט מרחוק עם הגדרות ותוכנה חדשות. כאן אנו הולכים להשתמש בתכנות OTA עם לוח ESP32 ב- Arduino IDE עם עדכון האינטרנט של OTA.

הרכיבים הנדרשים עבור ESP32 OTA המתממשקים עם לוח Arduino כוללים את לוח ESP32 ו- Arduino IDE.

  ESP32 OTA ממשק עם ארדואינו
 ESP32 OTA ממשק עם ארדואינו

קוד OTA

קוד OTA עבור לוח הפיתוח ESP32 ניתן להלן.

#כלול

#כלול <עדכון.

const char* מארח = 'ESP32';  ssid = 'xxx'; סיסמא = 'xxxx';

שרת שרת אינטרנט (80);

/* דף כניסה*/

Const char* logindex =

'

'

'<רוחב טבלה = '20%'bgcolor =' a09f9f 'align =' center '>'

''

''

'

ESP32 עמוד כניסה
'

'
'

''

'
'

'
'

''

''

' שם משתמש: '

' <קלט סוג = 'טקסט' גודל = 25 name = 'userid'>
'

''

'
'

'
'

''

' סיסמה: '

' <קלט סוג = 'סיסמה' גודל = 25 name = 'pwd'>
'

'
'

'
'

''

''

' <קלט סוג = 'הגש' onclick = 'בדוק (this.form)' value = 'login'> '

''

''

'

'

'<סקריפט>'

'בדיקת פונקציה (טופס)'

'{'

'אם (form.userid.value == 'admin' && form.pwd.value == 'admin')'

'{'

'Windows.open ('/serverindex')'

'}'

'אַחֵר'

'{'

'התראה ('סיסמת שגיאה או שם משתמש')/*מציג הודעת שגיאה*/'

'}'

'}'

'';

/*

* דף אינדקס שרת

*/

const char* serverindex =

'”;

/*

* פונקציית הגדרה

*/

הגדרת בטל (בטל) {

Serial.Begin (115200);

// התחבר לרשת ה- WiFi

Wifi.begin (ssid, סיסמא);

Serial.println ('');

// המתן לחיבור

בזמן (wifi.status ()! = wl_connected) {

עיכוב (500);

Serial.print ('.');

}

Serial.println ('');

Serial.print ('מחובר ל');

Serial.println (ssid);

Serial.print ('כתובת IP:');

Serial.println (wifi.localip ());

/*השתמש ב- MDNS לקבלת רזולוציית שם המארח*/

if (! mdns.begin (מארח)) {// c2e2f8f35ba56eedbbc296b8125c387d1182e239

Serial.println ('שגיאה בהגדרת מגיב MDNS!');

בעוד (1) {

עיכוב (1000);

}

}

Serial.println ('המשיב MDNS התחיל');

/ *החזר דף אינדקס המאוחסן ב- ServerIndex */

server.on ('/', http_get, [] () {

server.sendheader ('חיבור', 'סגור');

Server.Send (200, 'טקסט/html', loginIndex);

});

server.on ('/serverindex', http_get, [] () {

server.sendheader ('חיבור', 'סגור');

Server.Send (200, 'טקסט/HTML', ServerIndex);

});

/ *טיפול בהעלאת קובץ קושחה */

server.on ('/עדכון', http_post, [] () {

server.sendheader ('חיבור', 'סגור');

Server.Send (200, 'טקסט/מישור', (עדכון.

Esp.Restart ();

} {

Httpupload & upload = server.upload ();

אם (upload.status == upload_file_start) {

Serial.printf ('עדכון: %s \ n', upload.filename.c_str ());

if (! עדכון

Update.printerror (סדרתי);

}

} אחרת אם (העלאה. status == upload_file_write) {

/* מהבהב קושחה ל- ESP*/

if (update.write (העלאה.

Update.printerror (סדרתי);

}

} אחרת אם (העלאה. status == upload_file_end) {

אם (עדכן.

Serial.printf ('עדכן הצלחה: %u \ nrebooting ... \ n', upload.totalsize);

} אחרת {

Update.printerror (סדרתי);

}}}

server.begin ();

}

לולאה בטלה (בטל) {

server.handleclient ();

עיכוב (1);

}

תכנות OTA עובדת

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

חבר את לוח ESP32 למחשב הנייד כדי להעלות את הקוד הראשי, ואז פתח את ה- Arduino IDE ובחר את סוג הלוח כערכת ESP32 DEV ובחר את היציאה הסדרתית המתאימה.

שנה את שם ה- Wi-Fi והסיסמה בתוך הקוד המקורי.

יש להעלות את קוד ה- OTA ללוח ESP32 שלך. לאחר העלאת הקוד בהצלחה, פתח את המסך הסידורי. לאחר מכן, יש לשנות את שיעור ה- Baud של 115200 על המסך הסידורי. לחץ על כפתור האיפוס מעל מודול ESP32, ועליו להדפיס את כתובת ה- IP של לוח ESP32.

פתח את דפדפן ברירת המחדל כדי להדביק את כתובת ה- IP של ESP32. לכן עליו לפתוח את דף שרת האינטרנט עבור OTA. כאן שם המשתמש והסיסמה כברירת מחדל הם מנהל. כעת, הזן את פרטי הכניסה, לחץ על דף הכניסה ואז כרטיסייה חדשה תיפתח כדי להעלות את הקוד.

יתרונות

היתרונות של ESP32 OTA כוללים את הדברים הבאים.

  • גישה ריכוזית זו מאפשרת לעדכון יחיד להתפשט ל- ESP32s שונים ברשת דומה.
  • OTA מאפשרת שדרוגים של קושחה מרוחקת מבלי להשתמש בגישה פיזית ללוח הפיתוח כדי להפוך אותו למושלם לפריסות IoT.
  • OTA מסיר את הדרישה של חיבורים פיזיים כדי לעדכן את לוח ESP32 על ידי פישוט נוהל העדכון, במיוחד עבור מכשירים בלתי נגישים או מרוחקים.
  • ניתן להשיג עדכונים מרחוק, מה שמקטין את הזמן הקדיש להגנה ותפעול.
  • מקור יחיד שולח עדכונים למספר רב ESP32s ברשת דומה ומייעל את נוהל העדכון לפריסות ענק.
  • OTA מאפשרת עדכונים בו זמנית למספר מכשירים על ידי כך שהם יעילים מאוד לפרויקטים רחבי היקף.
  • ניתן לתכנן ולבצע עדכונים בשעות מחוץ לשיא, מה שמפחית את הצרות להפעלת המכשיר.
  • עדכוני OTA כוללים תיקוני אבטחה ושיפורים המגנים מפני פגיעויות.
  • ניתן לשלב פונקציונליות OTA בפרויקטים מבוססי ESP32 עם ספריות ארדוינוטה.
  • תכנות OTA מאפשרת לך לעדכן תוכנית חדשה ל- ESP32 ללא חיבור למחשב.

חסרונות

THE חסרונות של ESP32 OTA כלול את הדברים הבאים.

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

יישומים

היישומים של ESP32 OTA כוללים את הדברים הבאים.

  • יישומי OTA של ESP32 מאפשרים לקושחת המכשיר לעדכן מרחוק ללא חיבור פיזי למכשיר. אז זה מועיל בעיקר למכשירי IoT המותקנים במיקומים בלתי נגישים, ירידה בהשבתה ותחזוקה. OTA מאפשרת לפרוס עדכוני תוכנה, תיקוני באגים ושיפורי תכונות במהירות וביעילות.
  • עדכוני OTA ESP32 חיוניים ביישומים שונים, בעיקר במערכות משובצות ופריסות IoT.
  • עדכונים אלה הם משמעותיים לתחזוקה ושדרוג של מערכות אוטומציה תעשייתיות מבלי לכבות את כל התהליך.
  • OTA מאפשרת למכשירי בית חכם לקבל שדרוגי קושחה מרוחקים על ידי הבטחת השיפורים הטובים ביותר לביצועים ותכונות.
  • עדכוני OTA הם משמעותיים כדי לעדכן את מערכות הקושחה והניטור של חיישני חיישנים מרוחקים, על ידי הבטחתם להישאר מדויקים ופונקציונליים.
  • UTA UPDATE מספקת שיטה מתאימה לטפל ולשמור על מכשירים בכל יישום IOT, בכל מקום בו גישה מרחוק אינה מעשית או מוגבלת.
  • משתמשים מעדכנים מנעולים חכמים, מצלמות אבטחה ומערכות אבטחה כדי להבטיח שהם יישארו בטוחים ופונקציונליים.
  • תעשיות מעסיקות ESP32 OTA כדי לעדכן את התוכנה והמערכות של מכונות בתהליכי אוטומציה.
  • טכנאים מעדכנים את תוכנת המכשיר בתחנות מזג אוויר, ניטור סביבתי ויישומים מרוחקים.
  • OTA זה מעדכן תוכנה בציוד חקלאי חכם, מערכות השקיה וכו '.
  • זה מנהל ומעדכן מכשירי בית חכם מרחוק באוטומציה ביתית כמו מנעולים, מערכות אבטחה, אורות חכמים וכו '.

מַסְקָנָה:

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