- מהו ESP8266?
- יסודות תורת WiFi:
- סוגי תכנות עם ESP8266:
- חומרה לתכנית מודול ESP8266:
- חומרים נדרשים:
- הסבר מעגל:
- לוח הבניין לתכנית ESP8266:
האינטרנט של הדברים ואוטומציה ביתית היה ממש נושא בימים האחרונים. לבנות משהו בעצמנו שיכול לתקשר עם הרשת העולמית וניתן לגשת אליו מכל מקום בעולם, באמת נשמע מגניב, לא?
אבל חכה!!! זה גם נשמע מסובך ???….
כך עשה זאת עבורי, חשבתי שייקח זמן ומיומנות אדירים לבנות דברים שיכולים לתקשר עם האינטרנט. לא, טעיתי לחלוטין, הודות למודול הפנטסטי הזה שנקרא ESP8266 מבית Espressif Systems. כעת תוכלו לפתוח בקלות את דלתותיכם עבור פרויקטים של IoT בעזרת מודול זה. מודול בגודל קטן בעלות נמוכה זה יכול לחולל פלאים והוא ממש פשוט וקל לשימוש, בתנאי שנבצע את הצעדים הנכונים.
מדריכים אלו נועדו להציג בפניכם את המודול ESP8266-01 הזה ולעזור לכם להתחיל בעבודה. אולי כבר הבאת את המודול שלך ונתקעת כשניסית להשתמש בו. ואז, אתה לא לבד אל תדאג, אנשים רבים מתקשים מאוד להתחיל עם המודול מכיוון שאין הדרכה או תיעוד מתאים למודול זה. זו הסיבה להכנת הדרכה זו. עקוב אחר ההוראות כאן ותוכל להיות מסוגל להפעיל את מודול ה- ESP8266-01 שלך תוך זמן קצר, כאן נשתמש ב- FTDI USB למודול מתאם סידורי TTL לתכנות ה- ESP8266. בדוק את הסרטון המפורט בסוף ההדרכה.
לפני שנכנס לנושא נוכל לכסות כמה יסודות על המודול ESP8266-01.
מהו ESP8266?
רוב האנשים קוראים ל- ESP8266 כמודול WIFI, אך למעשה מדובר במיקרו-בקר. ESP8266 הוא שמו של המיקרו-בקר שפותח על ידי Espressif Systems שהיא חברה שמבוססת על שנחאי. למיקרו-בקר זה יכולת לבצע פעילויות הקשורות ל- WIFI ולכן הוא נמצא בשימוש נרחב כמודול WIFI.
ישנם סוגים רבים של מודול ESP8266 זמין החל מ ESP8266-01 ועד ESP8266-12. זה שאנחנו משתמשים בהדרכה הוא ה- ESP8266-01 מכיוון שהוא הזול ביותר וזמין בקלות. עם זאת, בכל מודולי ה- ESP יש רק מעבד ESP מסוג אחד, מה ששונה זה רק סוג הפסיכולוג המשמש. בלוח הפריצה של ESP8266-01 יהיו רק 2 סיכות GPIO ואילו בלוחות אחרים הוא יהיה גבוה יותר.
המפרט המלא של המודול ניתן בטבלה שלהלן
מתח |
3.3 וולט |
צריכה נוכחית |
10uA-170mA |
צריכת זרם מקסימאלית במהלך ההבהוב |
800mA |
זיכרון פלאש |
16MB (512K רגיל) |
מעבד |
טנסיליקה L106 32 ביט |
מהירות המעבד |
80-160 מגה-הרץ |
RAM |
32K + 80K |
GPIO |
17 (אבל רובם מרובים) |
ממיר מאנלוגי לדיגיטלי |
1 (10 סיביות) |
חיבורי TCP מרביים |
5 |
בסדר כמה דברים שיכלו להפתיע אתכם לגבי המפרט הוא, כן, המודול ESP8266 מגיע עם ממיר ADC והוא אכן צורך זרם גבוה מאוד של 0.8A במהלך הבהוב המכשיר.
בדוק גם את פרויקטי ה- IoT המעניינים השונים המבוססים על ESP8266.
יסודות תורת WiFi:
פרוטוקול בקרת העברה (TCP), פרוטוקול אינטרנט (IP), פרוטוקול Datagram של משתמשים (UDP), נקודת גישה (AP), תחנה (Sta), מזהה ערכת שירותים (SSID), ממשק תכנות יישומים (API), שרת אינטרנט…..
האם כל המונחים שלעיל הגיוניים לך?
אם כן. ואז, BINGO תוכל לקפוץ לחלק זה ולעבור לחלק הבא.
אם לא. אז אתה חייב להיות אחד מבין תלמידי החשמל הרבים שפשוט מצמצו דרך רוב המונחים האלה בדיוק כמו שעשיתי כאשר התוודעתי לראשונה לכל הדברים האלה. אז בואו נעבור במהירות על כל המונחים האלה כי רק אז נוכל לעשות את כניסתנו לעולם ה- IOT.
פרוטוקול בקרת העברה (TCP):
רובנו נדע מה זה אומר. כן, אלה סט החוקים שעל פיהם פועל האינטרנט. מאז ל- ESP8266 יש אפשרות להגדיר חיבורי WIFI. ברמה גבוהה Wi-Fi היא היכולת להשתתף בחיבורי TCP / IP באמצעות קישור אלחוטי. אתה יכול לגרום ל- ESP שלך לעבוד על פרוטוקול TCP / IP או על פרוטוקול UDP.
פרוטוקול Datagram של משתמשים (UDP):
UDP הוא גם סוג אחר של פרוטוקול אינטרנט. סוג תקשורת זה מהיר יותר מ- TCP אך הוא פחות מדויק. הסיבה היא ש- TCP משתמש באישור במהלך תקשורתו אך UDP לא. TCP משמש בעיקר ברשתות בהן יש דרישה לאמינות גבוהה. UDP משמש במקומות שבהם יש עדיפות גבוהה למהירות מאשר לאמינות. לדוגמא UDP משמש בשיחות ועידה בווידאו, מכיוון שגם שם אם חלק מהפיקסלים לא מועברים זה לא ישפיע כל כך על איכות הווידיאו אבל המהירות חשובה מאוד.
רוב הפרויקטים והקודים של ESP8266 עובדים סביב ה- TCP / IP, UDP יהיה הכי מוטרד.
נקודת גישה (AP) ותחנה (STA):
ברגע שתתחיל לעבוד עם מודול ESP, היית נתקל בשני מונחים אלה לעיתים קרובות. נניח שאתה וחברך תרצה לגלוש באינטרנט בטלפונים החכמים שלך, אך מכיוון שאין לו חיבור אינטרנט פעיל אתה מחליט להפעיל את הנקודה החמה שלך וחברך מתחבר אליו. כאן הטלפון שלך שמקור את חיבור האינטרנט הוא נקודת הגישה (AP) והטלפון של חברך המשתמש באינטרנט נקרא Station (STA).
ניתן להשתמש במודול ESP8266 בשלושה מצבים, מצב AP, מצב STA או במצב STA וגם במצב AP (בשילוב).
מזהה מערך שירות (SSID):
זהו מונח פשוט למדי. כמעט כולנו השתמשנו ב- WIFI. שמה של רשת ה- Wi-Fi נקרא SSID שלה. כשיש לנו מספר נקודות גישה לתחנה להתחבר אליה, התחנה צריכה לדעת לאיזו נקודת גישה היא צריכה להתחבר, ולכן כל נקודת גישה (AP) מקבלת זהות הנקראת SSID.
ממשק תכנות יישומים (API):
במילים פשוטות, API הוא שליח שלוקח את הבקשות שלכם, מעבד אותו ומחזיר למערכת את התוצאה הרצויה. רוב הפעילויות שאנו מבצעים באינטרנט משתמשות בממשקי API, כמו בעת הזמנת טיסה, רכישה מקוונת וכו '. כל אתרים מקשרים אותך לממשק API שבו חלק מהעבודה כמו הרשמה, תשלום וכו' נעשים עבורך שם.
ESP8266 משתמש ב- API כדי לדבר עם עולם האינטרנט. למשל אם היא רוצה לדעת את השעה, האקלים או כל מה שהיא צריכה לבקש בצורה של API לאתר המקביל. אתר זה יקבל את הבקשה ויחזיר את התוצאה הרצויה למודול ה- ESP שלנו.
שרת אינטרנט:
שרת אינטרנט הוא דבר שאחראי להציג את תוכן האתר. כל התכנים של אותו אתר מסוים יועברו לשרת האינטרנט שלו. ישנם מחשבים ייעודיים שתפקידם לפעול רק כשרת אינטרנט. אנו יכולים גם לתכנת את ה- ESP8266 שלנו לעבוד כשרת אינטרנט ולהתחבר אליו מכל מקום בעולם.
אוקיי, זה מספיק בשבילנו להתחיל. עכשיו, הבה נניח את ידינו על החומרה.
סוגי תכנות עם ESP8266:
ישנן שתי דרכים לעבוד עם המודול ESP8266 שלך. מדריך זה יעזור לך להתחיל עם שניהם. דרך אחת היא באמצעות פקודות AT. הדרך השנייה היא באמצעות IDE של ארדואינו. תן לנו להבין מה זה אומר.
כל המודולים של ESP8266 שנשלחו מהמפעל יותקנו בו קושחת ברירת מחדל (SDK + API). קושחה זו תעזור לך לתכנת את מודול ESP8266 באמצעות פקודות AT.
הדרך השנייה היא על ידי תכנות ישיר של מודול ESP8266 באמצעות Arduino IDE (לוח לא נחוץ) וספריותיו. ניתן לבצע את כל הפרויקטים בשתי השיטות. אבל אם אתה מתחיל להשתמש ב- Arduino IDE לתכנות ה- ESP8266 שלך, ייתכן שלא תוכל להשתמש בפקודות AT מכיוון ש- SDK המוגדר כברירת מחדל היה פגום. במקרה כזה אתה צריך להבהב את ה- ESP שלך עם הגדרות ברירת מחדל. אנו נסקור זאת במדריך אחר.
חומרה לתכנית מודול ESP8266:
ESP8266 הוא מודול מסוף 8. הסיכה מאותה מוצגת להלן.
למרבה הצער, מודול זה אינו ידידותי לקרש לחם ולכן איננו יכולים לעלות אותו ישירות על קרש הלחם שלנו. כמו כן בניגוד Arduino זה לא חייב מובנה USB כדי נהג סידורי; לפיכך עלינו להשתמש ב- "FTDI USB to TTL Module Serial Module" כדי לתקשר איתו. וודא כי לוח FTDI יכול לפעול גם ב -3.3 וולט; זה שאנחנו משתמשים בהדרכה זו מוצג להלן.
כעת, כידוע עלינו להפעיל את ה- ESP8266 עם 3.3 וולט. אך הצריכה הנוכחית היא 0.8A, כך שהיא עשויה שלא לעבוד כצפוי אם היא מופעלת מלוח הפריצה FTDI שלנו. לפיכך עלינו לבנות מעגל הפעלה משלנו. כאן השתמשנו ב- LM317 למטרה המפעילה; הפרטים להכנת החומרה המלאה ניתנים לסעיפים מאוחרים יותר.
חומרים נדרשים:
- לוח Perf
- ESP8266-01
- מועצת הפריצות של FTDI
- LM317
- 0.1uf קבלים
- 10uf קבלים
- ג'ק חבית
- ברגסטיק זכר ונקבה
- לחץ על הכפתור
- חוטי חיבור
- מתאם 12V להפעלת הלוח.
הסבר מעגל:
שרטוטים של הלוח מוצגים להלן
חלקם אולי ניסו להפעיל את ה- ESP שלך ישירות מה- FTDI שלך וגרם לו לעבוד, אך להלן הסיבות לבנות לוח משלך עם כמה רכיבים נוספים:
- רק מעט לוחות FTDI יכולים לספק מספיק זרם עבור מודול ESP. מעטים ממודולי ESP שעלולים לצרוך זרם גבוה מהאחרים במהלך ההבהוב. לפיכך תמיד בטוח שיהיה לך מקור כוח משלך, ויהיה קל יותר לשלב מעגל הפעלה בלוח הנקודות במקום קרש לחם.
- עלינו תמיד לאפס את מודול ה- ESP לפני העלאת הקוד, בניית לוח משלנו יעזור לנו לאפס את המודול בקלות. השתמשנו בלחיצת כפתור כדי לאפס את ESP8266.
- את סיכת ה- GPIO0 יש לקרקע בעת תכנות באמצעות Arduino ויש להשאיר אותה חופשית בעת שימוש בפקודות AT, ניתן בקלות לעבור בין אם אנו בונים לוח משלנו. השתמשנו במגשר למעבר בין מצב פקודות AT ומצב תכנות IDE של Arduino.
- כל התכנות מתבצע באמצעות תקשורת טורית , אם אתה משתמש בקרש לחם כמה מסופים רופפים עלולים לגרום לשגיאה במחצית הדרך ולהכריח אותנו להבהב את המודול לעבוד איתו שוב.
עם זאת נאמר תוכלו לבחור בין שימוש בלוח לחם לבין הכנת לוח משלכם לתכנות המודול. אם אתה עדיין רוצה להשתמש בקרש הלחם, ניתן לבנות את המעגל המוצג לעיל באמצעות קרש הלחם שלך. רק המראה יהיה שונה, כל שאר ההוראות במדריך זה יחולו באותה מידה.
לוח הבניין לתכנית ESP8266:
אז הנה אנו בונים את הלוח לתכנת מודול ESP8266 שיש לו מעגל הפעלה משלו להפעלת ESP8266.
כאמור המודול שלנו ידרוש כ- 800 mA במהלך התכנות שלו. לפיכך בנינו מודול חשמל משלנו באמצעות ווסת מתח משתנה LM317 מכיוון שזרם המקור של LM317 הוא כמעט 1.2A. מתח הכניסה של LM317 יהיה 12 וולט אשר יינתן באמצעות מתאם הרכבה בקיר 12V 2A. הפלט של ה- LM317 יוסדר ל -3.3 וולט ללא הרף על ידי שימוש בנגדים של 220ohm ו- 360ohm. בדוק גם במעגל מטען הסוללות שלנו באמצעות LM317 למידע נוסף על LM317.
הנוסחאות לחישוב מתח המוצא של LM317 מפורטות להלן:
Vout = 1.25 * (1+ (R2 / R1))
איפה, R1 הוא 220 אוהם ו- R2 הוא 360 אוהם.
מודול ESP8266 מחובר לפי הסיכות המוצגות בטבלה שלהלן.
מספר סיכה |
שם הסיכה של ESP |
מחובר ל |
1 |
קרקע, אדמה |
הקרקע של מודול FTDI |
2 |
GPIO2 |
נותר חופשי או מחובר למקל ברג לשימוש עתידי |
3 |
GPIO0 |
עבור למעבר בין מצבי תכנות |
4 |
Rx |
טקס של מודול FTDI |
5 |
טקס |
Rx של מודול FTDI |
6 |
CH_PH |
3.3 וולט מ- LM317 |
7 |
אִתחוּל |
לחצן לאיפוס המודול |
8 |
Vcc |
3.3 וולט מ- LM317 |
כדי לעבור בקלות בין מצב הפקודה AT למצב התכנות Arduino הנחתי מתג (מגשר) שימשוך את ה- GPIO 0 לקרקע בעת שימוש ב- Arduino IDE וישאיר אותו צף בעת שימוש בפקודות ה- AT.
יש כפתור לחיצה שכאשר לוחצים עליו יאפס את מודול ה- ESP. זה נעשה על ידי חיבור פשוט של סיכת RST של מודול ESP למסילה הקרקעית באמצעות כפתור הלחיצה. בכל פעם לפני שאנחנו מתכנתים את מודול ה- ESP שלנו עלינו לאפס אותו.
לאחר שהרכבתם את המעגל הוא אמור להיראות ככה למטה.
השתמשתי בלוח Perf אבל אתה יכול גם להשתמש בקרש לחם אם אתה מעוניין (כפי שפורט לעיל). הבנייה וההסבר המלא מוצגים בסרטון להלן.
לאחר שסיימת עם החיבורים. הפעל את הלוח ללא לוחות ESP ו- FTDI ובדוק אם אנו מקבלים 3.3 וולט כראוי על מסופי ה- Vcc והארקה של מיקום המודולים ESP. כעת וודא כי לוח ה- FTDI שלך נמצא במצב 3.3V וחבר את המודולים FTDI ו- ESP שלך ללוח שלך.
הפעל את המתאם שלך וחבר אותו ללוח שלך, מודול ה- ESP אמור להאיר בצבע אדום.
ואז חבר את לוח ה- FTDI למחשב שלך באמצעות כבל USB מיני USB ל- USB ונווט אל מנהל ההתקנים במחשב שלך. אתה אמור למצוא את לוח ה- FTDI המחובר ליציאת ה- COM שלך, כמוצג להלן:
עכשיו הגיע הזמן לשים יד על תכנות המודול ESP8266 שלנו. אתה יכול להתחיל באמצעות פקודות AT ואז לעבור לשימוש ב- Arduino IDE. אל תשכח לבדוק את הפרויקטים האחרים שלנו מבוססי ESP8266.