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

כיצד להשתמש באגים ב- ESP32: 11 שלבים (עם תמונות)
כיצד להשתמש באגים ב- ESP32: 11 שלבים (עם תמונות)

וִידֵאוֹ: כיצד להשתמש באגים ב- ESP32: 11 שלבים (עם תמונות)

וִידֵאוֹ: כיצד להשתמש באגים ב- ESP32: 11 שלבים (עם תמונות)
וִידֵאוֹ: Lesson 102: Using ZK-5AD 4A Dual DC Motor Driver TA6586 4A 14V The best Motor Driver (new product) 2024, יולי
Anonim
כיצד להשתמש באגים ב- ESP32
כיצד להשתמש באגים ב- ESP32

האם אי פעם רצית להציץ בתוך הקוד שלך כדי לראות מדוע הוא מתנהג כפי שהוא? באופן מסורתי בפרויקטים של ESP32, היית צריך להוסיף הצהרת הדפסה אינסופית כדי לנסות להבין מה קורה, אבל יש דרך טובה יותר!

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

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

אספקה

  • ESP -Prog - זהו הלוח הדרוש לניפוי באגים

    • אחד בדיוק שקניתי*
    • $ 5 זול יותר, אך לא בדקתי אותו*
  • ESP32 שפורץ את סיכה 12, 13, 14, 15

    • חוזה נוצת Adafruit 32
    • D1 מיני ESP32*
  • [אופציונלי] מגן באגים שאני מוכר ב- Tindie

    • חוזה נוצות 32
    • D1 מיני ESP32

* = קישור שותף

שלב 1: צפה בסרטון

Image
Image

יש לי סרטון בנושא הזה אם אתה רוצה לבדוק את זה.

בערוץ שלי אני בדרך כלל עושה סרטונים המבוססים על ESP8266 ו- ESP32, אז אם אתה מתעניין בהם, אנא בדוק זאת!

שלב 2: חומרה - חלקים וחיווט

חומרה - חלקים וחיווט
חומרה - חלקים וחיווט
חומרה - חלקים וחיווט
חומרה - חלקים וחיווט
חומרה - חלקים וחיווט
חומרה - חלקים וחיווט

כדי להשתמש באגים אתה צריך רק ESP-Prog וכמעט כל לוח ESP32 (קישורים לאלה בשלב מוקדם יותר)

ESP-Prog:

ה- ESP-Prog הוא לוח שתוכנן על ידי espressif, יצרני שבבי ESP32 ו- ESP8266. הוא מתחבר לסיכות JTAG של ה- ESP32 כדי לאפשר לנו להשתמש באגים. הוא יכול לשמש גם לתכנות לוחות ESP32, אבל לא אעסוק בזה כאן.

לוח ESP32:

אתה יכול להשתמש בעצם בכל לוח ESP32 בשביל זה ברגע שהוא פורץ את סיכות JTAG, שהן 12, 13, 14 & 15. בדקתי הן Huzzah32 נוצת Adafruit והן לוח D1 Mini 32 ושניהם עבדו מצוין.

שים לב שאתה יכול להשתמש בסיכות JTAG בסקיצה שלך עם באגים, למשל הנורית המובנית של לוח Huzzah32 נמצאת על סיכה 13, כך שלא תוכל להשתמש בה בעת איתור באגים.

תִיוּל:

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

מגיני איתור באגים:

אלה אופציונליים, אבל אני מוכר כמה מגנים ב- Tindie עבור Huzzah32 ו- D1 Mini 32 שהופכים את חיבור ה- ESP-Prog ממש לפשוט, הוא פורץ את הפינים המתאימים למחבר IDC שניתן להשתמש בו בכבל סרט לחיבור ישירות בין המגן ו- ESP-Prog

שלב 3: חומרה - התקנת מנהל התקן

חומרה - התקנת מנהלי התקנים
חומרה - התקנת מנהלי התקנים
חומרה - התקנת מנהלי התקנים
חומרה - התקנת מנהלי התקנים
חומרה - התקנת מנהלי התקנים
חומרה - התקנת מנהלי התקנים

על מנת להשתמש ב- ESP-prog לצורך איתור באגים, עלינו להתקין את מנהלי ההתקן המתאימים עבורו. PlatformIO מספק כמה שלבים לכך כאן, אך אעבור על שלבי Windows במדריך זה.

  1. הורד והתקן את מנהלי ההתקנים של FTDI עבור ESP-Prog מכאן, גלול ימינה כדי להוריד את גרסת "ההתקנה הפעלה" כדי להקל.
  2. הורד והתקן את הכלי זדיג מכאן, זה מאפשר לנו להתקין דרייבר כללי הדרוש לאיתור באגים.
  3. כאשר ה- ESP-Prog מחובר לחשמל, פתח את זאדיג
  4. ביישום זדיג, תחת "אפשרויות", לחץ על "רשימת כל המכשירים"
  5. התפריט הנפתח בזדיג יאוכלס כעת, בחר באפשרות "כפול RS232-HS (ממשק 0)". ודא שזה ממשק 0 שאתה בוחר!
  6. מימין לחץ הירוק, יש לבחור "WinUSB" ולחץ על "החלף מנהל התקן"

