חיבור ראשוני של ESP32 ועבודה עם מיקרופייתון

חיבור ועבודה ראשונית עם מיקרו בקר מסוג ESP32.

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

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

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

להבין איזה ESP32 יש לכם

אם קניתם ESP32 או שאתם רוצים לקנות – כדאי לקנות את זה שנכון. ההבדלים במחיר הם מינוריים אם רוכשים כמה יחידות. אני ממליץ על ESP32 WROOM – כשקונים אותו, אפשר לראות את סוג הדגם. אם יש לכם כבר, אפשר לראות מה הסוג באמצעות הצ׳יפ עצמו והאתר של היצרנית Espressif. נכנסים לפירוט הדגמים באתר (קישור ישיר לפירוט הדגמים) ומסתכלים על דוגמאות הצ׳יפ. אני מצרף תמונה להמחשה. מצד ימין, צילום של הצ׳יפ שלי, מצד שמאל, צילום של מה שיש באתר. שימו לב לדוגמה שיש מעל הריבוע המתכתי ולכיתוב. שניהם חשובים.

מצד שמאל - המפרט ומצד ימין - השבב

חשוב לעשות את זה גם אם הזמנתם על מנת לוודא שזה באמת מה שקיבלתם. המדריך שלי עוסק ב ESP32 WROOM ואלו שדומים לו.

החיבור הפיזי

המיקרו בקרים החדשים מגיעים עם חיבור של Type C שניתן לחבר אותו לכל מק בקלות.

דוגמה של חיבור ישיר

אם יש לכם חיבור של Type B micro אז תצטרכו מתאם. אני ממליץ על אלו של חברת UGreen וממליץ לכם לחבר את ה-USB אל השקע שכתוב עליו USB 3.0 שנמצא בראש המתאם. זה עובד מעולה בכל מק.

בחלונות – פשוט מחברים אותו עם כבל USB רגיל. כשתחברו אותו, תשמעו צליל עדין של חיבור ותראו אור LED.

כך או כך, ברגע שהמיקרו בקר מחובר ומקבל מתח. יש אור אדום. זה הזמן לבדוק אם באמת המחשב גם רואה את המיקרו בקר ולא סתם מזרים מתח. איך עושים את זה?

במק – נכנסים לטרמינל ומקלידים:

ls /dev/cu.*

יש לכם שם משהו בסגנון /dev/cu.usbserial-0001 ? זהו. המחשב רואה את החיבור. דרך טובה לוודא שזה באמת המיקרו בקר שלנו זה לנתק את ה-USB ולהריץ את הפקודה שוב. זה נעלם משם? כן. זה זה.

בחלונות – בודקים ב-device manager (לוחצים על חיפוש ואז מקלידים device manager) אם ההתקן מופיע. משהו בסגנון הזה:

יש מצב שה-COM שלכם יהיה במספר שונה.

במק: על מנת לבדוק את החיבור סופית, ננסה להתחבר באמצעות:

screen dev/cu.usbserial-0001 115200

יש פלט? מעולה. אפשר להתחיל בהתקנת פייתון על ESP32.

screen /dev/cu.usbserial-0001 115200

יש שיבוש? תקלה? אנא נסו את הפעולות הבאות:

  1. נתקו וחברו את המיקרו בקר שוב.
  2. ריסטארט למחשב.
  3. החליפו כבל USB.
  4. לנסות עם מיקרובקר אחר.

במידה וכלום לא עוזר, יש סיכוי שמשהו מפריע לתקשורת – איזה שיט אנטיוירוסי, פיירוול פנימי או קקה אחר. נסו עם מחשב אחר או נסו לראות מה רץ ברקע.

אחרי הבדיקה יש לסגור את הטרמינל.

התקנת מיקרופייתון על המיקרובקר

אני ממליץ בחום רב, עצום, אדיר ומופלא על Thonny. מדובר בעורך קוד לפייתון. נכון, רובנו משתמשים ב-PyCharm או ב Visual Studio Code אבל – מהניסיון שלי (ויש לי), ממש קל לעבוד בהתחלה עם Thonny. אני יודע שלחלקכם יש רתיעה מלהתקין עוד תוכנה על המק אבל באמת. אנא מכם, הקשיבו לי – זו תוכנה קלה, פשוטה ונעימה וכדאי ממש ומאד מאד להתקין אותה.

שלבים אלו זהים למק ולחלונות.

מתקינים את Thonny דרך האתר הרשמי שלהם.

הורדת גרסת קושחה למיקרופייתון

