במאמרים הקודמים דיברנו על מיקרופייתון ו-ESP32 וגם על רשת WiFi פרטית. אבל אפשר לעשות עם ESP32 הרבה יותר – כמו מאריך טווח או repeater או רשת נפרדת שגם מעבירה WiFi אבל היא נפרדת לגמרי. וכל זה עם ממשק מגניב וכיפי.
בניגוד לסקריפטי פייתון, במקרה הזה יש לנו קושחה שנכתבה ב-++C שעושה את זה. כל מה שאנחנו צריכים לעשות זה לצרוב את הקושחה על ה-ESP32. כיוון שזה לא בפייתון, יהיה יותר טוב כבר ללמוד על הדרך את הכלי המצויין של Espressif לניהול ESP32- הלא הוא esptool.py.
איך מתקינים אותו? אם יש לכם פייתון במחשב (ויש לכם, יחד עם pyenv ופואטרי – נכון?) אז אפשר להתקין אותו בפרויקט רגיל עם pip install esptool. יש כאן הוראות התקנה מפורטות גם לחלונות. זה לא מסובך במיוחד אם יש לכם סביבת פייתון. שימו לב שאתם צריכים פייתון בגרסה 3.7 וצפונה. עדיף כמובן 3.11.
כאשר אתם יכולים להקליד esptool.py -h ולקבל תוצאות. זה הזמן להתחבר ולעבוד. נחבר את ה-ESP32 למחשב ונראה מה הפורט שלו. במק ובלינוקס זה באמצעות הפקודה הזו בטרמינל:
esptool.py -h
אצלי למשל זה
/dev/cu.usbserial-0001
בחלונות אנו נכנס אל ה-Device Manager – פשוט להקליד את זה בחיפוש. אנו נפתח את החלק של Ports (COM & LPT) ונראה מה מספר ה-COM של ה-ESP32. זה למשל יכול להיות COM3.
אחרי שהבנו באיזה USB פיזי ה-ESP32 נמצא, זה הזמן להתחבר אליו. אם התקנתם קושחה, אפשר ורצוי לבדוק את החיבור באמצעות הקלדת הפקודה:
esptool.py --port /dev/cu.usbserial-0001 chip_id
החליפו את ״/dev/cu.usbserial-0001״ בכתובת שלכם כמובן. אנו נקבל בתגובה את סוג השבב או את ה-mac address שלו. למשל:
הצליח לכם? מעולה! לא הצליח – שימו לב לדברים הבאים:
- יש לכם פייתון על המחשב מגרסה 3.9 באמצעות הפקודה python –version. אין לכם? זו הבעיה.
- כשאתם מקלידים esptool.py -h אתם מקבלים תוצאה. אם יש שגיאה – בידקו את ההתקנה שלכם.
- כשהפורט הוא באמת הפורט של ה-ESP32. איך מוודאים? מנתקים את הכבל – הוא נעלם? מעולה. לא נעלם? אולי טעיתם.
אפשר לעשות הרבה דברים מעניינים אבל אנחנו נצרוב גרסת קושחה של ה-extender. הקושחה היא בפרויקט גיטהאב.
אפשר לעשות git clone או להוריד את הזיפ של הפרויקט. כך או כך, אחרי ההורדה הכנסו לתיקיה הראשית של הפרויקט אצלכם והקלידו בזמן שאתם לוחצים על כפתור ה-boot:
esptool.py --chip esp32 \
--before default_reset --after hard_reset write_flash \
-z --flash_mode dio --flash_freq 40m --flash_size detect \
0x1000 build/esp32/bootloader.bin \
0x8000 build/esp32/partitions.bin \
0x10000 build/esp32/firmware.bin
אם הכל יעבוד כמו שצריך, תראו ״Writing at 0x000c54ea… (81 %)״ והאחוזים יתחילו לעלות. צריך להמתין כמה דקות עד שזה מסתיים.
כשהכל עובד – תוכלו לראות את הרשת ESP32_NAT_Router ואז להתחבר אליה עם הלפטופ או עם הטלפון.
היא תהיה ללא אינטרנט ואנו נצטרך להכנס לממשק הפנימי שלה. איך? נתחבר לרשת ונכנס אל http://192.168.4.1. אנו נגיע לממשק הניהול.
נוכל להחליף שם את שם הרשת ויותר חשוב – להזין את פרטי הרשת שאותה אנו רוצים להרחיב או להתחבר אליה. אחרי שנעשה את זה ונשמור, ה-ESP32 ירוסט ואחרי כמה שניות גם הלד הכחול וגם הלד האדום יידלקו – סימן שהאינטרנט עובד כמו שצריך. אנו יכולים להתחבר אליו ויש לנו סוג של Extender.
הוא תומך בעד 15 מגהביט אז לא הייתי מעמיס עליו את הנטפליקס אבל לדברים קטנים יותר הוא מהמם. תחשבו על שטח חקלאי למשל.
אפשר לתקשר איתו גם עם טלנט אבל גם ישירות דרך החיבור של ה-USB. אם יש לכם מק זה הכי פשוט בעולם:
screen /dev/cu.usbserial-0001 115200
אם יש לכם חלונות, תצטרכו להשתמש ב-PuTTY ולהשתמש ב-com המתאים כדי להתחבר ולהזין.
כך או כך, תגיעו לממשק שבו אפשר להזין פקודות. הקלדה על help תראה לכם בדיוק איזה. למשל show stat.
טוב, יש עוד הרבה תעלולים שאפשר לעשות עם זה אבל אפשר לסכם שלמדנו על עוד שימוש נחמד לצ׳יפ הזה שעולה כולה 4 דולר וגם על איך מתקשרים ישירות עם ESP32 בלי הטובות של Thonny החביב או ממשק זה או אחר.
רק הערה: לא הייתי בונה על זה לתשתית אינטרנט רצינית. אם אתם מחפשים extender למטרות שהן לא IoT או אחרות אלא ממש לתשתית בבית – אני ממליץ לכם על הפוסט שלי על בניית רשת בבית.
אחרי שלמדנו את זה – השלב הבא הוא ללכלך את הידיים עם IoT ולחבר ציוד פיזי ל-ESP32!
תגובה אחת
אצלך – "הוא תומך בעד 15 מגהביט"
בפרויקט – "It can achieve a bandwidth of more than 15mbps."