בסיום זה מנהלי ההתקנים שלך צריכים להיות מוגדרים לשימוש!

הערה: אם תשנה את יציאת ה- USB שבה אתה משתמש עבור ESP-Prog, ייתכן שיהיה עליך לחזור על שלבים 3-6 שוב. אם אתה מקבל שגיאה כפי שמוצג בתמונה למעלה בעת איתור באגים, עליך לחזור על השלבים.

שלב 4: תוכנה: התקנת PlatformIO

תוכנה: התקנת PlatformIO
תוכנה: התקנת PlatformIO
תוכנה: התקנת PlatformIO
תוכנה: התקנת PlatformIO
תוכנה: התקנת PlatformIO
תוכנה: התקנת PlatformIO

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

נדרש ל- PlatformIO להשתמש באגים. אם אתה כבר מכיר את PlatformIO, אל תהסס לדלג על מספר צעדים קדימה.

  • הורד והתקן קוד Visual Studio (קוד VS) מהקישור המופיע באתר PlatformIO.org
  • פתח את קוד VS ופתח את תפריט ההרחבות, הלחצן מודגש בתמונה למעלה
  • הקלד "platformio" בחיפוש, בחר אותו ולחץ על התקן.

שלב 5: תוכנה: שימוש ב- PlatformIO

תוכנה: שימוש ב- PlatformIO
תוכנה: שימוש ב- PlatformIO
תוכנה: שימוש ב- PlatformIO
תוכנה: שימוש ב- PlatformIO
תוכנה: שימוש ב- PlatformIO
תוכנה: שימוש ב- PlatformIO

השימוש ב- PlatformIO שונה במקצת משימוש ב- Arudino IDE, כך שבשלב זה נעסוק רק ביסודות של הפעלת דוגמה על לוח.

פתיחת דוגמא:

  1. לחץ על כפתור הבית בסרגל הכלים של PlatformIO (כפי שמוצג בתמונה)
  2. לחץ על כפתור "דוגמאות פרויקט"
  3. בחר את הדוגמה "Arduino-blink" תחת הקטע Espressif 32

פעולה זו תפתח פרוייקט מצמוץ לדוגמה. הפריסה של PlatformIO שונה למדי בהשוואה לפרויקט Arduino, אז בואו נעבור על היסודות.

איפה הקוד?

הקוד לפרויקט שלך יישמר בתיקיית "src", בדוגמא למצמץ תראה קובץ "blink.cpp", קובץ זה זהה לקובץ הסקיצה שלך (.ino) בפרויקט Arduino.

כיצד אוכל להגדיר את הלוח שלי?

תצורות לפרויקט שלך נשמרות בתוך קובץ "platformio.ini" בפרויקט שלך. זהו למעשה אחד הדברים האהובים עלי ביותר ב- PlatformIO בהשוואה ל- Arduino IDE, מעולם לא היה לי הגיוני שהגדרות הלוח אינן קשורות למערכונים.

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

היכן אני מגדיר את יציאת ה- COM שלי?

PlatformIO למעשה ינסה למצוא באופן אוטומטי את יציאת ה- COM הנכונה לשימוש, כך שבעצם תוכל להתחמק מבלי להגדיר דבר עבור זה. אבל אם יש לך מספר יציאות COM, שתעשה בעת שימוש באגים, אני חושב שזה הגיוני להגדיר את הספציפי שאתה צריך. תוכל לראות את המכשירים השונים שיש לך על ידי לחיצה על הקטע "התקנים" בכרטיסייה הבית, ו אתה יכול להגדיר איזה ESP32 שלך נמצא ב- "platformio.ini" על ידי הוספת תצורה של "upload_port".

איך אני מעלה את הקוד שלי?

לחץ על כפתור העלאה (הסמל הוא חץ שמצביע ימינה) והוא אמור לאסוף ולהעלות את הקוד. כעת אמורה להיות לך נורית מהבהבת בלוח שלך.

שלב 6: איתור באגים: פוטנציאל עור בננה

איתור באגים: פוטנציאל עור בננה!
איתור באגים: פוטנציאל עור בננה!
איתור באגים: פוטנציאל עור בננה!
איתור באגים: פוטנציאל עור בננה!
איתור באגים: פוטנציאל עור בננה!
איתור באגים: פוטנציאל עור בננה!

