תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-23 14:46
במערך הוראות זה נבחן כיצד לבנות בדיקת טמפרטורה המאפשרת WiFi באמצעות ESP8266 פשוט להרמה כבדה וחיישן טמפרטורה/לחות DHT11. נשתמש גם בלוח המעגלים שיצרתי והוא גם במכירה כעת בחנות הטינדי בערוץ אם תרצה לרכוש.
נתחיל עם כתב החומרים שתזדקק לו:
מודול WiFi ESP8266
amzn.to/2pkGPoa
חיישן DHT11
amzn.to/2phwfhO
תקע חכם TP-Link
amzn.to/2GElQUz
אתה יכול גם לאסוף את כל המודול בחנות tindie לערוץ:
www.tindie.com/products/misperry/wifi-enab…
בדוק גם את JLCPCB עבור יצירת PCB. הם מי שהכנתי את ה- PCB:
משלוח חינם בהזמנה ראשונה ואב -טיפוס PCB של 2 $ ב-
שלב 1: הוספת הקוד ל- ESP8266
כעת נצטרך להבהב את הקוד הבא על ESP8266. קוד זה ניתן למצוא במאגר github הבא:
בקוד למטה יהיה עליך להגדיר רק את סעיפי ההגדרות המובילים:
שרת MQTT:
משתמש MQTT:
סיסמת MQTT:
MQTT_sensor_topic:
-וויי - פיי
אמר: האמור על רשת ה- wifi שאליה אתה מתחבר
סיסמא: סיסמת ה- WiFi.
לאחר שתמלא את זה בקוד שלהלן תוכל לאסוף ולבדוק אם יש שגיאות ואם 0 שגיאות תוכל להבליט אותו על ESP8266.
/ * * שם הקובץ: TempHumSensor.ino * * יישום: תרמוסטט תנור חימום חלל HomeAssistant * * תיאור: קוד זה מיועד למכשיר תואם arduino * ESP8266 WiFi. פעולה זו תעביר את מידע הטמפרטורה * של מכשיר DHT11 אל חזית HASS לעיבוד. * * מחבר: מ.ספרי - https://www.youtube.com/misperry * תאריך: 03/ * עדכון: 1.0 * * */
#לִכלוֹל
#include #include #include #include #include
#הגדר CON_TIME_OUT 20 // פסק זמן של אין חיבור ל- wifi
#הגדר MQTT_TIME_OUT 10 // פסק זמן של אין חיבור לשרת MQTT
#define DHTPIN 0 // Pin המחובר לחיישן DHT
#define DHTTYPE DHT11 // סוג החיישן הוא DHT11, אתה יכול לשנות אותו ל- DHT22 (AM2302), DHT21 (AM2301)
#define mqtt_server "" // הזן את תוספות שרת MQTT או את כתובת ה- IP שלך. אני משתמש בתוסף DuckDNS שלי (yourname.duckdns.org) בשדה זה
#define mqtt_user "" // הזן את שם המשתמש שלך MQTT #הגדר mqtt_password "" // הזן את הסיסמה שלך #הגדר MQTT_SENSOR_TOPIC "ha/bedroom_temp" // הזן נושא עבור MQTT שלך
// Wifi: SSID וסיסמה
const char* ssid = ""; const char* password = "";
// DHT SEtup
DHT_Unified dht (DHTPIN, DHTTYPE); uint32_t delayMS;
WiFiClient wifiClient;
לקוח PubSubClient (wifiClient);
הפונקציה // נקראת לפרסם את הטמפרטורה והלחות
void publishData (float p_temperature) {// צור אובייקט JSON // doc: https://github.com/bblanchon/ArduinoJson/wiki/API%20Reference StaticJsonBuffer jsonBuffer; JsonObject & root = jsonBuffer.createObject (); // INFO: יש להמיר את הנתונים למחרוזת; מתרחשת בעיה בעת שימוש במצופים … // להמיר לפרנהייט p_temperature = (p_temperature * 1.8) + 32; // להמיר לשורש פרנהייט ["טמפרטורה"] = (מחרוזת) p_temperature; root.prettyPrintTo (סידורי); Serial.println ("");
נתוני צ'אר [200];
root.printTo (data, root.measureLength () + 1); client.publish (MQTT_SENSOR_TOPIC, נתונים, true); }
הפונקציה // נקראה כשהגיעה הודעת MQTT
שיחה חוזרת בטלה (char* p_topic, byte* p_payload, int p_length לא חתומה) {}
חיבור מחדש של ריק () {
// לולאה עד שאנו מחוברים מחדש בזמן (! Client.connected ()) {Serial.print ("מידע: ניסיון לחיבור MQTT …"); // ניסיון להתחבר אם (client.connect ("ESPBlindstl", mqtt_user, mqtt_password)) {Serial.println ("INFO: מחובר"); } אחרת {Serial.print ("ERROR: נכשל, rc ="); Serial.print (client.state ()); Serial.println ("DEBUG: נסה שוב בעוד 5 שניות"); // המתן 5 שניות לפני השהיית ניסיון חוזר (5000); }}}
הגדרת void (void) {
Serial.begin (9600);
// אנו מתחילים בחיבור לרשת WiFi
Serial.println (); Serial.println (); Serial.print ("מתחבר אל"); Serial.println (ssid);
WiFi.begin (ssid, סיסמא);
בעוד (WiFi.status ()! = WL_CONNECTED) {
עיכוב (800); Serial.print ("."); }
Serial.println ("");
Serial.println ("WiFi מחובר"); Serial.println ("כתובת IP:"); Serial.println (WiFi.localIP ()); // init את חיבור MQTT client.setServer (mqtt_server, 1883); client.setCallback (callback);
// אתחל חיישן DHT
dht.begin (); Serial.println ("נתוני חיישן מאוחדים DHT11");
// הדפס פרטי חיישן טמפ
חיישן sensor_t; dht.temperature (). getSensor (& חיישן); Serial.println ("------------------------------------"); Serial.println ("טמפרטורה"); Serial.print ("חיישן:"); Serial.println (sensor.name); Serial.print ("Driver Driver:"); Serial.println (sensor.version); Serial.print ("מזהה ייחודי:"); Serial.println (sensor.sensor_id); Serial.print ("ערך מקסימלי:"); Serial.print (sensor.max_value); Serial.println (" *C"); Serial.print ("ערך מינימלי:"); Serial.print (sensor.min_value); Serial.println (" *C"); Serial.print ("רזולוציה:"); Serial.print (sensor.resolution); Serial.println (" *C"); Serial.println ("------------------------------------"); // הדפס פרטי חיישן לחות. dht.humidity (). getSensor (& חיישן); Serial.println ("------------------------------------"); Serial.println ("לחות"); Serial.print ("חיישן:"); Serial.println (sensor.name); Serial.print ("Driver Driver:"); Serial.println (sensor.version); Serial.print ("מזהה ייחודי:"); Serial.println (sensor.sensor_id); Serial.print ("ערך מקסימלי:"); Serial.print (sensor.max_value); Serial.println ("%"); Serial.print ("ערך מינימלי:"); Serial.print (sensor.min_value); Serial.println ("%"); Serial.print ("רזולוציה:"); Serial.print (sensor.resolution); Serial.println ("%"); Serial.println ("------------------------------------");
// הגדר עיכוב בין קריאות החיישן על סמך פרטי החיישן
delayMS = sensor.min_delay / 1000; }
לולאת חלל (void) {
טמפרטורת מצוף;
אם (! client.connected ())
{התחבר מחדש (); }
עיכוב (עיכוב MS);
// קבל אירוע טמפרטורה והדפס את ערכו.
אירוע sensors_event_t; dht.temperature (). getEvent (& event); if (isnan (event.temperature)) {Serial.println ("שגיאה בקריאת טמפרטורה!"); טמפרטורה = 0.00; } אחר {טמפרטורה = אירוע.טמפרטורה; Serial.print ("טמפרטורה:"); Serial.print (טמפרטורה); Serial.println (" *C"); } // לפרסם ב- MQTT publishData (טמפרטורה); }
שלב 2: הגדרת התקע החכם TP-LINK שלך
יהיה עליך להגדיר את התקע החכם TP-LINK שלך, או כל תקע חכם עבור אותו חומר, באופן שהיצרן ממליץ עליו.
הקפד לרשום את כתובת ה- MAC במכשיר. אם המכשיר שלך דומה למכשיר TP-LINK שלי, אינך יכול לדרוש כתובת IP סטטית. לפיכך, יהיה עליך להגדיר את הנתב שלך להזמנת DHCP. זה ייקח את כתובת ה- MAC של המכשיר שלך וכאשר המכשיר יבקש כתובת הנתב ייתן לו את אותה כתובת בכל פעם.
להלן קישור כיצד להגדיר זאת באמצעות Linksys
www.linksys.com/us/support-article?article…
שלב 3: הגדרת עוזר הבית
עכשיו כדי להגדיר את עוזר הבית. לשם כך יהיה עליך להוסיף את התצורות הבאות לקובץ configuration.yaml הממוקם במבנה התיקיות /home/homeassistant/.homeassistant במכשיר שאליו התקנת אותו.
לאחר שתסיים להוסיף את זה לתצורת עוזר הבית שלך יהיה עליך להפעיל מחדש את תוכנת עוזר הבית כדי שהשינויים ייכנסו להשפעה.
כמו כן אשתמש בתקע החכם TP-LINK למכשיר המיתוג וההגדרה להלן בקובץ התצורה. כתובת ה- IP המשמשת את ההתקן היא זו שהגדרת להזמנת DHCP בשלב הקודם.
ניתן למצוא תצורה זו גם ב- repo github הבא:
mqtt: switch: - פלטפורמה: tplink שם: מארח תנור שינה: 192.168.2.11
חיישן 1:
פלטפורמה: mqtt state_topic: 'ha/bedroom_temp' שם: יחידת טמפ 'ליחידה_מדידה:' ° F 'value_template:' {{value_json.temperature}} '
אוטומציה:
- כינוי: _ Temp Temp Bedroom High trigger: - platform: numeric_state entity_id: sensor. Bedroom_Temp למעלה: 73
פעולה:
service: homeassistant.turn_off entity_id: switch. Bedroom_Heater
- כינוי: _ Temp Bedroom Temp נמוך
טריגר: - פלטפורמה: מספר_ישויות מספר_מספר: חיישן. חדר_מטה למטה: 73 פעולה: שירות: מסייע ביתי.
שלב 4: השלבים האחרונים
כעת עם הגדרת עוזר הבית והגדרת קוד ה- Arduino שלך תהיה מוכן להפעיל את המערכת כולה. לפיכך, הכנס את תקע החימום/מאוורר/הקירור לתקע החכם וחבר אותו לתקע החכם. ברגע שהוא מוכן יהיה עליך לחבר מטען USB קטן ולאחר מכן את בדיקת הטמפרטורה המאופשרת ב- WiFi. ברגע שהכל מקוון אתה אמור להיות מסוגל להסתכל בלוח המחוונים של עוזר הבית שלך ולראות את הטמפרטורה החדשה המדווחת.
תודה רבה על כל העזרה והתמיכה. הקפד להשאיר לייק ובוא לבקר בערוץ בכתובת https://www.youbue.com/misperry ולראות מה יש לנו בשבילך שם. הקפד להירשם ולשתף עם חבריך כדי לעזור לערוץ.
מוּמלָץ:
חומרה ותוכנה לפריצת מכשירים חכמים, Tuya ו- Broadlink LEDbulb, Sonoff, BSD33 תקע חכם: 7 שלבים
חומרה ותוכנה לפריצה למכשירים חכמים, Tuya ו- Broadlink LEDbulb, Sonoff, BSD33 חכם חכם: במדריך זה אני מראה לך איך הברקתי כמה מכשירים חכמים עם קושחה משלי, כך שאוכל לשלוט בהם באמצעות MQTT באמצעות הגדרת Openhab שלי. אני אוסיף התקנים חדשים כאשר פרצתי אותם. כמובן שישנן שיטות מבוססות תוכנה אחרות להבהב f
תקע חכם ESP8266: 6 שלבים
תקע חכם ESP8266: מאמרים בולטים במאמר זה יכול להביא את עצמך למצב בו אנו יכולים להפיק את הדמיוטיקה. Ayant toujours adoré les choses automatiques et optimisées, j'ai décidé de créer moi-même mes prises connectées. פקודות Celles-ci sont באמצעות WiFi. לָה
תכנות פלאש של שקע חכם Joinrun (תקע האיחוד האירופי): 6 שלבים
תוכנת פלאש המתכנת את השקע החכם של Joinrun (תקע האיחוד האירופי): " Joinrun Smart Wifi " שקע עם USB הוא שקע חשמל נוסף לשליטה ב- ESP8266 המבוסס על ESP8266. הוא מגיע עם עיצוב נעים, גורם צורה קטן ועם יציאת טעינה USB נוספת. היא זקוקה לאפליקציית smartlife כדי לשלוט בה באמצעות
Alexa Echo + ESP 8266 = תקע חשמל חכם: 4 שלבים (עם תמונות)
Alexa Echo + ESP 8266 = תקע חשמל חכם: השימוש הנחמד הזה ALEXA ECHO שליטה ישירה ESP8266. השרת שלי תומך רק בהרשאת ESP8266 לשרת אמזון. השרת שלי לא מגבה את הנתונים שלך. הצביע לי: D תודה
מעקב אחר טמפרטורת החדר נשלט על ידי Raspberry Pi עם פלט תמונות Gnuplot ויכולת התראה בדוא"ל: 7 שלבים
מעקב אחר טמפרטורת החדר של פטל פיי עם פלט תמונות Gnuplot ויכולת התראה בדוא"ל: היכן שאני עובד, יש חדר חשוב מאוד שמכיל הרבה מחשבים. טמפרטורת הסביבה של החדר הזה צריכה להיות קרירה מאוד כדי לייעל את הביצועים של מערכות אלה. התבקשתי לבוא עם מערכת ניטור שיש לה את היכולת