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

רובר MicroPython IoT מבוסס על WEMOS D1 (ESP-8266EX): 7 שלבים (עם תמונות)
רובר MicroPython IoT מבוסס על WEMOS D1 (ESP-8266EX): 7 שלבים (עם תמונות)

וִידֵאוֹ: רובר MicroPython IoT מבוסס על WEMOS D1 (ESP-8266EX): 7 שלבים (עם תמונות)

וִידֵאוֹ: רובר MicroPython IoT מבוסס על WEMOS D1 (ESP-8266EX): 7 שלבים (עם תמונות)
וִידֵאוֹ: Start Using Wemos D1 Mini NodeMCU WiFi ESP8266 module with Arduino 2024, יולי
Anonim
Image
Image
רובר MicroPython IoT מבוסס על WEMOS D1 (ESP-8266EX)
רובר MicroPython IoT מבוסס על WEMOS D1 (ESP-8266EX)

** עדכון: פרסמתי סרטון חדש ל- v2 עם לאנס **

אני מנחה סדנאות רובוטיקה לילדים צעירים ואני תמיד מחפש פלטפורמות חסכוניות לבניית פרויקטים מסקרנים. אמנם שיבוטים של Arduino זולים, אך הם משתמשים בשפת C/C ++ שהילדים אינם מכירים. כמו כן, אין לו WiFi מובנה שהוא חובה לפרויקטים של IoT. מצד שני, למרות של- Raspberry Pi יש WIFI וילדים יכולים לתכנת אותו באמצעות Python, היא עדיין פלטפורמה יקרה לשלוט רק בכמה יציאות GPIO כדי להפעיל ולכבות מכשירים. אני צריך משהו בין לבין שיש לו יכולות WIFI וגם Python. נראה שמצאתי את התשובה שלי ב- MicroPython מהבהבת על לוח זול המבוסס על ESP8266.

מהו מיקרופיתון?

על פי אתר האינטרנט שלה, MicroPython היא יישום רזה ויעיל של שפות התכנות של Python 3 הכולל קבוצת משנה קטנה של הספרייה הסטנדרטית של Python והיא מותאמת להפעלה על בקרי מיקרו ובסביבה מוגבלת (כגון ESP8266). זה בעצם Python IDE על שבב. יתרון אחד גדול הוא שאתה יכול ליצור קוד ולשנות אותו תוך כדי תנועה באמצעות לקוח דפדפן אינטרנט בשם Webrepl. (נסה לעשות זאת בארדואינו.) תוכל גם לראות נתוני חיישנים בזמן אמת ב- Webrepl במקום להסתמך על רישום נתונים או מסך LED בארדואינו.

מהו ESP8266?

בקיצור, תחשוב על זה כעל ארדואינו עם יכולת רשת מובנית. אתה יכול להשתמש ב- Arduino IDE לתכנת לוחות ESP8266 ב- C/C ++ או שאתה יכול להבזיק אותו עם NodeMCU או MicroPython. בפרויקט זה, אני מהבהב MicroPython על לוח ESP8266.

החלטתי לרכוש WEMOS D1 המבוסס על ESP8266-12EX לפרויקט פשוט זה שבו אנווט במכונית דו-ממדית באמצעות דפדפן אינטרנט. יש לוחות אחרים שמיועדים ל- MicroPython אבל רציתי משהו זול שאוכל לזרוק אם זה לא עומד בקריטריונים שלי. כצפוי, הוא ענה על כל הדרישות שלי וסביר להניח שאשלב את WeMos ו- Micropython בפרויקטים עתידיים.

שלב 1: חלקים

חלקים
חלקים
חלקים
חלקים
חלקים
חלקים
חלקים
חלקים
  • Wemos D1 או כל לוחות מבוססי ESP8266
  • מגן מנוע (אני משתמש ב- L293D זול מ- AliExpress)
  • מחזיקי סוללות ל -4 x AA ו- 9V (4 x סוללות AA מיועדות למנועים ו- 9V ללוח Wemos)
  • שלדת מכונית דו -ממדית
  • כבלים של דופונט

אולי צריך מגהץ, מברג ואקדח דבק כדי להרכיב הכל יחד.

שלב 2: הרכבת חומרה

הרכבת חומרה
הרכבת חומרה
הרכבת חומרה
הרכבת חומרה
הרכבת חומרה
הרכבת חומרה

ראשית, הרכיב את השלדה בהתאם להוראות.

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

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

הדבק מתג קטן למחזיק הסוללות 4AA. זה יפעיל/יכבה את החשמל למגן המנוע.

שלב 3: חיווט

תִיוּל
תִיוּל
תִיוּל
תִיוּל
תִיוּל
תִיוּל

עקוב אחר תרשים החיווט שלי כפי שמוצג.

