תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
כבר פרסמתי בשנת 2016 את ההנחיה הזו "כיצד ליצור שער Wifi משלך לחיבור הארדואינו לרשת IP". מכיוון שעשיתי כמה שיפורי קוד ואני עדיין משתמש בפתרון זה.
עם זאת, יש כעת כמה מגיני ESP8266 המאפשרים לבצע אותו דבר ללא הלחמה כל עוד אינכם משתמשים בלוחות מיקרו או ננו.
מדריך זה יסביר כיצד להשתמש במגני ESP82 אלה כשער UDP/IP טורי.
זה לוקח חלק מתשתית אוטומציה ביתית עולמית שתוכל להציץ כאן
מידע נוסף על המגן עם הוראה זו
אספקה
1 מגה ארדואינו (הכי טוב שיש לפחות מגה אחת לפיתוח ו -1 אונו לשלב ריצה)
1 Rokoo ESP8266 ESP-12E UART WIFI ממיר
1 FTDI 3.3v
2 חוטי לוח
שלב 1: איך זה עובד?
השער מבוסס על מודול ESP8266
מודול זה מחובר מצד אחד עם הקישור הטורי מהצד השני לרשת IP באמצעות ה- Wifi.
הוא פועל כקופסה שחורה. מנות נתונים המגיעות מהקישור הטורי נשלחות ליציאת IP/Udp ולהיפך.
אתה רק צריך להגדיר תצורה משלך (IP, WIFI …) פעם ראשונה שתפעיל את השער.
הוא יכול להעביר ASCII גולמי ונתונים בינאריים (ללא HTTP, JSON …)
הוא נועד לחבר אובייקטים עם תוכנות תוצרת בית שרת הדורשות העברות מהירות ותכופות של חבילת נתונים קצרה.
שלב 2: מהם הפונקציות העיקריות?
לרוב מדובר בקופסה שחורה הממירה נתונים טוריים למנות UDP בשתי הדרכים.
אבל השער יכול לפעול גם בכוחות עצמו על ידי שליחת מידע פנימי לשרת וקבלת כמה פקודות מהשרת.
Arduino יכול לשלוח ולקבל הודעות ל / משרת המחובר דרך האינטרנט רק על ידי הדפסה / קריאה של קישור טורי. אין צורך שמפתח Arduino יפריע לפרוטוקול IP.
נוסף על כך הוא מספק GPIO שניתן להשתמש בו על ידי Arduino כדי לבדוק שהשער מחובר כראוי ל- WIFI וה- Gateway יכול לבצע אוטומטית בין 2 SSID שונים במקרה של כישלון
ל- Gateway 2 מצבי ריצה שונים הנבחרים על ידי הגדרת GPIO
הגדרת GPIO לקרקע והשער נכנס למצב תצורה.
הגדרת GPIO בחינם והשער נכנס למצב ריצת שער.
נוסף על כך ניתן לשנות את תצורת UDP/IP של Gateway מרחוק
שלב 3: בניית חומר
נדרשים מעט מאוד דברים
1 מגן ESP8266 - מצאתי את מודול הלוח המגן של UNO R3 ESP8266 UNO R3 בפחות מ -9 €
1 UNO שזה יעד Arduino היעד
1 מגה שהיא כלי הפיתוח של הארדואינו (אפשר להסתדר בלי אבל די קשה לאתר באגים)
1 FTDI 3.3/5v לפיתוח
כמה חוטים
שלב 4: הורד את קוד השער
במהלך שלב זה הארדואינו משמש רק להפעלה (באמצעות USB או מקור כוח אחר) על המגן ESP8266
חבר את ה- ESP8266 GPIO4 לקרקע (כדי להיכנס למצב תצורה)
הקפד להגדיר את ה- FTDI ל- 3.3v בהתאם לדרישות המגן
חבר את ה- FTDI למגן (RX ל- TX)
הגדר את מתג המגן להגדיר ל: 1: כבוי 2: כבוי 3: על 4: מופעל
חבר את צד ה- USB של ה- FTDI למחשב שלך
אפס את המגן באמצעות לחצן ה- ESP-RST
הורד את קוד Gateway שם ב- GitHub
פתח את Arduino IDE
- בחר את יציאת הצג FTDI
- פתח את הצג הסידורי IDE - הגדר את המהירות ל- 38400
- בחר לוח מודולים כללי ES8266
- שדרג את קושחת המגן בעזרת קוד השער
הגדר מתג 3: כבוי 4: כבוי
פתח את הצג הסידורי של IDE
אפס את המגן באמצעות לחצן ה- ESP-RST
עליך לראות הודעות על הצג המתחילות באתחול "EEPROM" "האתחול הושלם"….
הגיע הזמן לבצע את התצורה
שלב 5: בוא נעשה את תצורת השער
בעת הורדת קוד השער בפעם הראשונה, ה- ESP8266 Eeprom יאתחל עם ערכי ברירת המחדל. תראה הודעות מסוג זה "קבע פרמטר: x גודל: yy"
אתה יכול למצוא ערכים אלה בתוך הגדרת הקוד של paramValue. כמובן שאתה יכול לשנות את ערכי ברירת המחדל האלה לפני הורדת הקוד, אך תוכל גם להגדיר את התצורה שלך באמצעות פקודה מאוחר יותר. זה עדיף אם אתה מתכנן שיהיו לך שער מרובה צינורות ותשמור רק גרסה אחת של קוד.
השתמש ביציאה הטורית של הצג לשליחת הפקודה (מוגדר ל- NL ו- CR).
מכיוון ש- SSID אינו מוגדר כרגע המתן ל"לא הצלחתי להתחבר לניסיון שני שלך מחדש: 5"
לאחר מכן סריקה של WIFI תתחיל אוטומטית
הגיע הזמן להגדיר את SSID שלך עם הפקודות הבאות:
- SSID1 = הבחירה שלך
- PSW1 = yourpsw1
- SSID2 = yourchoice2
- PSW2 = yourpsw2
- SSID = 1 (כדי לבחור באיזה SSID להתחיל)
- הפעל מחדש את Wifi
לאחר מספר שניות תוכל לבדוק את החיבור באמצעות הפקודה "ShowWifi". עליך לראות את כתובת ה- IP שקיבל השער משרת ה- DNS שלך. אם זה המצב הגיע הזמן ללכת רחוק יותר
הגיע הזמן להגדיר את כתובת שרת ה- IP שלך על ידי הזנת 4 כתובות המשנה (שרת שיפעיל את קוד הבדיקה של Java). לדוגמה:
- "IP1 = 192"
- "IP2 = 168"
- "IP3 = 1"
- "IP4 = 10"
על ידי שליחת פקודה ריקה תראה את כל הפקודות הנתמכות בהן תוכל להשתמש מאוחר יותר כדי להתאים לדרישותיך. כל ערכי הפרמטרים מאוחסנים ב- Eeprom וצריכים לקחת בחשבון אתחול מחדש.
הסר את חוט התצורה
המגן פועל כעת כשער
שלב 6: הורד את דוגמא קוד Arduino
קודם כל הורד את קוד ה- Arduino הראשי שם ב- GitHub
לאחר מכן הורד את קוד הארדואינו הגדרת הפקודות ואת קוד הקישור הטורי הזה אל הספרות שלך
לאחר מכן פתח את הקוד הראשי עם מזהה Arduino חדש
כבה את מתג המגן 1 ו -2 כדי לשחרר את הקישור הטורי של Arduino 0 לחיבור USB
אפס את המגן
חבר את חוטי ה- FTDI ל- Mega Serial 2 (TX FTDI ל- RX Mega וכן הלאה)
הפעל חדש Arduino IDE (או כלי TTY), חבר את ה- FTDI USB והתחל לפקח על הקישור הטורי
העלה את קוד הארדואינו בתוך המגה
הפעל את מתג המגן 1 ו -2 כדי לחבר את הקישור הטורי של Arduino 0
אפס את המגן
עליך לראות הודעה זו "התחל הדפסת USB" על הצג
שלב 7: בואו נעשה את צד השרת
דוגמת השרת היא תוכנית Java שתוכל להוריד כאן ב- GitHub
פשוט הפעל אותו והסתכל על קונסולת הג'אווה והסתכל על צג ה- FTDI
תוכלו לראות חילופי נתונים בין השרת לארדואינו
שלב 8: להמשיך הלאה
דוגמה זו של קוד Arduino מבוססת על חלק מסגרת של תשתית האוטומציה הביתית שלי.
אם אתה מעוניין בתשתית זו, הודע לי על כך. אפרסם מקורות.
אם אתה רק רוצה להשתמש בשער תוכל לפשט את קוד הארדואינו.
לאחר שפיתחתם ובדקו את הקוד שלכם במגה Arduino, תוכלו להחליף אותו בקלות ב- Uno!
נוסף על כך אתה יכול לחבר חוט בין Arduino GPIO 7 ו- ESP8266 GPIO 5 אם אתה רוצה שה- Arduino שלך יבדוק את חיבור ה- Wifi