תוכן עניינים:
- שלב 1: לוח ה- Wemos D1 Mini ESP8266
- שלב 2: הכנה ל- MicroPython בשבב ה- ESP
- שלב 3: תחילת העבודה עם MiPy-ESP
- שלב 4: ארכיטקטורת המסגרת MiPy-ESP
- שלב 5: הכנת קוד הפרויקט שלך
- שלב 6: עריכת והעלאת הקוד למייקרו
וִידֵאוֹ: תחילת העבודה עם Python עבור ESP8266 ו- ESP32: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
חצר
ה- ESP8266 ואחיו הגדול הצעיר ESP32 הינם שבבי Wi-Fi בעלות נמוכה עם ערימת TCP/IP מלאה ויכולת בקר בקר. שבב ESP8266 הגיע לראשונה לידיעת קהילת היצרנים בשנת 2014. מאז המחיר הנמוך (<5 דולר), יכולת ה- Wi-Fi שלו, זיכרון פלאש מובנה של 1 או 4 מגה-בתים, ומגוון פיתוחים זמינים. לוחות, הפך את שבב ה- ESP לאחד מבקרי המיקרו הפופולריים ביותר לפרויקטים של WiFi ו- IoT DIY.
MicroPython היא יישום רזה ויעיל של שפת התכנות Python הפופולרית יותר ויותר הכוללת קבוצת משנה קטנה של הספרייה הסטנדרטית של Python והיא מותאמת להפעלה על בקרי מיקרו.
השילוב של שני אלה הוא אופציה מעניינת מאוד לפרויקטים של DIY, הן למתחילים והן למשתמשים מתקדמים יותר.
פרויקט MiPy-ESP
עוד בשנת 2015 הפרויקטים הראשונים שלי עם ESP8266 התחילו עם שבב ESP-01 באמצעות Arudions להפעלת פקודות AT שבב באמצעות חיבור טורי. לאחר מכן, במהלך השנים הבאות יישמתי את ליבת ה- Arduino ל- ESP8266 לתכנות השבבים עם שפת C ++. זה עובד מצוין, אבל עבור חובב פייתון, הגילוי שלי ביישום MicroPython של Python 3 היה חדשות טובות.
פרויקט MiPy-ESP הוא מסגרת גמישה המיישמת MicroPython לפרויקטים מלאים של Python IoT במערכות מיקרו-בקרי משפחת ESP.
המסגרת מפותחת על ידי צוות מפתחי התוכנה של הוועדה הטכנית של LeGarage (LG-TC-SWDT-01) שמטרתה להחליף קוד מבוסס C ++ כבר ליישומי המיקרו-בקר שלנו.
הפרויקט מספק תכונות בסיסיות כגון
- הליכי חיבור לרשת
- שרת אינטרנט של נקודת גישה לשבבים (לחיבור WiFi והגשת דפי אינטרנט של שבבים עבור קלט/פלט נתונים)
- פונקציות MQTT
- רישום/איתור באגים
- תזמון אירועים של מיקרו -בקר
- שגרות קלט/פלט חומרה
עם סקריפט קוד אחד קומפקטי (main.py), כולם עם תצורה גלובלית (config.py).
קוד mictocontroller זה פועל עם תחזוקה חזקה של חיבורי שבבים לרשת WiFi ומתווכי MQTT. ניתן לשלב בקלות מודולים קיימים של MicroPython לחומרה שונים במערכת.
מסגרת MiPy-ESP הפכה לעמוד השדרה של כל פרויקטי ה- IoT של תחביבי האלקטרוניקה שלנו הכוללים מיקרו-בקרי משפחת ESP. הוא נבדק בכמה לוחות משפחת ESP, כמו לוחות NodeMCU, Wemos ו- Lolin.
ההדרכה הבאה היא מדריך כיצד להתחיל עם בקרי מיקרו-משפחת ESP ו- MicroPython באמצעות מסגרת MiPy-ESP.
שלב 1: לוח ה- Wemos D1 Mini ESP8266
מסגרת MiPy-ESP עובדת עם רוב המיקרו-בקרים מבוססי ESP8266.
לוח הפיתוח מיני Wemos D1 מבוסס על שבב ESP-8266EX. על טביעת רגל של 2.5 על 3.5 ס מ, הוא כולל זיכרון הבזק של 4MB, 11 סיכות כניסה/פלט דיגיטליות, כל הסיכות תומכות בהפרעה, PWM, I2C, SPI, כניסה טורית ואנלוגית אחת עם כניסה מקסימלית של 3.3V, יכולה לפעול על הספק 5V, בעל חיבור מיקרו USB והוא תואם קרש לחם. המחיר הנמוך וגודלו הקטן הפכו אותו ללוח ה- ESP האהוב עלי.
בנוסף, גרסת הלוח D1 mini pro מגיעה עם אפשרות לחיבור אנטנה חיצונית, מה שמגדיל את טווח החיבור באופן משמעותי (טווח של +100 מ '). בנוסף לכך, הלוח מגיע גם עם מגוון לוחות לוחות הארכה מחוץ לקופסה בגודל קומפקטי דומה.
שלב 2: הכנה ל- MicroPython בשבב ה- ESP
בשלב הראשון הזה, אתה תעשה זאת
- חבר את לוח ה- ESP באמצעות USB למחשב שלך
- התקן את תוכנת Esptool להבזק השבב
- מחק את זיכרון השבבים
- הבזק את השבב בעזרת הקושחה של MicroPython
- התקן את Rshell כדי לאפשר אינטראקציה של שורת הפקודה עם השבב שלך
- התקן mpy-cross (לאסוף קבצי.py לבינארי)
חיבור הלוח למחשב שלך באמצעות כרטיסי USB עם יציאת USB טורית מובנית, הופך את ה- UART לזמין במחשב האישי שלך ומהווה את האפשרות הקלה ביותר להתחיל. עבור לוחות ללא חיבור USB, ניתן להשתמש במודול FTDI עם USB לסידורי לחיבור סיכות GPIO להבהובים המחוברים לעולם החיצון, אך אין זה מכוסה במדריך זה.
עבור MicroPython באמצעות קוד MiPy-ESP, הדרישה המינימלית לגודל פלאש שבב היא 1MB. יש גם מבנה מיוחד ללוחות עם 512kB, אך אין לזה תמיכה במערכת קבצים, בה MiPy-ESP תלוי.
בעת שימוש בכבל USB, הלוח מופעל על ידי המחשב שלך בעת חיבורו. זה מאפשר גם תכנות וניפוי באגים על החיבור הטורי. כאשר קוד הפרויקט מועלה והפרויקט שלך נפרס, כוח חיצוני מופעל על סיכות אספקת החשמל של הלוח.
התקנת EsptoolInformation אודות תוכנת Esptool ניתן למצוא במאגר Esptool GitHub. אם אתה רוצה להשתמש ב- Windows/Linux/OSX (MAC), הקישור למעלה מכסה גם את זה. ניתן להתקין את חבילת Python על ידי
pip להתקין esptool
עבור משתמשי לינוקס, חבילות עבור Esptool נשמרות עבור דביאן ואובונטו, וניתן להתקין אותן גם עם
sudo apt להתקין esptool
מחיקת זיכרון פלאש ESP באמצעות Esptool, לאחר מכן אתה מוחק את זיכרון הבזק ESP באמצעות הפקודה
esptool.py --port /dev /ttyUSB0 מחק_פלאש
הורדת הקושחה של MicroPyton קושחת ה- MicroPython נמצאת בקובץ.bin שניתן להוריד מאתר MicroPython.
ענף המאסטר הנוכחי של הפרויקט של הריפו נבדק והוא פועל עם Micropython v.1.12. על מנת להבטיח הצלחה במסגרת MiPY-ESP, הורד את הקובץ 'esp8266-20191220-v1.12.bin' מקישור זה וכתב את הקושחה לשבב באמצעות הפקודה:
esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = לזהות 0 esp8266-20191220-v1.12.bin
חבילת Rshell מאפשרת אינטראקציה בין שורת הפקודה עם סביבת ה- MicroPython שלך המותקנת על השבב. אפשר למצוא אותו בקישור הזה. Rshell היא קליפה פשוטה הפועלת על המארח ומשתמשת ב- raw-REPL של MicroPython כדי לשלוח קטעי פייתון אל לוח המערכת על מנת לקבל מידע על מערכת קבצים ולהעתיק קבצים ממערכת הקבצים של MicroPython וממנה. REPL מייצג Read Evaluate Print Loop, והוא השם שניתן לפקודת MicroPython האינטראקטיבית שאליה ניתן לגשת ב- ESP8266. השימוש ב- REPL היא ללא ספק הדרך הקלה ביותר לבדוק את הקוד ולהפעיל פקודות. התקן את Rshell באמצעות הפקודה:
sudo pip התקן rshell
ניתן ליישם את התקנת המהדר mpy-cross MicroPython עם קבצי ascii.py שהועלו למערכת הקבצים של השבבים. MicroPython מגדיר גם את הרעיון של קבצי.mpy שהוא פורמט קובץ מיכל בינארי המכיל קוד שנערך מראש ואפשר לייבא אותו כמודול רגיל של py. על ידי איסוף קבצי.py ל-.mpy, זיכרון RAM נוסף יהיה זמין עבור קוד הריצה שלך - וזה נחוץ כדי שיהיה לך מודול ליבה מתפקד של MiPy -ESP.
לפריסת קוד MiPy-ESP, מהדר הצלב של mpy-cross MicroPython אוסף את הסקריפטים של.py ל-.mpy לפני העלאת שבבים. התקן את חבילת mpy-cross לפי ההוראות שבקישור זה. לחלופין, ניתן להתקין את הפקודה mpy-cross באמצעות פקודת Python pip או להריץ מנתיב התיקיות mpy-cross אם תשכפלו את מאגר ה- MicroPython מ- GitHub כאן.
כעת מותקן אצלך MicroPython וכל הכלים הדרושים כדי להתחיל בבניית פרויקט ה- MiPy-ESP הראשון שלך
שלב 3: תחילת העבודה עם MiPy-ESP
בשלב זה תוכל
הורד את מסגרת MyPy-ESP
הורדת מסגרת MiPy-ESP פרויקט MiPy-ESP ניתן למצוא ב- GitHub במאגר קוד זה. מ- GitHub אתה יכול להוריד את מבנה הקבצים של המאגר, או לשכפל אותו למחשב שלך על ידי
שיבוט git
כאשר מאגר הקוד מותקן במחשב שלך, כעת יש לך את כל מודולי הקוד הדרושים לך לבניית פרויקט ESP IoT מחוץ לקופסה. פרטים נוספים על ארגז הכלים בשלב הבא.
שלב 4: ארכיטקטורת המסגרת MiPy-ESP
בשלב זה תוכל
למד אודות זרימת העבודה של קוד MiPy-ESP
ארכיטקטורת קוד MiPy-ESP
כל מודולי המסגרת של פייתון נמצאים בתיקייה /src של מאגר הקוד MiPY-ESP. תיקיית src/core מכילה את מודולי הליבה הנכנסים לכל פרויקט. בתיקיית src/drivers יש מבחר מודולים לחומרה שונות לחיבור לשבב שלך. תיקיית src/utilities מכילה מודולי שירות אופציונליים לכלול בפרויקט שלך.
הקבצים main.py ו- config.py נמצאים בתיקייה src/. אלה הקבצים העיקריים לעריכה לבניית הפרויקט שלך:
config.py:
קובץ זה הוא קובץ התצורה הגלובלי של הפרויקט שלך. יש לו הגדרות שונות, כולן עם הערות תיאוריות בקובץ.
main.py:
זהו התסריט העיקרי של לולאת הקוד של מיקרו-בקר. הוא מכיל את הקוד הספציפי ליישום במסגרת. בעת אתחול שבבים, main.py מפעיל ומייבא את כל המודולים התלויים בפרויקט עם תשומות נתונות מהקובץ config.py. תרשים הזרימה לעיל מציג את הפריסה של התסריט main.py.
האיור למעלה מתאר את זרימת העבודה של main.py:
- בעת האתחול, הקוד מנסה לחבר את השבב לרשת Wi-Fi רשתות שהוחלו בעבר וסיסמאותיהן (מוצפנות על שבב) מאוחסנות בזיכרון פלאש. ניתן להקצות SSID של רשת וסיסמאותיהם בקובץ wifi.json בתבנית {" SSID1 ":" סיסמה "," SSID ":" סיסמה 2 "}. הרשתות הנתונות בקובץ זה מאוחסנות, סיסמאות מוצפנות והקובץ נמחק בעת האתחול.
- אם לא נמצאו רשתות שיודעות, הקוד מגדיר שרת אינטרנט של נקודת גישה (SSID) ושרת הסיסמה של שרת AP שבב מוגדרות בקובץ config.py. על ידי כניסה ל- SSID השבב, דף אינטרנט לכניסה של השבב ל- Wi-Fi מוגש ב- 192.168.4.1. רשתות מזוהות מוצגות בתפריט, או שניתן להזין SSID באופן ידני (רשתות נסתרות) יחד עם סיסמת Wi-Fi. לאחר חיבור מוצלח של השבב ל- Wi-Fi, שרת ה- AP נכבה וקוד main.py ממשיך לשלב הבא.
-
בחלק ההתקנה של main.py,
- מוגדרות פונקציות למשרות והתקשרויות (וכו 'שיחות MQTT) ואירועים קבועים.
- מוגדרות עבודות מתוזמנות שונות להפעלת פונקציות.
- לקוח מתווך MQTT הוקם
-
הקוד נכנס אז ללולאה הראשית של מיקרו-בקר,
- בדיקה רציפה של חיבורי תיווך רשת ו MQTT,
- מנויי MQTT,
- קלט/פלט חומרה
- ומשרות מתוזמנות.
- לאחר חיבור לאינטרנט או מתווך MQTT, הקוד מנסה להקים מחדש.
שלב 5: הכנת קוד הפרויקט שלך
בשלב זה תוכל
- למד על מבנה הקבצים של מאגר MiPy-ESP
- הכינו את קוד הפרויקט שלכם להעלאת שבבים
מבנה תיקיית המאגר האיור לעיל מתאר את מבנה תיקיות המאגר ומפרט את המודולים הנוכחיים של המסגרת. הפרויקט שלך נמצא בשלבים בתיקייה src/. מודולי מסגרת Core MiPy-ESP שוכנים ב- src/core, מודולי שירות אופציונליים ב- src/utilities ומודולי חומרה ב- src/drivers.
רוב ספריות החומרה הזמינות של MicroPython יכולות להיכנס לנהגים/ לתיקייה ללא כל שינוי. כל מנהלי ההתקנים הנוכחיים נבדקים במסגרת MiPy-ESP. לגבי מודולים בכלי השירות/ תיקיה, יתווספו עוד כשיגיעו לחיים.
הצגת קוד הפרויקט יש להציב את הקוד הספציפי לפרויקט שלך בתיקייה src/. כבר שם הקבצים main.py ו- config.py שאתה יכול לערוך. העתק גם את כלי הפרוייקט המבוקשים מ- src/utilities ו- src/drivers אל src/.
במקרה שתרצה לספק רשתות Wi-Fi וסיסמאות ידועות לשבב, הוסף את הקובץ wifi.json ל- src/.
הידור והתכוננות להעלאה ניתן ליישם Makefile בתנאי להכנת קבצים להעברה לשבב על ידי איסוף קבצי.py ב- / src, הידור מודולי הליבה והעברת הקבצים המורכבים לתיקייה חדשה בשם build / על ידי הפקודה
לעשות בנייה
הקבצים בבנייה מוכנים להעלאה למערכת הקבצים של השבבים. כברירת מחדל, main.py ו- config.py אינם מורכבים לבינארי, על מנת לגשת אליהם בקלות לבדיקת שבבים שנפרסים. הפקודה:
לעשות נקי
מוחק את המבנה/ התיקיה ואת תוכנו.
שלב 6: עריכת והעלאת הקוד למייקרו
בחלק זה תוכל
- העלה את הקבצים המוכנים בקטע build/ מהקטע האחרון
- התחל ופקח על קוד ההפעלה
העלאת build/ קבצים באמצעות Rshell
העלה את כל הקבצים בספריית /בנה לשבב ESP באמצעות Rshell. כאשר המיקרו -בקר מחובר ל- USB, מהבנייה/ התיקיה התחל את Rshell עם הפקודה
rshell -p /dev /ttyUSB0
לאחר מכן בדוק את קבצי השבבים (אם קיימים) על ידי
ls /pyboard
ניתן למחוק את כל הקבצים בשבב על ידי
rm /pyboard/*.*
העתק את כל קבצי הפרויקט בבנייה/ לשבב:
cp *. * /pyboard
לאחר מכן הפעל את מסוף ה- Python האינטראקטיבי על ידי הפקודה
repl
כעת תוכל להפעיל פקודות Python או לייבא מודולים ולפקח על פלט סידורי של שבבים ממודול לוגר MiPy-ESP.
הפעל מחדש את השבב על ידי לחיצה על כפתור האיפוס, או משורת הפקודה על ידי
ייבוא עיקרי
אוֹ
מכונת יבוא
ואז
machine.reset ()
בהתאם להגדרות הרישום/איתור באגים שלך בקובץ תצורת הפרויקט, המציג יציג כעת הודעות באגים משבב ה- ESP בחיבור הטורי.
זה בתקווה שאכן יתחיל אותך.
מוּמלָץ:
תחילת העבודה עם WeMos ESP8266: 6 שלבים
תחילת העבודה עם WeMos ESP8266: במדריך זה אנו הולכים להריץ את דוגמת ה- Led המהבהבת ב- WeMos ESP8266
תחילת העבודה עם ערכת שולחן העבודה של Raspberry Pi 4: 7 שלבים
תחילת העבודה עם ערכת שולחן העבודה של Raspberry Pi 4: Raspberry Pi 4 הוא מחשב מיני קטן וחזק, עם תמיכה במסך כפול 4K, USB 3.0, מעבד חדש ו- GPU ועד זיכרון RAM בנפח של עד 4GB. למד כיצד להגדיר את Raspberry Pi 4 דגם B ולהתקין כל מה שאתה צריך כדי להשתמש ב- fu
תחילת העבודה עם Amazon AWS IoT ו- ESP8266: 21 שלבים
תחילת העבודה עם Amazon AWS IoT ו- ESP8266: פרויקט זה מראה לך כיצד לקחת את מודול ESP8266 ולחבר אותו ישירות ל- AWS IOT באמצעות מערכת ההפעלה Mongoose. מערכת ההפעלה Mongoose היא מערכת הפעלה של קוד פתוח עבור בקרי מיקרו ששמה דגש על קישוריות ענן. הוא פותח על ידי Cesanta, דבלין
תחילת העבודה W/ NodeMCU ESP8266 ב- Arduino IDE: 6 שלבים
תחילת העבודה W/ NodeMCU ESP8266 ב- Arduino IDE: סקירה במדריך זה, תלמד כיצד להשתמש ב- NodeMCU ב- Arduino IDE מה שתלמד מידע כללי על NodeMCU כיצד להתקין לוחות מבוססי ESP8266 על Arduino IDE כיצד לתכנת NodeMCU על לוחות IDEI בשימוש
תחילת העבודה עם קידוד מבוסס דפדפן MBlock עבור HyperDuino: 3 שלבים
תחילת העבודה עם קידוד מבוסס דפדפן MBlock עבור HyperDuino: ברוכים הבאים להדרכה מבוססת האינטרנט של mBlock עם HyperDuino. זה יראה לך כיצד להגדיר mBlock ולהעלות את הקוד שלך ל- HyperDuino שלך. זה גם יראה לך כיצד ליצור קוד בסיסי גם לרכב חכם. כדי להתחיל אפשר לקפוץ ישר פנימה