תוכן עניינים:

שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO: 7 שלבים
שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO: 7 שלבים

וִידֵאוֹ: שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO: 7 שלבים

וִידֵאוֹ: שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO: 7 שלבים
וִידֵאוֹ: Светильник на адресных LED, для подсветки, уведомлений и аварийного освещения. ESP32 и WLED 2024, יולי
Anonim
שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO
שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO
שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO
שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO
שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO
שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO
שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO
שחזור או שדרוג קושחה במודול ESP8266 (ESP-01) באמצעות Arduino UNO

מודול ESP-01 בו השתמשתי הגיע במקור עם קושחה ישנה יותר של AI Thinker, דבר המגביל את יכולותיו מכיוון שפקודות AT שימושיות רבות אינן נתמכות.

בדרך כלל כדאי לשדרג את הקושחה שלך לתיקוני באגים וגם בהתאם לפונקציות הדרושות ממודול ה- ESP, ייתכן שתידרש מערך שלם יותר של פקודות AT נתמכות. הדרכה זו גם מסבירה כיצד לשחזר או להבהב את הקושחה המקורית של Espressif אם במקרה אתה מבלבל את קושחת ה- ESP שלך, למשל, באמצעות כמה פקודות AT שגויות. זה מה שקרה כשניסיתי לשנות את קצב שידור ברירת המחדל מ- 115200 ל 9600. השתמשתי בפקודה הבאה (המבוססת על חיפוש מהיר בגוגל):

AT+IPR = 9600

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

זהירות: על סמך ניסיוני, אני ממליץ בחום לא להשתמש בפקודה AT+IPR כדי לשנות את קצב השידור שלך מכיוון שסביר להניח שתדרוש ממך להבהב מחדש את הקושחה. עם זאת, ישנם הרבה גרסאות שונות של מודול ESP-01 עם גודל הבזק שונה וגרסת קושחה מהמפעל, כך שהניסיון שלך עשוי להשתנות.

מודול ESP-01 אינו תואם 5 V ודורש 3.3 V כדי להפעיל אותו אלא גם לפעול כראוי ברמת ההיגיון. כדי לתקשר עם המחשב, המודול צריך בנוסף ממיר USB לטורי. לכן, במקום להשתמש בממיר מתח ובמתאם USB לסדרה, החלטתי לבחור בפתרון פשוט יותר. מכיוון שכבר יש לי UNO של Arduino, השתמשתי באחרון כדי להפעיל את מודול ESP-01 וליצור תקשורת בין ה- ESP-01 למחשב, ופועל למעשה כגשר סדרתי.

אספקה

  1. מודול ESP-01
  2. Arduino UNO (עם כבל USB)
  3. חוטי מגשר DuPont
  4. לוח לחם

שלב 1: חיבורי חוטים

חיבורי חוטים
חיבורי חוטים
חיבורי חוטים
חיבורי חוטים
חיבורי חוטים
חיבורי חוטים

חיבורי החוט עם מודול ה- Arduino UNO ו- ESP-01 ניתנים לביצוע בקלות באמצעות כבלי מגשר ולוח לחם. החיבורים בין לוח הפיתוח של Arduino לבין מודול ה- ESP מתוארים בטבלה. חיבורי RX ו- TX אינם הפוכים במקרה זה, שכן התקשורת אינה מתרחשת בין מודול Arduino ו- ESP אלא בין ה- ESP למחשב. לכן, במקרה זה, לוח ה- UNO של Arduino משמש כגשר טורי באמצעות ממיר ה- USB למלווה הטורי שלו.

חיבור סיכות RX בין לוח Arduino לבין מודול ESP צריך להתבצע באמצעות מחלק מתח, מכיוון ש- ESP-01 פועל ברמת לוגיקה של 3.3 V וקבלת רמת לוגיקה של 5 V מה- Arduino UNO עלולה לפגוע במודול ה- ESP. ניתן לבנות מחלק מתח פשוט של 3.3 וולט באמצעות 2 נגדים בלבד כפי שמוצג באיור. לחלופין, תוכל להשתמש בממיר רמה לוגית.

זהירות: לצורך ההתקנה שלי, פשוט חיברתי את סיכות ה- RX ישירות (לא מומלץ!) והכל עבד, אבל אם תחליט לוותר על ההמרה ברמת ההיגיון, המשך באחריותך!

כדי ליצור חיבור קרקע משותף, סיכת ה- Arduino UNO Ground מחוברת לסיכת הארקה של מודול ESP.

ה- UNO של Arduino משמש לספק אספקת 3.3 V ישירות לסיכת VCC של מודול ה- ESP. חבר את סיכת ה -3.3 V ללוח הלחם באמצעות חוט מגשר, שכן ה -3.3 V ישמש לא רק עבור סיכת ה- VCC של ה- ESP אלא גם את סיכת ה- CH_PD של ה- ESP כדי לאפשר את שבב ה- ESP.

סיכת RESET ב- UNO Arduino מחוברת ל- Ground כדי לעקוף כל קוד שהועלה באמצעות ה- Arduino כך שהקוד נשלח במקום זאת מהמחשב ל- ESP-01.

איור הטבלה מציג את מכלול החיבורים להבהוב הקושחה אך בשלב זה אל תחבר את סיכות האיפוס ו- GPIO_0 של ה- ESP מכיוון שנקרא את פרטי הקושחה רק בשלב הבא.

שלב 2: בדוק את גרסת הקושחה

בדוק את גרסת הקושחה
בדוק את גרסת הקושחה

כדי למצוא את גרסת הקושחה של ESP-01, הקלד בצג הטורי Arduino IDE:

AT+GMR

הערה: יש להקליד את כל פקודות ה- AT באותיות גדולות ללא רווחים.

להלן הפלט הטורי עבור ה- ESP-01 שלי (ייתכן שמודול ה- ESP שלך לא יראה בדיוק את אותו המידע כפי שהוא תלוי בדגם ובמועד הפרסום הספציפי):

AT+GMR

גרסת AT: 0.25.0.0 (5 ביוני 2015 16:27:16) גרסת SDK: 1.1.1 Ai-Thinker Technology Co. Ltd. בע מ 23 ביוני 2015 23:23:50 בסדר

כעת, כדי לשדרג לקושחה הרשמית האחרונה של Espressif ESP8266EX, עבור למקטע המשאבים באתר האינטרנט שלה:

הערה: ייתכן שרשימת הקושחה הזמינה אינה תואמת את כל דגם ה- ESP-01 שלך. עיין בסעיף פתרון בעיות בסוף מדריך זה למידע נוסף.

שלב 3: הכנת ההתקנה: לפני מהבהבת הקושחה

הכנת ההתקנה: לפני מהבהבת הקושחה
הכנת ההתקנה: לפני מהבהבת הקושחה

כעת, נכין את UNO Arduino להליך מהבהב הקושחה ESP-01.

וודא שחוט ה- RESET של Arduino מנותק מהקרקע. כמו כן, יש לנתק את חוטי ה- TX וה- RX מ- Arduino UNO ממודול ESP-01.

פתח את Arduino IDE ומהתפריט העליון, עבור אל קובץ> דוגמאות> 01. יסודות> BareMinimum. העלה את הסקיצה ל- UNO Arduino. סקיצה ריקה זו תבטיח כי לא תתרחש הפרעה לתקשורת עם מודול ה- ESP.

חבר מחדש את כבלי RX ו- TX בין UNO ו- ESP-01. כמו כן, חבר את סיכת RESET של UNO לקרקע.

סיכת CH_PD או CH_EN מייצגת 'שבב הפעלה' או 'הפעלת שבב' ויש למשוך אותו גבוה או לחבר אותו ל -3.3 וולט על מנת לאפשר את שבב ה- ESP.

יש צורך בשני כבלי מגשר נוספים לסיכות ה- ESP הבאות: GPIO_0 ו- RESET.

GPIO_2 אינו בשימוש והוא נותק מנותק.

