אחד מהמיקרו בקרים המעניינים ביותר שיש הוא 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.
יש שיבוש? תקלה? אנא נסו את הפעולות הבאות:
- נתקו וחברו את המיקרו בקר שוב.
- ריסטארט למחשב.
- החליפו כבל USB.
- לנסות עם מיקרובקר אחר.
במידה וכלום לא עוזר, יש סיכוי שמשהו מפריע לתקשורת – איזה שיט אנטיוירוסי, פיירוול פנימי או קקה אחר. נסו עם מחשב אחר או נסו לראות מה רץ ברקע.
אחרי הבדיקה יש לסגור את הטרמינל.
התקנת מיקרופייתון על המיקרובקר
אני ממליץ בחום רב, עצום, אדיר ומופלא על Thonny. מדובר בעורך קוד לפייתון. נכון, רובנו משתמשים ב-PyCharm או ב Visual Studio Code אבל – מהניסיון שלי (ויש לי), ממש קל לעבוד בהתחלה עם Thonny. אני יודע שלחלקכם יש רתיעה מלהתקין עוד תוכנה על המק אבל באמת. אנא מכם, הקשיבו לי – זו תוכנה קלה, פשוטה ונעימה וכדאי ממש ומאד מאד להתקין אותה.
שלבים אלו זהים למק ולחלונות.
מתקינים את Thonny דרך האתר הרשמי שלהם.
הורדת גרסת קושחה למיקרופייתון
במקביל להתקנה, נוריד את גרסת הקושחה (Firmware) של מיקרופייתון. מיקרופייתון היא בעצם פייתון קלה ורזה המותאמת למיקרובקרים. כיוון שכל מיקרובקר שונה זה מזה בלא מעט פרמטרים – מסוג המעבד, מספר ה-GPIO (הפינים המותאמים לקלט ופלט), ההתקנים ההיקפיים (למשל פה יש לנו גם בלוטות׳ וגם וויפיי אבל באחרים אין) אז אנחנו צריכים להוריד גרסה מתאימה למיקרובקר שלנו יש. נכנס לאתר הרשמי של מיקרופייתון ונגיע לחלק ההורדות. יש שם המון תמונות וסוגים של מיקרובקרים (עשרות), אנחנו מחפשים את ESP32. הנה הקישור הישיר – אבל אם הקישור הישיר לא עובד – אז הנה הצילום של המיקרובקר שאותו אנו רוצים.
נגלול למטה ונוריד את קובץ ה-bin של ה-latest.
נשמור אותו בתיקיה כלשהי. אנחנו נשתמש בו עם Thonny.
הצריבה הראשונית של ESP32 עם מיקרופייתון.
כשנפתח את Thonny, נלחץ בצד הימני למטה על ה-Interpeter
ונבחר ב-USB שלנו. ירוץ פלט שדומה ל-Screen ואז נראה את הטקסט המלבב הבא:
זה מופיע כיוון שבמיקרו בקר אין בכלל יכולת לעבוד עם פייתון, אנחנו צריכים לצרוב עליו את הקושחה. את זה אפשר לעשות בקלות עם 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 מראה לנו ש:
- ה-Interpreter מחובר ל-USB.
- יש לי יכולת להקליד פייתון ב-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. ככל שאנו מתרגלים לעבוד עם מיקרו בקרים, אנחנו נרגיש יותר חופשיים להשתמש בכלים מתקדמים יותר. אבל בינתיים הדבר הפשוט הזה הוא מעולה.
16 תגובות
זה רק למק או מתאים גם לווינדוס?
איזה התאמות צריך לעשות בשביל לינוקס/חלונות?
הוספתי גם התאמות לחלונות
תודה רבה על ההסבר המפורט!
אני רוצה לחבר את הesp32 לארדואינו.
האם עדיף להתחיל להשתמש עם esp32 בide של ארואינו או להשתמש עם פייתון?
כמה התקורה של המיקרו פייתון ״עולה״?
האם המשאבים של הבקר לא מתחסלים בהרחבה הזו?
כי אני כבר עובד המון זמן עם הבקר הזה, דרך Arduino IDE או דרך Platform.IO, עם קוד שרץ ישירות על הבקר.
ובמקרים סבוכים, מספר רב של חיישנים, ולוגיקות מעט ״כבדות״, אני מגיע לעיתים לקצות היכולת של הבקר…
עולה, כמובן שהרבה יותר יעיל להשתמש ב-C.
אפשר לינק לאחד טוב מ aliexpress?
כאן:
https://internet-israel.com/esp32-%d7%9e%d7%90%d7%a4%d7%a1-%d7%9c%d7%99%d7%9c%d7%93%d7%99%d7%9d/%d7%9e%d7%93%d7%a8%d7%99%d7%9a-%d7%9c-esp32-%d7%9c%d7%99%d7%9c%d7%93%d7%99%d7%9d-%d7%95%d7%9c%d7%94%d7%95%d7%a8%d7%99%d7%9d-%d7%9e%d7%90%d7%a4%d7%a1/
עבור לוחות עם addressable LED:
import machine, neopixel
n = 3
p = 2
np = neopixel.NeoPixel(machine.Pin(p), n)
np[0] = (255, 0, 0)
np.write()
היי רן,
אפשר קישור ספציפי לבקר מומלץ לרכישה?
יש במאמר הראשון קישורים לציוד.
https://internet-israel.com/esp32-%d7%9e%d7%90%d7%a4%d7%a1-%d7%9c%d7%99%d7%9c%d7%93%d7%99%d7%9d/%d7%9e%d7%93%d7%a8%d7%99%d7%9a-%d7%9c-esp32-%d7%9c%d7%99%d7%9c%d7%93%d7%99%d7%9d-%d7%95%d7%9c%d7%94%d7%95%d7%a8%d7%99%d7%9d-%d7%9e%d7%90%d7%a4%d7%a1/
שלום רן ותודה על כל המאמרים המעניינים באתר.
שאלה – מה הייתרון בשימוש במיקרו פייתון לעומת כתיבת הקוד ישירות עם ארדואינו?
אפשר לכתוב ישירות את הקוד ב-++C וזה אפילו יותר טוב מבחינת ביצועים. היתרון של מיקרופייתון שהיא ממש קלה ונעים מאד להשתמש בה וגם קל יחסית להעזר ב ChatGPT עבורה.
תודה רן על כל המדריכים.
מחכימים מאוד וכתובים ברור ונחמד.
קניתי את קיט למתחילים, חיברתי למחשב (ווינדוס) ובמנהל ההתקנים לא מצאתי אותו ביציאות com אלא רק בהתקנים אחרים, למותר לציין שלא הצלחתי להתחבר אליו ב Thonny.
מחיפוש גוגל הגעתי ללינק זה https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads והורדתי את הדרייבר.
נכנסתי למנהל ההתקנים ולחצתי על ההתקן > עדכון מנהל התקן, דפדפתי לתיקיה שחילצתי לשם את הדרייברים ווינדוס זיהה את העדכון והתקין אותו, לאחר מכן הופיע לי הCOM של המכשיר במנהל ההתקנים וב Thonny.
וברוך השם הצלחתי להתקין ללא בעיות.
תודה
מדובר במדריך של אוריגמי. רק התוצאה הסופית רלוונטית, את הדרך תגלה בעצמך.
ראשית חשוב לציין שתמיד מדריכים כאלו מראים את ה Happy Path. מה קורה כשהכל עובד. אני משתדל להכניס בעיות נפוצות והסברים על תקלות שיכולות לקרות אבל בסופו של דבר תקלות אכן קורות וחלק מהדרך זה לפתור אותן. אם יש משהו שלא הצלחת – אפשר לכתוב כאן ואני אנסה לענות וגם מגיבים אחרים עונים פה שזה תמיד משמח.