זה משהו שדחף אותי כשהכנתי את זה ונקווה שזה יתוקן עד שתנסה את זה, אבל חשבתי שחשוב לעזוב את המקום הזה.

בעת הכנת מדריך זה, הגרסה העדכנית ביותר של PlatformIO היא 4.3.0 ויש לה באג המתייחס ליכולת איתור באגים. למרבה המזל, אנו יכולים לעדכן לגרסת הפיתוח העדכנית למדי, מה שפותר את הבעיה.

בדוק בדף הבית את הגירסה של PlatformIO core, אם היא "4.3.0", בצע את השלבים הבאים.

  1. בסרגל הכלים של PlatformIO, לחץ על סמל הטרמינל
  2. בסוג הטרמינל: pio upgrade --dev
  3. יש לעדכן את קוד RestartVS ו- PlatfromIO

שלב 7: איתור באגים: תצורה

איתור באגים: תצורה
איתור באגים: תצורה

עלינו לערוך את הקובץ "PlatofrmIO.ini" כדי לאפשר איתור באגים, עלינו להוסיף לו רק שני דברים.

debug_tool = esp-prog

זה מגדיר את כלי הבאגים בו אנו משתמשים.

debug_init_break = הגדרת tbreak

זהו טריק שלמדנו מהסרטון של אנדרס ספייס בנושא איתור באגים ב- ESP32. הוא אומר לאתר הבאגים להפסיק בהגדרת היישום שלנו.

שלב 8: איתור באגים: התחלת איתור באגים

איתור באגים: התחלת איתור באגים
איתור באגים: התחלת איתור באגים
איתור באגים: התחלת איתור באגים
איתור באגים: התחלת איתור באגים
איתור באגים: התחלת איתור באגים
איתור באגים: התחלת איתור באגים
איתור באגים: התחלת איתור באגים
איתור באגים: התחלת איתור באגים

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

  1. צור משתנה חדש, "int delayTime = 1000;" מחוץ לשיטות כלשהן, זה יהפוך אותו למשתנה גלובלי.
  2. החלף את המספר בתוך שיחות העיכוב בלולאה במשתנה החדש הזה: delay (delayTime);

העלה את הקוד ללוח פעם נוספת, ולאחר מכן כדי להתחיל איתור באגים, בסרגל הכלים לחץ על "הפעלה" ולאחר מכן על "התחל איתור באגים"

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

אם הכל הלך כצפוי, תראה את הבאגים להפסיק בתחילת ההתקנה.

שלב 9: איתור באגים: שימוש בסיסי

איתור באגים: שימוש בסיסי
איתור באגים: שימוש בסיסי
איתור באגים: שימוש בסיסי
איתור באגים: שימוש בסיסי
איתור באגים: שימוש בסיסי
איתור באגים: שימוש בסיסי
איתור באגים: שימוש בסיסי
איתור באגים: שימוש בסיסי

בואו נסקור כמה יסודות של מה שאתה יכול לעשות עם באגים

יצירת נקודות שבירה:

נקודת שבירה היא נקודה בקוד שבו אתה רוצה שהאגים יפסיקו. ליצירת נקודת שבירה לחץ משמאל למספר השורה. כהדגמה, הוסף נקודת שבירה לשורה הראשונה בשיטת הלולאה.

ניווט בנקודת שבירה:

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

שעונים משתנים:

שעונים משתנים מאפשרים לך לעקוב אחר ערך המשתנים כאשר הבאגר מופסק בנקודת שבירה. כדי להוסיף שעון משתנה חדש אתה יכול ללחוץ על סמל + ולאחר מכן להקליד את שם המשתנה. כהדגמה, הקלד את המשתנה שהוספנו בשלב הקודם "delayTime"

מציג משתנה:

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

עריכת ערך המשתנים:

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

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

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

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

שלב 11: זעזוע

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

אשמח לשמוע אם אתה מוצא את זה שימושי !. אנא הודע לי בתגובות למטה, או הצטרף אליי וחבורה של יוצרים אחרים בשרת הדיסקורד שלי, שם נוכל לדון בנושא זה או בכל יצרנים אחרים הקשורים לך, אנשים באמת עוזרים שם כך שזה מקום נהדר לתלות בו הַחוּצָה.

אני גם רוצה להודות לאותן נותני החסות שלי ב- Github שעוזרים לתמוך במה שאני עושה, אני באמת מעריך את זה. אם אינך יודע, Github תואם חסויות לשנה הראשונה, כך שאם תעשה חסות הם יתאימו לזה 100% במשך החודשים הקרובים. תודה שקראתם!

מוּמלָץ: