תוכן עניינים:
- שלב 1: כתב ויתור
- שלב 2: הגדר חשבון IFTTT בחינם
- שלב 3: צור יישום IFTTT
- שלב 4: הגדר את החלק "זה" של האפלט שלך
- שלב 5: הוסף את שירות WebHooks לאפלט שלך
- שלב 6: הגדר את מפעיל בקשת האינטרנט
- שלב 7: ספק שם אירוע
- שלב 8: הגדר את החלק "אותו" של האפלט שלך
- שלב 9: הגדרת שירות פעולה
- שלב 10: התחבר ל- Google Sheets
- שלב 11: בחר פעולה
- שלב 12: הגדר את הפעולה
- שלב 13: סקור וסיים את האפלט שלך
- שלב 14: אחזור פרטי תצורה הדרושים מאוחר יותר
- שלב 15: המשך לתיעוד Webhooks עבור מפתח ה- API
- שלב 16: שמור את מפתח ה- API
- שלב 17: אסוף את הרכיבים
- שלב 18: הרכיב את הרכיבים
- שלב 19: כתוב את קוד הארדואינו
- שלב 20: תוצאות
- שלב 21: נקודות זכות
וִידֵאוֹ: פרוייקט לוגר מצב דלת וטמפרטורה: 21 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
מדריך זה יראה לך כיצד להכין לוגר סטטוס דלת וטמפרטורה פשוט עבור פחות מ- $ 10.00 באמצעות ESP8266 NodeMCU, חיישן טמפרטורה ולחות DHT11, מתג קנה דלת/חלון, נגד 10K אוהם וכמה חיבורי חיבור.
מקורו של פרויקט זה נבע מהרצון שלי לעשות יותר אוטומציה ביתית עם לוח Arduino, מכיוון שקראתי הרבה על ה- Arduino תואם EPS8266 NodeMCU, החלטתי שהלוח הזה יהיה הלוח המושלם בעלות נמוכה שאפשר לעשות בו קצת ניסויים. לאחר שחיפשתי באינטרנט פרויקטים לאוטומציה ביתית באמצעות לוחות ESP8266, הסתפקתי בשילוב של טמפרטורת לוגר מצב דלתות בניסיון הראשון שלי. בסופו של דבר הפרויקט הזה ישולב עם סרוו, חיישני לחות ואלקטרוניקה אחרת כדי להפוך בית ירוק קטן שסבא שלי תכנן ובנה לפני 50 שנה. חיישן הטמפרטורה ישמש לקביעה אם מערכת החימום צריכה להיות מופעלת או מתנתקת, כמו גם לאותת לסרווואים לפתוח ולסגור את מערכת האוורור בעת הצורך. מצב מערכת האוורור ינוטר על ידי שימוש במתגי הקנים המגנטיים. לבסוף, חיישני הלחות ישמשו לאוטומציה של מערכת השקיה.
שלב 1: כתב ויתור
רק כתב ויתור מהיר על כך שאנו לא לוקחים אחריות על כל דבר שקורה כתוצאה מהקפדה על ההנחיות. תמיד עדיף לעקוב אחר הוראות היצרן וגיליונות הבטיחות בעת בניית משהו, לכן אנא עיין במסמכים אלה לגבי כל החלקים והכלים שבהם אתה משתמש לבניית משלך. אנחנו פשוט מספקים מידע על השלבים בהם השתמשנו ליצירת שלנו. אנחנו לא אנשי מקצוע. למעשה, 2 מתוך 3 מהאנשים שהשתתפו במבנה זה הם ילדים.
שלב 2: הגדר חשבון IFTTT בחינם
אם עדיין אין לך חשבון, זה הזמן להקים חשבון IFTTT בחינם על ידי מעבר לדף הבית שלהם. IFTTT מייצג If This Then That והוא פלטפורמה חינמית המאפשרת לך לחבר שירותים מבוססי אינטרנט בדרכים חדשות לאפשר לך למנף שירותים אלה בדרכים חדשות. לפרויקט זה אנו הולכים להשתמש ב- IFTTT כדי לאפשר ל- ESP8266 לרשום את מצב הדלת באמצעות מתג קנים וטמפרטורה ולחות באמצעות חיישן DHT11 במסמך Google Sheets.
שלב 3: צור יישום IFTTT
בעודך עדיין ב- IFTTT, המשך לסעיף "היישומונים שלי" וצור יישומון חדש על ידי לחיצה על כפתור "יישום חדש".
שלב 4: הגדר את החלק "זה" של האפלט שלך
לחץ על המילה "זו" בצבע כחול - כפי שמודגש באיור לעיל.
שלב 5: הוסף את שירות WebHooks לאפלט שלך
בסרגל החיפוש, חפש את שירות "Webhooks" ובחר את סמל Webhooks.
לאחר שתמצא את שירות "Webhooks", לחץ עליו.
שלב 6: הגדר את מפעיל בקשת האינטרנט
בחר את ההדק "קבל בקשת אינטרנט".
שלב 7: ספק שם אירוע
בתיבת הטקסט ספקו ליישום החדש שלכם שם אירוע. בחרתי "Logger Data" אבל אתה יכול לבחור מה שאתה אוהב.
שלב 8: הגדר את החלק "אותו" של האפלט שלך
לחץ על המילה "אותה" בצבע כחול - כפי שמודגש באיור לעיל.
שלב 9: הגדרת שירות פעולה
בתיבת החיפוש, חפש את שירות "Google Sheets" ולחץ על סמל Google Sheets.
שלב 10: התחבר ל- Google Sheets
אם עדיין לא עשית זאת, לא תצטרך לחבר את חשבון IFTTT שלך ל- Google Sheets. לחץ על לחצן התחבר המוצג למעלה ופעל לפי ההוראות שעל המסך.
שלב 11: בחר פעולה
לחץ על "הוסף שורה לגיליון אלקטרוני".
שלב 12: הגדר את הפעולה
ספק שם בתיבת הטקסט "שם גיליון אלקטרוני". אני בוחר להשתמש ב- "Data_Logger" לצורך עקביות. השאר את שאר ההגדרה לבד (תוכל להתנסות בהגדרות אלה בזמן אחר) ולאחר מכן לחץ על כפתור "צור פעולה" בתחתית המסך.
שלב 13: סקור וסיים את האפלט שלך
לאחר שהיית מרוצה מתצורת היישומון שלך לחץ על כפתור "סיום".
שלב 14: אחזור פרטי תצורה הדרושים מאוחר יותר
לחץ על "Webhooks" כפי שהודגש למעלה.
שלב 15: המשך לתיעוד Webhooks עבור מפתח ה- API
זה אולי נראה מוזר אבל לחץ על הקישור תיעוד בפינה השמאלית העליונה כדי להמשיך לדף עם מפתח ה- API הייחודי שלך.
שלב 16: שמור את מפתח ה- API
השורה הראשונה במסך התיעוד מציגה את מפתח ה- API הייחודי שלך. העתק ושמור מפתח זה לשימוש מאוחר יותר.
כדאי גם לבדוק את היישומון כאן. זכור לשנות את {event} ל- Data_Logger או כל שם ששמת לאירוע שלך והוסף נתונים ל -3 הערכים הריקים ולאחר מכן לחץ על הלחצן "בדוק אותו" בתחתית הדף. אתה אמור לראות הודעה ירוקה שאומרת "אירוע הופעל". אם כן, עבור אל Google Docs ואשר שהנתונים שהזנת בדף הבדיקה הופיעו במסמך Google Sheets.
שלב 17: אסוף את הרכיבים
אתה רק צריך כמה חלקים.
1) מועצת הפיתוח של NodeMcu ESP8266
2) חיישן טמפרטורה/לחות DHT11
3) מתג קנה הדלת/חלון
4) התנגדות 10k אוהם
5) חוט חיבור
שלב 18: הרכיב את הרכיבים
1) חבר אחד מהסיכה 3v3 ב- ESP8266 לסיכת ה- vcc ב- DHT11.
2) חבר אחד מסיכות הקרקע ב- ESP8266 לסיכה הארקה ב- DHT11.
3) חבר את סיכה D4 (a.k.a. pin 2 ב- IDE) ב- ESP8266 לפין הנתונים ב- DHT11.
4) חבר פין 3v3 נוסף ב- ESP8266 לצד האחד של מתג קנה הדלת/חלון.
5) חבר את סיכה D5 (סימן 14 ב IDE) ב- ESP8266 לצד השני של מתג קנה הדלת/חלון וחבר אותו גם לצד אחד של הנגד 10k אוהם.
6) חבר את הצד השני של הנגד 10 קילו -אוהם לסיכה קרקעית נוספת ב- ESP8266.
לבחירת סיכות ESP8266 עיין בתרשים שימושי זה או בסרטון המועיל מאוד.
שלב 19: כתוב את קוד הארדואינו
העתק והדבק את הקוד למטה ב- Arduino IDE שלך.
#include #include #include "DHT.h"
#define DHTPIN 2 // לאיזה סיכה דיגיטלית אנחנו מחוברים
#define DOORPIN 14 // באיזה סיכה דיגיטלית מתג הדלת מופעל.
#define DHTTYPE DHT11 // DHT 11
DHT dht (DHTPIN, DHTTYPE);
int int = 1;
const char* ssid = "some_ssid"; // שנה זאת כדי להשתמש ב- ssid const char* password = "some_password" שלך; // שנה זאת כדי להשתמש בסיסמה שלך int sleepTime = 100;
// Maker Webhooks IFTTT
const char* server = "maker.ifttt.com";
// משאב URL של IFTTT
const char* resource = "/trigger/SOME_SERVICE_NAME/with/key/SOME_API_KEY"; // הקפד להשתמש בשם השירות שלך ובמפתח ה- api שלך.
String doorStatus = "סגור";
בול נדיף stateChanged = false;
// אם ישנים שעות אז הגדר את המרווח לפי שעות * 60 דקות * 60 שניות * 1000 אלפיות השנייה
const מרווח ארוך = 1.0 * 60 * 60 * 1000; // שעה לא חתומה ארוכה הקודם מיליס = 0 - (2 * מרווח);
הגדרת בטל () {
Serial.begin (115200); attachInterrupt (digitalPinToInterrupt (DOORPIN), eventTriggered, CHANGE); pinMode (DOORPIN, INPUT); // חיישן דלת dht.begin (); WiFi.begin (ssid, סיסמא);
Serial.print ("\ n מתחבר..");
בעוד (WiFi.status ()! = WL_CONNECTED) {עיכוב (1000); Serial.print ("."); } Serial.print ("\ n"); }
void eventTriggered () {
stateChanged = true; Serial.println ("בודקים את הדלת!"); if (digitalRead (DOORPIN) == HIGH) // בדוק אם הדלת פתוחה {Serial.println ("הדלת סגורה!"); doorStatus = "סגור"; } else {Serial.println ("הדלת פתוחה!"); doorStatus = "נפתח"; }}
void checkStatus () {
אם (WiFi.status () == WL_CONNECTED) {// בדוק את מצב חיבור ה- WiFi // קריאת הטמפרטורה או הלחות אורכות כ -250 אלפיות השנייה! // קריאות החיישן עשויות להיות גם עד 2 שניות '(חיישן איטי מאוד שלה) צפות h = dht.readHumidity (); // קרא את הטמפרטורה כצף צלזיוס (ברירת המחדל) t = dht.readTemperature (); // קראו את הטמפרטורה כפרנהייט (isFahrenheit = true) float f = dht.readTemperature (true); // בדוק אם קריאה נכשלה וצאי מוקדם (כדי לנסות שוב). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("קריאה נכשלה מחיישן DHT!"); //Serial.print ("."); // נכשלה קריאה מחיישן DHT! לַחֲזוֹר; } // חישוב מדד החום ב- פרנהייט (ברירת המחדל) float hif = dht.computeHeatIndex (f, h); // חישוב מדד החום ב- Celsius (isFahreheit = false) float hic = dht.computeHeatIndex (t, h, false);
Serial.print ("\ n");
Serial.print ("טמפרטורה:"); Serial.print (f); Serial.print (" *F ("); Serial.print (t); Serial.print (" *C)"); Serial.print ("\ t"); Serial.print ("מדד חום:"); Serial.print (hif); Serial.print (" *F ("); Serial.print (hic); Serial.print (" *C)%"); Serial.print ("\ t"); Serial.print ("לחות:"); Serial.println (ח);
if (digitalRead (DOORPIN) == HIGH) // בדוק אם הדלת פתוחה
{Serial.println ("הדלת סגורה!"); doorStatus = "סגור"; } else {Serial.println ("הדלת פתוחה!"); doorStatus = "נפתח"; } מחרוזת jsonObject = מחרוזת ("{" value1 / ": \" ") + f +"*F (" + t +"*C) / " + hif +"*F (" + hic +"*C) " +" / ", \" value2 / ": \" " + h +" / ", \" value3 / ": \" " + doorStatus +" / "}"; HTTPClient http; String completeUrl = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9"; http.begin (completeUrl); // http.begin (שרת); http.addHeader ("סוג תוכן", "אפליקציה/json"); http. POST (jsonObject); http.writeToStream (& סידורי); http.end (); // סגור חיבור
stateChanged = false;
int sleepTimeInMinutes = interval / 1000 /60; Serial.print ("\ n / n לך לישון בשביל"); Serial.print (sleepTimeInMinutes); Serial.println ("דקות (ים) …"); }}
לולאת חלל () {
current Signillial millis = millis (); עיכוב (4000); // אם עברנו את הזמן שחלף אז נאלץ לבדוק את הדלת ואת הטמפ '. אם (currentMillis - previousMillis> = מרווח) {stateChanged = true; previousMillis = currentMillis; Serial.print (count ++); Serial.println (") בדיקה בגלל הזמן שחלף!"); } אחר אם (stateChanged) {Serial.print (count ++); Serial.println (") בודק בגלל שינוי מצב!"); }
// אם המצב השתנה, בדוק את הדלת ואת הטמפרטורה.
אם (stateChanged) {checkStatus (); }
עיכוב (sleepTime);
}
שלב 20: תוצאות
לאחר העלאת קוד המקור בשלב הקודם אמורות להיות לך תוצאות כמו הדוגמה המוצגת למעלה.
שלב 21: נקודות זכות
מצאתי הרבה רמזים וטיפים מועילים של הדרכות חנון אקראיות וברצוני להודות להם על כל העזרה. במיוחד ההדרכה המצוינת שלהם בנושא ESP32 ESP8266 פרסום קריאות חיישן ל- Google Sheets שעליהן מבוססים חלקים עיקריים של מדריך זה.
בנוסף, ה- DHT11 Instructable מ- TheCircuit עזר לי להבין כיצד להשתמש בחיישן הקטן הזול אך המעניין הזה.
יתר על כן, ישנם הדרכות רבות העוסקות בניטור הדלתות שלך כמו צג דלת המוסך ועוד אחת מתוך הדרכות חנון אקראיות. השתמשתי בחלקים כאלה כדי לעזור לי להבין כיצד לגרום למתג הקנים שלי לפעול כראוי.
לבסוף, עם מידע זה כמו גם פרטים אחרים שמצאתי ברחבי האינטרנט הצלחתי ליצור מערכת שעונה על צרכי. אני מקווה שתמצא את זה שימושי ותבנה אחד משלך.
מוּמלָץ:
רמקול מצב רוח- רמקול רב עוצמה לנגינת מצב רוח על סמך טמפרטורת הסביבה: 9 שלבים
רמקול מצב רוח- רמקול רב עוצמה לנגינת מצב רוח על סמך טמפרטורת הסביבה: היי! לפרויקט בית הספר שלי ב- MCT Howest Kortrijk, הכנתי רמקול מצב רוח זה מכשיר רמקול Bluetooth חכם עם חיישנים שונים, LCD ו- WS2812b רצועת LED כלולה. הרמקול מנגן מוזיקת רקע המבוססת על הטמפרטורה אך יכול
ספק כוח כפול 30V/2A פרוייקט: 7 שלבים (עם תמונות)
אספקת חשמל פרוייקט כפול 30V/2A פרוייקט: כשחיפשתי מודולי אספקת חשמל ומסכי LCD, נתקלתי בכמה ממודולי אספקת החשמל הזולים של 35W לדירוג של 0.5-30V @3A (50W עם גוף קירור וזרם מתח 4A). יש לו התאמת מתח ומגביל זרם. יש גם
פרוייקט קטן של Arduino Data Logger Shield: 4 שלבים
Arduino Data Logger Shield פרויקט קטן: היי חבר'ה היום אני מציג בפניכם דוגמא פשוטה אחת עם מגן לוגר הנתונים של Arduino. זהו פרויקט קל מאוד לביצוע ואינך צריך כל כך הרבה חלקים בכדי לייצר אותו. הפרויקט עוסק במדידת טמפרטורה ולחות עם חיישן dht. הפרויקט הזה
פרוייקט אפליקטין ביתי נשלט מרחוק עם וסת מאוורר: 5 שלבים
Ir פרויקט אפליקטין ביתי נשלט מרחוק עם וסת מאוורר: פרויקט זה למי שיש לו תרבות עם ארדואינו ופרויקטים, לא בשביל noob'si עשה את זה כפרויקט אבל אני משתמש בזה גם למטרות ייצור … מסיבה זו אני יכול ' לא לשתף את כל הסקיצה השלמה
ערכת סוללה נטענת של בקר אחד ל- Xbox One (פרוייקט בעיצומה): 3 שלבים (עם תמונות)
מארז סוללות נטענות DIY של בקר Xbox One (פרויקט בעיצומו): לפני שנצלול לפרטים ברצוני להתייחס לכותרת. פרויקט זה נמצא בעיצומו בשל כמה ממצאים לאחר בדיקת העיצוב הראשון. עם זאת, אני מעצב מחדש את הלוח כך שיתאים לכמה שינויים שאעבור עליהם. כיסיתי את e