יש להגדיר את ESP-01 במצב תכנות כך שניתן יהיה להעלות אליו קוד. אך ל- ESP-01 אין את החומרה הנוספת הדרושה על מנת להשיג זאת באופן ישיר, ולכן יש לחבר את כל זה בנפרד. לשימוש עצמי, לא טרחתי להשתמש במתגים, אלא פשוט השתמשתי בשני כבלי מגשר זכר-נקבה המחוברים לסיכות GPIO_0 ו- RESET של מודול ESP-01 וחיברתי אותם לסיכות הקרקע המשותפות של לוח הלחם מהקרקע של ארדואינו UNO.

לפני שתתחיל בהליך המהבהב, GPIO_0 מחובר ל- Ground במשך כל הליך המהבהב כדי לאפשר מצב תכנות.

סיכת RESET מחוברת ל- Ground לשנייה ולאחר מכן מוסרת. זה מאפשר להעלות את הקושחה החדשה.

שלב 4: הורד כלי מהבהב וקושחה

הורד כלי מהבהב וקושחה
הורד כלי מהבהב וקושחה

הקושחה בה נעשה שימוש היא מ- Espressif שהיא היצרנית המקורית של שבב ESP8266.

עבור אל: https://www.espressif.com/en/products/hardware/esp8266ex/resources כדי לגשת לכלים הרשמיים ולקבצי הקושחה של AT.

בכרטיסייה 'כלים', הורד את כלי ההורדה של Flash (ESP8266 ו- ESP32), כרגע הגרסה האחרונה היא V3.6.8.

בכרטיסייה 'AT', הורד את קושחת ה- AT התואמת העדכנית ביותר, שהיא ESP8266 AT Bin V1.6.2 לדגם ה- ESP-01 שלי. זה תלוי בדגם ESP-01 מכיוון שהוא יכול להיות בעל גודל זיכרון פלאש שונה. מידע נוסף על כך תמצא בקטע מידע מזוהה של התוכנית Flash Download Tools לאחר לחיצה על START כדי להתחיל בהליך המהבהב. לכן, אם אינך בטוח לגבי גודל ההבזק או אילו קבצי קושחה לבחור, פשוט הפעל את התוכנית כדי לקבל את המידע הנכון על מודול ה- ESP שלך.

לאחר הברקה, תוכל להשתמש בפקודות AT כדי לבדוק ולעבוד עם ה- ESP-01. הורד את ערכת ההוראות הרשמית של ESP8266 AT:

שלב 5: הליך מהבהב

הליך מהבהב
הליך מהבהב
הליך מהבהב
הליך מהבהב
הליך מהבהב
הליך מהבהב
הליך מהבהב
הליך מהבהב

חלץ את קובץ ה- zip להורדת Flash Flash Tools ופתח את קובץ ה- exe. הקפד להפעיל אותו כמנהל אם אתה משתמש ב- Windows. תחילה ייפתח חלון DOS, ואחריו חלון מוקפץ. בחר בכלי ההורדות ESP8266. פעולה זו תפתח חלון עם מספר אפשרויות הניתנות להגדרה.

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

הערה: בחר את קבצי הקושחה באותו סדר מכיוון שהליך ההבזק מתבצע ברצף. יש לבחור את הקובץ blank.bin שלוש פעמים כפי שמוצג בצילום המסך של ערכת הוראות AT.

כדי למצוא את הקודים או הכתובות הקסקסיים הנכונים, עיין במסמך ערכת ההוראות הרשמית של AT. צירפתי צילום מסך של הטבלה בה השתמשתי להבהב מודול ה- ESP שלי.

לאחר מכן, פשוט לחץ על כפתור START וראה את הקסם קורה. טקסט הלחצן יציג את הסינכרון והקטע מידע מזוהה יציג את המפרט של מודול ה- ESP שלך. לאחר מכן, הטקסט יראה הורדה וסרגל ההתקדמות יופעל כאשר קבצי הקושחה יועלו לזיכרון הבזק של ESP. לאחר ביצוע הליך ההבהוב של הקושחה, תראה: FINISH.

סגור את התוכנית Flash Download Tools. זה הכרחי כדי לשחרר את היציאה הטורית כדי לאפשר לצג הסידורי Arduino IDE להשתלט.