במקביל להתקנה, נוריד את גרסת הקושחה (Firmware) של מיקרופייתון. מיקרופייתון היא בעצם פייתון קלה ורזה המותאמת למיקרובקרים. כיוון שכל מיקרובקר שונה זה מזה בלא מעט פרמטרים – מסוג המעבד, מספר ה-GPIO (הפינים המותאמים לקלט ופלט), ההתקנים ההיקפיים (למשל פה יש לנו גם בלוטות׳ וגם וויפיי אבל באחרים אין) אז אנחנו צריכים להוריד גרסה מתאימה למיקרובקר שלנו יש. נכנס לאתר הרשמי של מיקרופייתון ונגיע לחלק ההורדות. יש שם המון תמונות וסוגים של מיקרובקרים (עשרות), אנחנו מחפשים את ESP32. הנה הקישור הישיר – אבל אם הקישור הישיר לא עובד – אז הנה הצילום של המיקרובקר שאותו אנו רוצים.

נגלול למטה ונוריד את קובץ ה-bin של ה-latest.

נשמור אותו בתיקיה כלשהי. אנחנו נשתמש בו עם Thonny.

הצריבה הראשונית של ESP32 עם מיקרופייתון.

כשנפתח את Thonny, נלחץ בצד הימני למטה על ה-Interpeter

ונבחר ב-USB שלנו. ירוץ פלט שדומה ל-Screen ואז נראה את הטקסט המלבב הבא:

Device is busy or does not respond. Your options:

  - wait until it completes current work;
  - use Ctrl+C to interrupt current work;
  - reset the device and try again;
  - check connection properties;
  - make sure the device has suitable MicroPython / CircuitPython / firmware;
  - make sure the device is not in bootloader mode.

זה מופיע כיוון שבמיקרו בקר אין בכלל יכולת לעבוד עם פייתון, אנחנו צריכים לצרוב עליו את הקושחה. את זה אפשר לעשות בקלות עם Thonny. נלחץ על Run ואז על Configure interpreter

נגיע לחלון שבו אפשר לבחור את ה-Interpreter, נבחר ב-ESP32 ובפורט נבחר את ה-USB שלנו. בחלונות נראה COM ומספר. יש לבחור את המספר הנכון.

נלחץ על Install or update MicroPython – שזה הקישור הכחול למטה מצד ימין ונגיע לחלון שאליו אנו נזין את מיקום הקובץ של הקושחה הרלוונטית.

עכשיו זה חלק קריטי. אנו לוחצים על כפתור ה-BOOT ואז לוחצים על Install! זה ממש ממש חשוב.

משאירים אותו לחוץ עד שרואים Erasing Flash. אחרי כן אפשר לשחרר את הלחיצה ולחכות, תוך כדי תפילה, שהתהליך יסתיים.

אם מופיע לנו Done! אז אפשר לנשום לרווחה ולהמשיך.

בעיות נפוצות

אם מופיעה השגיאה:

Device is busy or does not respond. Your options:

  • wait until it completes current work;
  • use Ctrl+C to interrupt current work;
  • reset the device and try again;
  • check connection properties;
  • make sure the device has suitable MicroPython / CircuitPython / firmware;
  • make sure the device is not in bootloader mode.

יש להקפיד על לחיצה על ה BOOT.

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

עבודה עם פייתון

אחרי כל זה, ואם הכל תקין, אנו נראה ש-Thonny מראה לנו ש:

  1. ה-Interpreter מחובר ל-USB.
  2. יש לי יכולת להקליד פייתון ב-REPL

בואו ננסה להקליד שם משהו. הקלידו את השורות הבאות:

import machine
led = machine.Pin(2, machine.Pin.OUT)
led.value(1)

אחרי כל שורה נקליד אנטר ואז יקרה פלא מדהים – יהיה אור כחול שיידלק על גבי ה-ESP32!!!!

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

עבודה עם קובץ פייתון

נקליד את הקוד הבא בחלק עריכת הטקסט.

import machine

import time

led = machine.Pin(2, machine.Pin.OUT)
 
while True:
    led.value(1)
    time.sleep(1)
    led.value(0)
    time.sleep(1)

נלחץ על שמירה.

נבחר בשמירה ב-ESP32 תחת השם main.py

נלחץ על החץ הירוק ואז… איזו חגיגה! האור הכחול יבהב אחת לשניה!

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

חיבור מחדש אחרי ניתוק

החיבור מחדש הוא פשוט. אנו נוודא שב-Thonny יהיה מצד ימין למטה חיבור ל-USB שלנו ונלחץ על ctrl+c. זה הכל.

סיכום

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

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

המאמר הבא בסדרה הוא על בניית רשת אלחוטית עם ESP32.

פוסטים נוספים שכדאי לקרוא

צילום מסך של סוואגר
יסודות בתכנות

openAPI

שימוש בתשתית הפופולרית למיפוי ותיעוד של API וגם הסבר בסיסי על מה זה API

עבודה בהיי טק

איך מראיינים סניורים?

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

מיקרו בקרים

בית חכם עם ESPHome ו Home Assistant

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

גלילה לראש העמוד