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

שער UDP/IP סידורי עבור Arduino מבוסס על מגן ESP8266: 8 שלבים
שער UDP/IP סידורי עבור Arduino מבוסס על מגן ESP8266: 8 שלבים

וִידֵאוֹ: שער UDP/IP סידורי עבור Arduino מבוסס על מגן ESP8266: 8 שלבים

וִידֵאוֹ: שער UDP/IP סידורי עבור Arduino מבוסס על מגן ESP8266: 8 שלבים
וִידֵאוֹ: CS50 2014 – 7-я неделя 2024, יולי
Anonim
שער UDP/IP סידורי עבור Arduino מבוסס על מגן ESP8266
שער UDP/IP סידורי עבור Arduino מבוסס על מגן ESP8266

כבר פרסמתי בשנת 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
הורד את דוגמא קוד 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

מוּמלָץ: