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

כיצד ליצור שער WIFI משלך לחיבור הארדואינו לרשת IP?: 11 שלבים (עם תמונות)
כיצד ליצור שער WIFI משלך לחיבור הארדואינו לרשת IP?: 11 שלבים (עם תמונות)

וִידֵאוֹ: כיצד ליצור שער WIFI משלך לחיבור הארדואינו לרשת IP?: 11 שלבים (עם תמונות)

וִידֵאוֹ: כיצד ליצור שער WIFI משלך לחיבור הארדואינו לרשת IP?: 11 שלבים (עם תמונות)
וִידֵאוֹ: Dingtian DT-R008 ממסר חכם רב ערוצי עם Ethernet ו-Wi-Fi - סקירה כללית ושילוב ב-Home Assistant 2024, יולי
Anonim
כיצד ליצור שער WIFI משלך לחיבור הארדואינו לרשת IP?
כיצד ליצור שער WIFI משלך לחיבור הארדואינו לרשת IP?

כמו כל כך הרבה אנשים אתה חושב שארדואינו הוא פתרון טוב מאוד לביצוע אוטומציה ביתית ורובוטית

אבל מבחינת תקשורת Arduinos פשוט מגיעים עם קישורים טוריים.

אני עובד על רובוט שצריך להיות מחובר לצמיתות עם שרת שמריץ קוד בינה מלאכותית. ניסיתי להשתמש ברשת RF כפי שאני רגיל לעשות עבור דומוטי אבל זה לא מספיק יעיל. כשהרובוט נע אני לא יכול להשתמש במגן ה- Arduino Ethernet. Arduino Wifi Shield יקרים ונראים לי בעיצוב ישן.

הייתי צריך משהו שיכול להחליף נתונים בצורה פשוטה ויעילה מאוד עם שרת.

לכן החלטתי לעצב Gateway המבוסס על המיקרו -בקר ESP8266 הזול והיעיל ביותר

כאן תוכל למצוא כיצד לבנות את הרכיב האלקטרוני ולהוריד את התוכנה.

השתמשתי בשער זה לאוטומציה ביתית ולרובוטיקה.

זה לוקח חלק מתשתית אוטומציה ביתית עולמית שתוכל להציץ כאן

הכנתי עוד מדריך שמשתמש במגן ESP8266 והימנע מהלחמה

אספקה

כתבתי מדריך אחר בנושא זה

שלב 1: איך זה עובד?

איך זה עובד ?
איך זה עובד ?

השער מבוסס על מודול ESP8266

מודול זה מחובר מצד אחד עם הקישור הטורי מהצד השני לרשת IP באמצעות ה- Wifi.

הוא פועל כקופסה שחורה. מנות נתונים המגיעות מהקישור הטורי נשלחות ליציאת IP/Udp ולהיפך.

אתה רק צריך להגדיר תצורה משלך (IP, WIFI …) פעם ראשונה שתפעיל את השער.

הוא יכול להעביר ASCII גולמי ונתונים בינאריים (ללא HTTP, JSON …)

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

הכי קל לשימוש עם Arduino Mega שיש בו יותר מ- UART אחד (Arduino Mega למשל) אך יכול לפעול גם עם UNO.

שלב 2: מהם הפונקציות העיקריות?

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

יש לו 3 נוריות המציין את הסטטוס והתנועה של השער.

הוא מספק GPIO שניתן להשתמש בו על ידי Arduino כדי לחכות עד שהשער יתחבר ל- WIFI ו- IP.

הוא פועל בשלושה מצבים שונים המוגדרים עם מתגים:

  • מצב Gateway שהוא המצב הרגיל
  • מצב תצורה המשמש להגדרת הפרמטרים
  • מצב איתור באגים המיועד למצב ניפוי באגים

ניתן לשנות את רוב הפרמטרים כך שיתאימו לצרכיך.

שלב 3: בניית חומר

בניית חומר
בניית חומר

על גבי הארדואינו שלך תזדקק

  • 1 x מודול ESP8266-אני בוחר ב- MOD-WIFI-ESP8266-DEV מבית Olimex שעולה בסביבות 5 יורו וקל למדי לשימוש.
  • 1 x 5V מקור חשמל
  • ווסת כוח 1 x 3.3v - אני משתמש ב- LM1086
  • 1 x 100 קבלים מיקרופראד
  • 1 x ULN2803 מודול APG (ניתן להחליף אותו על ידי 3 x טרנזיסטורים)
  • 8 נגדים (3 x 1K, 1 x 2K, 1 x 2.7k, 1x 3.3K, 1x 27K, 1x 33k)
  • 3 x LED (אדום, ירוק, כחול)
  • 1 x לוח לוח
  • כמה חוטים ומחברים

במהלך שלבי הבנייה בלבד, תזדקק

  • 1 x FTDI 3.3v לתצורה
  • מלחם ופח

לפני הלחמה חשוב להתקין את כל הרכיבים על קרש הלחם ולבדוק שהכל תקין.

שלב 4: נתחיל עם האלקטרוניקה על לוח הלחם

נתחיל עם האלקטרוניקה על הלוח!
נתחיל עם האלקטרוניקה על הלוח!

הפריסה האלקטרונית זמינה בפורמט Fritzing

אתה יכול להוריד אותו כאן שלב 1:

github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz

פשוט בצעו סכמה על ידי הקפדה על המתח.

זכור כי ESP8266 אינו תומך במתח גבוה מ- 3.3v. FTDI חייב להיות מוגדר ל -3.3 וולט.

שלב 5: בוא נלך לתוכנה

בואו נלך לתוכנה!
בואו נלך לתוכנה!

נתחיל בצד השער

כתבתי את הקוד עם Arduino IDE. אז אתה צריך ש- ESP8266 יוכר כ לוח על ידי IDE. בחר את הלוח המתאים עם תפריט כלים / לוחות.

אם אינך רואה כל ESP266 ברשימה, כלומר ייתכן שיהיה עליך להתקין את ESP8266 Arduino Addon (תוכל למצוא כאן את ההליך).

כל הקוד שאתה צריך זמין ב- GitHub. הגיע הזמן להוריד אותו!

הקוד הראשי של השער נמצא שם:

נוסף על Arduino סטנדרטי ו- ESP8266 כולל את הקוד הראשי צריך 2 אלה כוללים: LookFoString המשמש לתפעל מחרוזות ויש:

ManageParamEeprom המשמש לקריאת ואחסון פרמטרים ב- Eeprom ans נמצא שם:

לאחר שתקבל את כל הקוד הגיע הזמן להעלות אותו ל- ESP8266. ראשית חבר את ה- FTDI ליציאת USB של המחשב שלך.

אני מציע שתבדוק את החיבור לפני שתנסה להעלות.

  • הגדר את הצג הטורי של Arduino ליציאת ה- USB החדשה.
  • הגדר את המהירות ל- 115200 הן cr nl (מהירות ברירת המחדל עבור Olimex)
  • הדלק את לוח הלחם (ESP8266 מגיע עם תוכנה שעוסקת בפקודות AT)
  • שלח "AT" עם הכלי הסידורי.
  • אתה חייב לקבל "אישור" בתמורה.

אם לא בדוק את החיבור שלך והסתכל במפרטי ESP8266 שלך.

אם קיבלת "אישור" אתה מוכן להעלות את הקוד

  • כבה את לוח הלחם, המתן מספר שניות,
  • לחץ על המיקרו-סוויד השחור של ה- ESP8266. זה נורמלי לקבל קצת זבל על הצג הסדרתי.
  • לחץ על מזהה ההעלאה כמו עבור Arduino.
  • לאחר השלמת ההעלאה הגדר את המהירות הסידורי ל- 38400.

אתה תראה משהו כמו בתמונה.

כל הכבוד שהעלית את הקוד בהצלחה!

שלב 6: בואו נעשה את התצורה

בואו נעשה את התצורה!
בואו נעשה את התצורה!

יש להגדיר את ה- configGPIO ל -1 בכניסה למצב תצורה

תחילה סרוק את ה- WIFI על ידי הזנת הפקודה: ScanWifi. תראה רשימה של הרשת שזוהתה.

  • לאחר מכן הגדר את ה- SSID שלך על ידי הזנת "SSID1 = yournetwork"
  • לאחר מכן הגדר את הסיסמה שלך על ידי הזנת "PSW1 = סיסמתך"
  • לאחר מכן הזן "SSID = 1" כדי להגדיר את הרשת הנוכחית
  • הזן "הפעל מחדש" כדי לחבר את השער ל- WIFI שלך.
  • תוכל לוודא שקיבלת IP על ידי הזנת "ShowWifi".
  • הנורית הכחולה תדלק והנורית האדומה תהבהב.

הגיע הזמן להגדיר את כתובת שרת ה- IP שלך על ידי הזנת 4 כתובות המשנה (שרת שיפעיל את קוד הבדיקה של Java). לדוגמה:

  • "IP1 = 192"
  • "IP2 = 168"
  • "IP3 = 1"
  • "IP4 = 10"

השלב הנדרש האחרון הוא הגדרת יציאת האזנה של שרת UDP על ידי הזנת "listenPort = xxxx".

הזן "ShowEeprom" כדי לבדוק מה שמרת כרגע ב- Eeprom

כעת חבר את ה- GPIO2 לאדמה כדי לעזוב את מצב התצורה

השער שלך מוכן לעבודה

ישנן פקודות אחרות שתוכל למצוא בתיעוד.

שלב 7: בואו נעשה את הצד של Arduino

בואו נעשה את הצד של Arduino!
בואו נעשה את הצד של Arduino!
בואו נעשה את הצד של Arduino!
בואו נעשה את הצד של Arduino!

ראשית חבר את הארדואינו

אם יש לך מגה יהיה הכי קל להתחיל איתו. עם זאת אתה יכול להשתמש ב- Uno.

כדי לבדוק את העבודה שלך הכי טוב זה להשתמש בדוגמה.

אתה יכול להוריד אותו שם:

הוא כולל קוד SerialNetwork שנמצא כאן:

פשוט העלה את הקוד בתוך הארדואינו שלך.

הנורית הירוקה מהבהבת בכל פעם שארדואינו שולח נתונים.

שלב 8: בואו נעשה את צד השרת

בואו נעשה את צד השרת!
בואו נעשה את צד השרת!
בואו נעשה את צד השרת!
בואו נעשה את צד השרת!

דוגמת השרת היא תוכנית Java שתוכל להוריד כאן:

פשוט תריץ אותו

תסתכל על קונסולת הג'אווה.

תסתכל על צג הארדואינו.

Arduino לשלוח 2 מנות שונות.

  • הראשון מכיל את הסיכות הדיגיטליות 2 עד 6.
  • השני מכיל 2 ערכים אקראיים, רמת המתח של A0 ב- mV וספירה מצטברת.

תוכנית Java

  • הדפס את הנתונים שהתקבלו בפורמט הקסדצימלי
  • להשיב לסוג הנתונים הראשון עם ערך הפעלה/כיבוי אקראי להדלקת/כיבוי נורית ה- Arduino
  • להשיב לסוג הנתונים השני עם המספר שהתקבל וערך אקראי.

שלב 9: הגיע הזמן לעשות הלחמות

הגיע הזמן לעשות הלחמות!
הגיע הזמן לעשות הלחמות!
הגיע הזמן לעשות הלחמות!
הגיע הזמן לעשות הלחמות!
הגיע הזמן לעשות הלחמות!
הגיע הזמן לעשות הלחמות!

זה עובד על לוח הלחם!

הגיע הזמן להפוך אותו לחזק יותר על ידי הלחמת חלקים על לוח PCB

בנוסף למה שעשית עם לוח הלחם, עליך להוסיף 3 מחברים.

  • C1 1 x סיכה אחת שתשמש לכניסה למעקב אחר רשתות.
  • C2 3 x סיכות אחת שתשתמש בה כדי לעבור בין ריצה למצב תצורה.
  • C3 6 x פינים אחד שישמש לחיבור השער ל- Arduino או ל- FTDI.

C1 המחובר ל- GPIO2 חייב להיות מקורקע ידנית אם ברצונך להפעיל את עקבות הרשת.

ניתן להגדיר את C2 המחובר ל- GPIO 4 בשתי מיקומים שונים. אחד שהתחבר למצב הריצה הרגיל ואחד ל -3.3 וו לכניסה למצב תצורה.

הגדר את כל הרכיבים על הלוח על פי התרשים ולאחר מכן התחל הלחמה כדי לקבל את המוצר הסופי!

שלב 10: בואו לעשות את המבחן האחרון

Image
Image

הפעל את תוכנית הבדיקה של Java.

חבר את הארדואינו.

כוח על השער.

ותסתכל על קונסולת הג'אווה, צג ה- Arduino, ה- Arduino LED ו- נוריות ה- Gateway.

שלב 11: אתה יכול להתאים את העיצוב הזה לדרישות שלך

לגבי החומרה

  • אם תבחר ESP8266 אחר תצטרך להסתגל למפרט.
  • אם תבחר בווסת 3.3v אחר הוא חייב לספק מעל 500mA ותצטרך להתאים את הקבל.
  • אתה יכול לשנות את נגדי ה- LED כדי להתאים את הבהירות.
  • אתה יכול לדכא את כל הלדים אבל אני ממליץ לשמור לפחות על האדום.
  • אתה יכול להחליף את ULN2803 על ידי 3 טרנזיסטורים (או פחות אני אתה בוחר לא לשמור על 3 הלדים).
  • עשיתי בדיקה אבל שם זה חייב לעבוד עם לוחות Arduino 3.3v. פשוט חבר Tx Rx למחבר 3.3v.

לגבי תצורה

  • אתה יכול לאחסן 2 SSID שונים ומתג
  • אתה יכול לשנות את ה- GPIO המשמש

לגבי התוכנה

מוּמלָץ: