מדריך | בנית כפתור שנשלט ע"י WIFI בשרת מקומי כחלק מבניית בית חכם
-
מדריך לחיבור מודל ESP 01 ל לwifi ו ויצירת שרת מקומי לשליטה על ממסר
[אני יצרתי עם זה כפתור שליטה לפתיחת וסגירת הדלת]
המוצרים שצריך
• ממסר עם מודל esp -01s קישור לקניה החלק לקניה
• מתאם לחיבור המודל למחשב קישור לקניה החלק לקניה
• מלחם עם בדיל
• תוכנת ארדואינו להורדה-
דבר ראשון הסבר על ממסר
ממסר (Relay) הוא רכיב אלקטרוני המאפשר לשלוט במעגל חשמלי אחד באמצעות מעגל חשמלי אחר. מדובר למעשה במתג חשמלי המופעל באמצעות זרם חשמלי קטן, שיכול להפעיל או לנתק מעגל חשמלי בעל זרם או מתח גבוה יותר. ממסרים משמשים במגוון יישומים, במיוחד כאשר יש צורך לבודד את המעגל השולט מהמעמסה.
על הממסר יש שלוש חיבורים חיבורים אלו משמשים לחיבור המעגל החשמלי שברצונך לשלוט עליו באמצעות הממסר. חיבורים אלה מתחלקים לשלושה סוגים עיקריים:
• NO (Normally Open): חיבור זה פתוח באופן רגיל, כלומר כאשר הממסר אינו פעיל (הסליל אינו מקבל מתח), החיבור מנותק. כאשר הממסר מופעל, הקונקטור נסגר והמעגל החשמלי נסגר.
• NC (Normally Closed): חיבור זה סגור באופן רגיל, כלומר כאשר הממסר אינו פעיל, החיבור סגור והמעגל החשמלי סגור. כאשר הממסר מופעל, הקונקטור נפתח והמעגל החשמלי מנותק.
• COM (Common): זהו החיבור המרכזי המשותף לשני הקונקטורים (NO ו-NC). כאשר הממסר אינו מופעל, הוא מחובר ל-NC, וכאשר הוא מופעל, הוא מתחבר ל-NO. -
הכרת המודל למודל יש 8 פינים כל פין תפקידו שונה הסבר קצר על הפינים
GND- זה החיבור השלילי במעגל
GPIO0- זה פין התקשורת לפתיחת וסגירת הממסר
RST- זה פין איפוס
השאר לא כל כך רלוונטי למדריך
3. למתאם צריך לערוך גם כמה שינוים כיון שצריך כפתור פלאש וכפתור איפוס
השינוי מתבצע ע"י הלחמה שלוש חוטים לשלוש רגלים וחיבורם לפי סדר
הסבר
הרגלים מסומנות לפי הפינים של המודל
מה שצריך לעשות זה להלחים חוטים לשלושת הנקודות המסומנות ואז בעצם אפשר ליצור
כפתור איפוס ע"י חיבור החוטים "איפוס + GND "
או כפתור פלאש ע"י חיבור החוטים " GPIO + GND "-
התקנת תוכנת ארדואינו
-
התקנת ליבת ESP8266 בצע את השלבים הבאים כדי להתקין את ליבת ESP8266 ב-Arduino IDE:
• פתח את Arduino IDE.
• לחץ על "קובץ" > "העדפות". [ באנגלית "File" > "Preferences". ]
• בחלון "Preferences", לחץ על לשונית "Boards Manager ".
• לחץ על "Add URL. "
• הדבק את כתובת ה-URL הבאה בשדה הטקסט: https://arduino.esp8266.com/stable/package_esp8266com_index.json
• לחץ על " " . OK
• לחץ על "" Close.
• פתח את "Tools" > "Board" > "Boards Manager"
• בחר "ESP8266" מהרשימה. האפשרות הראשונה "Generic ESP8266 Module -
חבר במתאם את החוטים " GPIO + GND " ליצירת מעגל פלאש תשאיר אותם מחוברים כל זמן הצריבה
-
חבר את המודל למתאם והכנס אותם למחשב
-
התוכנה מזהה את הפורט שעליו מחובר המודל אם לא יש לבחור את הפורט הנכון בתפריט כלים – פורט
-
בחירת מהירות הצריבה בלשונית "TOOLS" כנס ל" Upload Speed" ובחר 115200
קוד לעתקה יש לשים לב שצריך להחליף בקוד
את const char* ssid = "your-SSID"; // לשם הרשת שלך
ואת const char* password = "your-PASSWORD"; // לסיסמת הרשת שלך#include <ESP8266WiFi.h> #include <ESP8266WebServer.h> const char* ssid = "your-SSID"; const char* password = "your-PASSWORD"; ESP8266WebServer server(80); const int relayPin = 0; bool relayState = LOW; void setup() { Serial.begin(115200); Serial.println("Starting..."); WiFi.begin(ssid, password); Serial.println("Connecting to WiFi..."); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.print("IP address: "); Serial.println(WiFi.localIP()); pinMode(relayPin, OUTPUT); digitalWrite(relayPin, relayState); server.on("/", handleRoot); server.on("/on", handleRelayOn); server.on("/off", handleRelayOff); server.begin(); Serial.println("HTTP server started"); } void loop() { server.handleClient(); } void handleRoot() { String html = "<html><head><style>" "body { font-family: Arial, sans-serif; text-align: center; }" "h1 { color: #333; }" "button { font-size: 20px; padding: 10px 20px; margin: 10px; border: none; border-radius: 5px; cursor: pointer; }" ".button { background-color: #4CAF50; color: white; }" "button:active { background-color: #45a049; }" "</style></head><body>"; html += "<h1>Relay Control</h1>"; html += "<p><button class=\"button\" onmousedown=\"relayOn()\" onmouseup=\"relayOff()\" id=\"relayButton\">" + String(relayState ? "Open" : "Closed") + "</button></p>"; html += "<script>" "function relayOn() {" " var xhttp = new XMLHttpRequest();" " xhttp.open(\"GET\", \"/on\", true);" " xhttp.send();" " document.getElementById('relayButton').innerHTML = 'Open';" "}" "function relayOff() {" " var xhttp = new XMLHttpRequest();" " xhttp.open(\"GET\", \"/off\", true);" " xhttp.send();" " document.getElementById('relayButton').innerHTML = 'Closed';" "}" "</script>"; html += "</body></html>"; server.send(200, "text/html", html); } void handleRelayOn() { relayState = HIGH; digitalWrite(relayPin, relayState); server.send(200, "text/plain", "Relay is ON"); } void handleRelayOff() { relayState = LOW; digitalWrite(relayPin, relayState); server.send(200, "text/plain", "Relay is OFF"); }
- צריבת הקוד ע"י לחיצה על הכפתור בפינה השמאלית העליונה עם החץ [ לשים לב שמחברים את המתאם למחשב שמחובר כבר החוטים של הפלאש ולא מנתקים עד שנגמר הצריבה ]
- משאירים את המודל מחובר למחשב מנתקים את החוטים של הפלש ומחברים לרגע את החוטים " GND + איפוס " ליצירת איפוס [ אין להוציא בשום שלב את המודל מהמחשב קריטי ]
- פותחים בלשונית Tools את -> Serial Monitor
יש לשים לב למודגשים
צהוב זה המהירות כתיבה שהיה מוגדר 115200
ירוק זה הסריאל
כחול זה הדפס שלו מייד אחרי ביצוע האיפוס ע"י חיבור החוטים - הכנס את הכתובת IP שהדפיס לך לדפדפן ולחף אנטר צריך להיכנס לדף אינטרנט כזה
לחיצה על הכפתור תפתח את הממסר
בהצלחה
ואפשר להוסיף לייק
-