נתק את סיכת ה- ESP GPIO_0 מהחיבור הארצי. פעולה זו תשבית את מצב התכנות.

חבר את RESET לאדמה למשך שנייה אחת ולאחר מכן נתק. פעולה זו תאפס את המודול.

פתח את Arduino IDE. מהתפריט העליון, בחר כלים> יציאה> בחר את יציאת ה- COM הנכונה. פתח את צג סידורי ובחר "הן NL & CR" ובחר קצב שידור של 115200 שהוא ברירת המחדל.

סוּג:

בְּ

אם הליך ההבהוב עבר כהלכה, התשובה תהיה:

בסדר

כדי לאמת את הקושחה החדשה שלך, הקלד:

AT+GMR

להלן פלט הצג הטורי עבור ה- ESP-01 שלי:

AT+GMR

גרסת AT: 1.6.2.0 (13 באפריל 2018 11:10:59) גרסת SDK: 2.2.1 (6ab97e9) זמן הידור: 7 ביוני 2018 19:34:26 גרסת סל (Wroom 02): 1.6.2 בסדר

שלב 6: שנה את קצב השידור לצמיתות

שנה את קצב השידור לצמיתות
שנה את קצב השידור לצמיתות

חלק זה הוא אופציונלי. קצב שידור ברירת המחדל הוא 115200, אך אם ברצונך לשנות אותו למהירות שידור אחרת, תוכל פשוט להקליד את הפקודה הבאה במסך הסידורי של Arduino.

לדוגמה, אם ברצונך לשנות ל- 9600 קצב שידור / 8 סיביות נתונים / סיביות עצירה אחת / ללא סיביות זוגיות / ללא בקרת זרימה.

הקלד:

AT+UART_DEF = 9600, 8, 1, 0, 0

התגובה צריכה להיות:

בסדר

הפקודה למעלה משנה את קצב השידור לצמיתות ל 9600 אך תוכל לבחור כל אחת ממהירות השידור הסטנדרטיות.

שלב 7: פתרון בעיות

פתרון תקלות
פתרון תקלות
פתרון תקלות
פתרון תקלות

אם יש חריגות לאחר הברקה מוצלחת של הקושחה, למשל, במסך הטריאלי, לאחר שתבחר את קצב שידור ברירת המחדל של 115200 והקלד: AT אך אינך רואה כל תגובה או אם אתה מקליד AT+GMR ומקבל מספר אחר סוג מידע אחר פרט לגרסת הקושחה, ייתכן שהבזקת את הקושחה הלא נכונה. במקרה זה, בתוכנית כלי ההורדה של Flash, לאחר שתלחץ על כפתור START כדי להתחיל בהליך מהבהב הקושחה, הלחצן הירוק של המצב קורא SYNC וזה השלב שבו המידע של מודול ה- ESP מופק והופך לזמין תחת מידע מזוהה. מידע זה הוא חיוני כדי לקבוע את הקושחה הנכונה ואת הקבצים הנכונים להבהב.

להלן מודול ה- ESP-01 שלי:

ספק פלאש:

E0h: N/A devide flash: 4014h QUAD; קריסטל 8Mbit: 26 Mhz

המידע המזוהה שלך יהיה תלוי בדגם ESP-01. אבל זה יאפשר לך להסיק את גודל הפלאש הנכון. ב- ESP שלי, זה 8Mbit שזה שווה ל- 1 MB. אז זה אומר שאני צריך לבחור 512 KB + 512 KB מתוך קבצי הקושחה. וזה גם אומר שקושחה 1.7.0 או 1.7.1 לא יפעלו כראוי עבור מודול ה- ESP שלי, אשר אישרתי גם על ידי הברקה של הקושחה והבדיקה. כמו כן, בתיאור הקושחה 1.7.0 ו- 1.7.1 באתר המשאבים הרשמי של Espressif, המידע הבא מופיע: "מוגבל על ידי גודל קובץ ה- bin bin, רק '1024+1024 flash map' נתמך על ידי בְּרִירַת מֶחדָל." 1024+1024 פירושו שהוא עבור מודול ESP עם גודל הבזק כולל של 2048 KB או 2 MB.

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

מוּמלָץ: