WLAN על הארדואינו - חבר את ESP8266-01 לארדואינו ושלט על NodeMCU Amica מרחוק באמצעות הטלפון החכם שלך.
הארדואינו הוא אחד מהלוחות המפתחים הידועים ביותר. לרוע המזל, בדגמים הסטנדרטיים לא מותקן שבב Wi-Fi. טיפ מעשי זה מראה לך כיצד לחבר מודול WLAN ESP8266-01 לארדו-או וכיצד ניתן לשלוט מרחוק ב- NodeMCU Amica באמצעות הטלפון החכם שלך.
שלוט ב- NodeMCU Amica באמצעות הטלפון החכם שלך
ל- NodeMCU Amica מגוון סיכות, כמו גם שבב Wi-Fi ESP8266 מובנה ושקע microUSB. לכן, הגיוני להשתמש במכשיר יותר כמכשיר עצמאי. כיצד לחבר לוח ESP8266 "קלאסי" לארדואינו מתואר בהמשך המאמר.
- בכדי שתוכל לתכנת שבבי ESP, תחילה עליך להוריד ולהתקין את מנהלי ההתקנים עבור כל שבבי CP210er ממעבדות הסיליקון. למרבה המזל, זה קורה יחסית מהר.
- ואז פתח את ה- Arduino IDE ועבור להגדרות. הוסף את כתובת האתר "//arduino.esp8266.com/stable/package_esp8266com_index.json" (ללא מרכאות) לכתובות האתר הנוספות של מנהל הלוח. ואז התחל את מנהל הלוח, הזן "ESP8266" והתקן את החבילה.
- גש גם למנהל הספריה, הזן את "Blynk" והתקן את הגרסה האחרונה. כל הרכיבים הדרושים מותקנים כעת.
- אתה זקוק לאפליקציית Blynk כדי לשלוט ב- NodeMCU באמצעות הטלפון החכם שלך. אם לא נעשה זאת, צור כאן חשבון חדש או התחבר באמצעות חשבון קיים. ואז צור פרויקט חדש ובחר ב- NodeMCU כלוח.
- עם קודי הדגימה ב- Arduino IDE, עליך למצוא גם קוד עבור Blynk (→ "Boards_WiFi") ב- NodeMCU. כל שעליך לעשות הוא להזין כאן את אסימון ה- Blynk של הפרויקט שלך, אותו נשלחת אוטומטית באמצעות הדוא"ל. הזן גם את ה- SSID והסיסמה שלך.
- על מנת לטעון את הקוד על הלוח, עליכם כמובן לבחור אותו בכרטיסייה "כלים". במקרה שלנו היה צריך לבחור "NodeMCU 1.0 (ESP12E Module)", את התדר 80 מגה הרץ, את גודל הזיכרון "4M (3M SPIFFS)" ואת קצב הבאוד 115200. עם זאת, שים לב כי המידע עשוי להיות שונה בהתאם לדגם.
- לאחר מכן תוכל פשוט לטעון את הקוד על הלוח ולשלוט עליו באמצעות אפליקציית Blynk. כאן תוכלו ליצור ווידג'טים שונים, למשל, לשלוט על נורית LED עם כפתור.
חבר WiFi ב- Arduino - ESP8266-01 לארדואינו
בשלב הבא ברצוננו לחבר ולהשתמש במודול ESP8266-01 עם הארדואינו.
- אם אתה מסובב את הלוח כך שיורה כלפי מטה עם האנטנה המוזהבת, אתה יכול למצוא את סיכת ה- VCC בפינה השמאלית העליונה, שכמובן צריכה להיות מוגדרת כ- HIGH. מימין נמצא סיכת ה- RST, שלרוב אינכם צריכים להשתמש בה. צריך להגדיר שוב את סיכת ה- CH_PD שלידו. בפינה השמאלית העליונה יש לנו את סיכת ה- TXD שיוצאת אותות ובפינה השמאלית התחתונה יש לנו סיכת RXD שמקבלת את האותות, כמובן. יש לנו גם GPIO0 ו- GPIO2, כמו גם את סיכת האדמה הקלאסית, שנמצאת בחלק השמאלי התחתון.
- בכדי להיות מסוגל להשתמש במודול ב- Arduino, הגיוני להשתמש בתוכנת SoftwareSerial, מכיוון ש- HardwareSerial משמש בעיקר לתקשורת בין ה- Arduino למחשב האישי. אולם במקרה שלנו, המודול משתמש ב- 115200 כקצב baud, מה שאומר שתקשורת בין ה- ESP וה- Arduino דרך SoftwareSerial אינה אפשרית.
- כדי לשנות את קצב הבאוד, משתמשים רבים פשוט מבזקים קושחה חדשה המספקת קצב baud שונה. עם זאת, זה לא הכרחי מכיוון שניתן לשנות את קצב הבאוד גם באמצעות פקודה. פקודה זו היא "AT + UART_DEF". ניתן למצוא גם באינטרנט פקודות אחרות כמו "AT + IPR" או "AT + CIOBAUD", אך זה לא רצוי שכן "AT + IPR" בפרט יכול גם לקרוס את המודול.
- כדי לשלוח את הפקודה למודול, מומלץ לחבר אותה למחשב באמצעות מתאם USB, אשר בדרך כלל מסופק ללא עלות או שניתן למצוא באינטרנט בסביבות יורו. אם אין ברשותך מתאם USB, אתה יכול להזמין אחד באופן מקוון, שמומלץ מאוד, או להשתמש במתאם FTDI אוניברסלי, שהוא די מורכב ולעתים קרובות אינו פועל כראוי. לחלופין, יש גרסה אחרת שתוסבר בהמשך.
- אם חיברת את המודול למתאם למחשב האישי, אתה יכול לשלוח את הפקודה "AT + UART_DEF = 9600, 8, 1, 0, 0" עם קצב baud 115200 ו- CR + LF. לאחר מכן תוכל לחבר מחדש את המודול ולשלוח פקודות בקצב baud 9600.
- הבא אתה צריך לתכנת את Arduino. הקוד פשוט יחסית. אנו מגדירים תחילה מחרוזת ריקה עם הפקודה »String s =" ";«, ייבא SoftwareSerial (»#include«) וצור אובייקט SoftwareSerial חדש (»SoftwareSerial Serial_ESP (2, 3);«). בשיטת ההתקנה, התחיל החיבור ל- ESP (»Serial_ESP.begin (9600);«) והחיבור למחשב האישי (»Serial.begin (9600);«). אם ה- ESP שולח איתות, זה מתווסף למחרוזת והמחרוזת יוצאת בצג הטורי (»בזמן (Serial_ESP.available ()> 0) {s + = (char) Serial_ESP.read ();} if (s ! = "") {Serial.println (s); s = "";} «). לעומת זאת, אותות שנשלחים על ידי המסך הסדרתי, כלומר המחשב האישי, מועברים גם ל- ESP ("בעוד (Serial.available ()> 0) {Serial_ESP.write (Serial.read ());}"). עם זאת, חשוב מאוד שכל העניין יומר לטבלה, מכיוון שה- ESP שולח מספרים בחזרה. תוכלו למצוא את הקוד שוב בגלריית התמונות בסוף המאמר.
- לאחר שטעינת הקוד על הארדואינו, עליך לחבר את ה- ESP. זהירות! ה- ESP משתמש ב -3.3 וולט במקום 5 וולט. 5V לשבור את זה לחלוטין. עם זאת, מכיוון שהארדואינו עובד עם היגיון 5V, יש להתאים את המתח בהתאם.
- בתיאוריה, אתה יכול להשתמש במחיצת מתח עם נגדים, אך בפועל כל העניין די לא מדויק וקל להפריע לו. לכן עליכם להחליף ממיר רמת לוגיקה בין הארדואינו ל- ESP.
- חבר את סיכת ה- 5V של הארדואינו ל- HV, כלומר סיכת מתח גבוה בממיר, ואת סיכת ה- LV של הממיר לפין VCC של ה- ESP. חבר גם את סיכת ה- LV במקביל לסיכת ה- CH_PD של ה- ESP כך שגם השבב מופעל. כמו כן, בכדי לקבל מספיק זרם, עליכם לחבר את סיכת ה- 3.3 וולט של הארדואינו לפין ה- LV של הממיר, ובעקבות זאת ל- VCC ו- CH_PD של ה- ESP. עכשיו חבר את סיכת ה- TX מ- SoftwareSerial - במקרה שלנו סיכה 3 על הארדואינו - עם HV 1, 2, 3 או 4 ואת סיכת ה- LV ההפוכה עם סיכת ה- RXD ב- ESP. חזור על שלב זה גם עבור סיכת ה- RX של הארדואינו.
- לבסוף, עליכם לחבר את האדמה. לשם כך, חבר את קרקע הארדואינו לקרקע בצד HV של הממיר. ואז חבר את הקרקע בצד LV לקרקע ה- ESP. סוף סוף עליכם לחבר את קרקע ה- HV לקרקע ה- LV.
- עכשיו אתה יכול לשלוח בקלות פקודות AT עם המחשב האישי שלך ל- ESP דרך Arduino. אתה יכול לחבר בקלות את הארדואינו ל- WiFi שלך, ליצור שרת אינטרנט ועוד ועוד. כל שעליך לעשות הוא להוסיף את פקודות ה- AT המתאימות לקוד Arduino (בשיטת ההתקנה) שיש לשלוח ל- ESP, שתוכלו למצוא גם ב"סט ההוראות של AT ".
- אם אין לך מתאם USB מוכן, באפשרותך גם לשלוח את הפקודה לשנות את קצב הבאוד באמצעות HardwareSerial באמצעות אותו מעגל, באמצעות סיכות TX ו- RX של Arduino, כלומר 0 ו- 1. עם זאת, אל תשכח להתאים את קצב הבאודה בקוד בהתאם.
בטיפ המעשי הבא, אנו נסביר לכם היכרות עם שפת התכנות Java.