וומוס למגן מגן:

D1 IN2

D2 IN1 D3 IN4 ** דלג על D4 D5 IN3 GND -> GND

מגן מנוע למנוע/כוח:

מסוף -> מנוע שמאלי

מסוף B -> מנוע VCC ימני -> סוללה (+) GND -> סוללה (-)

שלב 4: התקנת MicroPython

ראשית, ל- Wemos יש שבב טורי/USB המבוסס על CH304G. זהו אותו שבב שנמצא בשיבוטים Arduino זולים ועליך להתקין מנהל התקן מתאים עבור Mac או PC. עקוב אחר ההוראות באתר זה להתקנת מנהל ההתקן.

חבר את Wemos למחשב שלך וודא שהמחשב שלך יכול לזהות Wemos. ב- Mac, הפעל את הפקודה הבאה ותראה מכשיר בשם /dev/tty.wchusbserial640.

$ ls -lt /dev /tty* | רֹאשׁ

crw-rw-rw- גלגל שורש 17, 4 במרץ 2 23:31 /dev/tty.wchusbserial640

אם אתה במחשב, תוכל להשתמש בהוראה זו כהפניה.

לאחר מכן, יהיה עליך להתקין את Python 2 או 3 במחשב שלך מכיוון שכלי הפלאש, esptool.py, מבוסס על Python. למרות שמדריך ה- MicroPython עשוי לציין שהכלי פועל רק עם Python 2.7, הצלחתי להריץ אותו ב- Python 3 ללא בעיות. הורד את Python העדכני ביותר מ- https://www.python.org ופעל לפי הוראות ההתקנה של המחשב האישי או ה- Mac שלך.

לבסוף, יהיה עליך להתקין את MicroPython ב- Wemos. לאתר MicroPython יש הדרכה מצוינת כיצד להתקין את MicroPython ב- ESP8266. פשוט עקוב אחר הוראות ההתקנה בסעיף תחילת העבודה עם MicroPython ב- ESP8266.

להלן פקודות בהן השתמשתי:

$ esptool.py --port /dev/tty.wchusbserial640 מחק_פלאש

esptool.py v1.3 מתחבר…. מפעיל את בדק ההברקה של ססנטה … מחיקת הבזק (זה עלול לקחת זמן) … המחיקה ארכה 10.5 שניות

$ esptool.py --port /dev/tty.wchusbserial640 write_flash -fm dio -fs 32m -ff 40m 0x00000 esp8266-20170108 -v1.8.7.bin

esptool.py v1.3 מתחבר…. מפעיל את בדק הבזק מסוג Cesanta … מצלמות פלאש שהוגדרו ל- 0x0240 כתבו 589824 בתים ב- 0x0 תוך 50.8 שניות (92.8 kbit/s) … עוזבים …

MicroPython מותקן כעת על הלוח שלך!

שלב 5: הגדרת רשת

הגדרת רשת
הגדרת רשת

בעוד MicroPython מותקן כעת ב- Wemos שלך, הוא עדיין לא מחובר לרשת שלך. יהיה עליך להפעיל תחילה את הרשת. ב- Mac, בצע את הפקודה SCREEN כדי להתחיל את הפעלת הטרמינל הטורי ל- Wemos.

$ מסך /dev/tty.wchusbserial640 115200

כאשר אתה רואה מסך ריק, לחץ על RETURN כדי לראות הנחיה:

>>

(הערה: ליציאה, הקלד CTRL-A CTRL-)

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

>> ייבא webrepl_setup

סטטוס הפעלה אוטומטית של שדון WebREPL: מושבת האם ברצונך (E) להפעיל או (D) האם הוא יכול לפעול בעת אתחול? (שורה ריקה כדי לצאת)> E כדי לאפשר WebREPL, עליך להגדיר סיסמה עבורה סיסמה חדשה: xxxxx אשר סיסמה: xxxxx השינויים יופעלו לאחר אתחול מחדש האם ברצונך לאתחל כעת? (y/n) y

לבסוף, הורד את לקוח Webrepl למחשב שלך. זה אופציונלי אך ללקוח יש כלים שימושיים אחרים שאולי תרצה להשתמש בהם בהמשך. לדוגמה, webrepl_cli.py היא פקודה להעתיק קבצים ל- Wemos בתחביר דמוי scp. השתמש ב- git כדי להוריד את הלקוח. (התקן את כלי git אם עדיין אין לך אותו.)

שיבוט git

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

קובץ: ///Users/xxxxx/wemos/webrepl/webrepl.html

זה אמור להציג את לקוח ה- webrepl בדפדפן שלך. לפני שתוכל להתחבר אליו, תחילה עליך להתחבר לנקודת הגישה WIFi שלו. אם תסתכל על WIFI זמין עבור המחשב שלך, תראה רשת שמתחילה ב- MicroPython-xxxx. התחבר לרשת ההיא. (אזהרה: ברגע שתתחבר לרשת זו תאבד את גישה לאינטרנט.)

חזור ללקוח webrepl שלך ולחץ על התחבר. זה אמור לבקש סיסמה. הזן את סיסמת Wemos שלך ועליך להתחבר.

ברוכים הבאים ל- MicroPython!

סיסמא: WebREPL מחובר >>>

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

להלן דוגמא boot.py. שנה את ה- ssid והסיסמה לרשת ה- WIFI הביתית שלך. כמו כן, אני רוצה לתת לו כתובת IP סטטית של 192.168.0.32. שנה אותו לכתובת ה- IP הזמינה הביתית שלך ב- WIFI.

boot.py (אתה יכול להוריד אותו מלמטה)

יבוא gc

יבוא webrepl def do_connect (): ייבוא רשת sta_if = network. WLAN (network. STA_IF) אם לא sta_if.isconnected (): הדפס ('מתחבר לרשת …') sta_if.active (True) sta_if.ifconfig (('192.168. 0.32 ',' 255.255.255.0 ',' 192.168.0.1 ',' 192.168.0.1 ')) sta_if.connect (' ',' ') בעוד שאינו sta_if.isconnected (): העברת הדפסה (' config config: ', sta_if.ifconfig ()) do_connect () webrepl.start () gc.collect ()

השתמש בטופס "שלח קובץ" של לקוח Webrepl כדי לשלוח את קובץ boot.py שלך ל- Wemos שלך. לחץ על כפתור האיפוס כדי לאתחל מחדש. אם אתה עדיין מחובר באמצעות USB באמצעות הפקודה SCREEN, תראה:

מתחבר לרשת … תצורת רשת: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1') שד WebREPL התחיל ב- ws: //192.168.4.1: 8266 שדון WebREPL התחיל ב- ws: //192.168.0.32: 8266 Webrepl שהתחיל במצב רגיל לא הצליח לפתוח את הקובץ 'main.py' לקריאת MicroPython v1.8.7-7-gb5a1a20a3 בתאריך 2017-01-09; מודול ESP עם ESP8266 סוג "עזרה ()" למידע נוסף. >>>

זה מאמת ש- Wemos שלך מחובר ל- WIFI הביתי שלך באמצעות ipaddress של 192.168.0.32.

אתה יכול לדפוק את כתובת ה- IP הזו כדי לאמת.

$ פינג 192.168.0.32

PING 192.168.0.32 (192.168.0.32): 56 בתים של נתונים

64 בתים מ- 192.168.0.32: icmp_seq = 0 ttl = 255 time = 9.334 ms 64 בתים מ- 192.168.0.32: icmp_seq = 1 ttl = 255 time = 11.071 ms..

שלב 6: התקן את התוכנית הראשית

התקן את התוכנית הראשית
התקן את התוכנית הראשית
התקן את התוכנית הראשית
התקן את התוכנית הראשית

לבסוף, יהיה עליך להתקין את התוכנית הראשית שתמשיך לפעול ב- Wemos שלך.

חזור לדפדפן האינטרנט שלך והפעל את תוכנית לקוח webrepl. שנה את כתובת ה- IP לכתובת ה- IP של Wemos שלך. במקרה שלי, הוא כעת 192.168.0.32. הזן את סיסמת Wemos שלך וכעת אתה אמור להיות מחובר ל- Wemos.

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

יהיה עליך ללחוץ על כפתור המנוחה כדי לטעון את התוכנית main.py. לאחר לחיצה על כפתור האיפוס, תראה:

מתחבר לרשת…

תצורת רשת: ('192.168.0.32', '255.255.255.0', '192.168.0.1', '192.168.0.1')

שד WebREPL התחיל ב- ws: //192.168.4.1: 8266 שד WebREPL התחיל ב- ws: //192.168.0.32: 8266 התחיל webrepl במצב רגיל האזנה, חבר את הדפדפן שלך אל …

המשמעות היא שתוכנית main.py שלך מופעלת ורשומה ליציאה 80.

כדי לבדוק, פתח את דפדפן האינטרנט והזן

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

שלב 7: שיפורים עתידיים

פריטי המטלות הבאים נמצאים ברשימת v2 שלי:

  • השתמש ב- PWM לשליטה על מהירות המנוע
  • שיפור ממשק האינטרנט. אולי השתמש במסגרת aREST. אני לא מאמין ש- aREST lib זמין כרגע ב- MicroPython כך שאולי אצטרך לפרוץ אותו.

תודה שקראת את המדריך הזה. עקוב אחריי בפייסבוק, ב- Youtube וב- Instructables לפרויקטים נוספים בעתיד.

מוּמלָץ: