- רכיבים נדרשים
- תרשים מעגל
- הגדרת Thinger.io עבור לוגר טמפרטורות ESP8266
- הגדרת IFTTT עבור לוגר נתונים NodeMCU
- תכנות NodeMCU לרישום נתונים
- רישום נתונים ב- Thinger.io מ- NodeMCU
- יצירת נקודת קצה ב- Thinger.io כדי לשלוח התראת דוא"ל
בעבר השתמשנו ב- NodeMCU כדי לרשום נתוני טמפרטורה בגיליון Google. עכשיו הנה אנחנו הולכים לשלוח נתונים לענן ה- IoT של Thinger.io ולהציג אותם בפורמט גרפי אטרקטיבי. חיישן BMP180 מתממשק עם NodeMCU ESP8266 כדי לאסוף את נתוני הטמפרטורה, הלחות והגובה, שיישלחו לפלטפורמת Thinger.io. במדריך זה נלמד כיצד לנהל תכונות שונות של פלטפורמת thinger.io, כמו מכשירים, נקודות קצה, דלי נתונים או אסימוני גישה.
רכיבים נדרשים
- NodeMCU ESP8266
- חיישן לחץ BMP180
- חוטי מגשר
- קרש לחם
תרשים מעגל
דיאגרמת מעגלים עבור לוגר נתונים ESP8266 זה מאוד פשוט, כאן רק חיישן BMP180 מתממשק עם NodeMCU.
חיישן BMP180 משתמש בפרוטוקול התקשורת I2C. אז אתה צריך לחבר את סיכות SCL ו- SDA של BMP180 לסיכות SCL ו- SDA (D1 ו- D2) של NodeMCU. כמו כן, חבר את סיכת V IN ו- GND של BMP180 ל- 3.3V ו- GND של NodeMCU. אל תחבר את החיישן ישירות ל- 5V מכיוון שהוא עלול לגרום נזק לחיישן לצמיתות.
למידע נוסף על NodeMCU, בדוק פרויקטים שונים של IoT המבוססים על NodeMCU ESP8266.
הגדרת Thinger.io עבור לוגר טמפרטורות ESP8266
Thinger.io היא פלטפורמת קוד פתוח לאינטרנט של הדברים. הוא מספק את כל הכלי הדרוש לאב טיפוס, שינוי גודל וניהול מוצרים מחוברים בצורה מאוד פשוטה. Thinger.io מספק שלושה כלים חיוניים, כלומר Data Bucks, Dashboard ו- Endpoint לעבודה עם נתוני מכשירים; ניתן להשתמש בכלים אלה כדי להמחיש את נתוני המכשיר ולהרחיב את יכולת הפעולה ההדדית של המכשירים.
Data Bucks: ניתן להשתמש בכלי Data Bucks לאחסון נתוני המכשירים בצורה ניתנת להרחבה, לתכנות מרווחי דגימה שונים או להקלטת אירועים שהועלו על ידי מכשירים.
לוח מחוונים: בכלי לוח המחוונים יש כמה פאנלים עם ווידג'טים הניתנים להתאמה אישית שניתן ליצור תוך דקות באמצעות טכנולוגיית גרור ושחרור כדי להמחיש את הנתונים בזמן אמת והאחסון.
נקודות קצה: בעזרת נקודות הקצה ניתן לשלב את הפלטפורמה עם שירותים אחרים כמו IFTTT, שירותי אינטרנט מותאמים אישית, מיילים או להתקשר למכשירים אחרים.
ברישום ESP8266 זה, אנו הולכים לחקור את הכלים הללו.
כדי לשלוח נתונים ל- Thinger.io, עליך ליצור חשבון חינם בפלטפורמת Thinger.io ולבצע את השלבים הבאים כדי לחבר את המכשיר שלך.
שלב 1: הצעד הראשון הוא יצירת מכשיר חדש. ליצירת מכשיר חדש, לחץ על התקנים בלשונית התפריט ואז לחץ על כפתור הוסף התקן.
לאחר מכן מלא את הטופס עם מזהה ההתקן, התיאור ותעודות האישור או צור אישורים אקראיים למכשיר שלך ולחץ על ' הוסף מכשיר '.
זה הכל; המכשיר שלך מוכן להתחברות. בשלב הבא, אנו נתכנת את ה- NodeMCU כך שישלח את הנתונים לפלטפורמת Thinger.io.
הגדרת IFTTT עבור לוגר נתונים NodeMCU
כאן אנו משתמשים ב- IFTTT כדי לשלוח אזהרות בדוא"ל כאשר הטמפרטורה חורגת מגבול. IFTTT (If This Then That) הוא שירות מבוסס אינטרנט שבאמצעותו אנו יכולים ליצור שרשראות של הצהרות מותנות, הנקראות יישומונים. באמצעות יישומונים אלה אנו יכולים לשלוח הודעות דואר אלקטרוני, טוויטר, פייסבוק.
כדי להשתמש ב- IFTTT, היכנס לחשבון IFTTT אם כבר יש לך חשבון או צור חשבון.
כעת חפש ' Webhooks ' ולחץ על הקטע Webhooks ב'שירותים '.
לאחר מכן, בחלון Webhooks, לחץ על 'תיעוד' בפינה הימנית העליונה כדי לקבל את המפתח הפרטי. העתק מפתח זה, מפתח זה ישמש בעת יצירת נקודת קצה ב- Thinger.io.
לאחר מכן, צור יישומון באמצעות שירותי Webhooks ו- Email . ליצירת יישומון לחץ על הפרופיל שלך ואז לחץ על ' צור ' . '
כעת בחלון הבא, לחץ על סמל ' זה '. כעת חפש Webhooks בקטע החיפוש ולחץ על ' Webhooks '.
עכשיו בחר ' קבל טריגר בקשה' והזן את שם האירוע כטמפ ואז לחץ על צור טריגר.
לאחר מכן, לחץ על ' ואז זה' ואז לחץ על דוא"ל.
כעת בדוא"ל, לחץ על 'שלח לי דוא"ל' והזן את נושא הדואר האלקטרוני וגופו ואז לחץ על יצירת פעולה. בשלב האחרון, לחץ על ' סיום ' כדי להשלים את הגדרת היישומון.
תכנות NodeMCU לרישום נתונים
הקוד השלם לשליחת נתונים ל- Thinger.io ניתן בסוף העמוד. הנה, אנו מסבירים כמה חלקים חשובים.
התחל את הקוד על ידי הכללת כל הספריות הנדרשות. ThingerESP8266.h משמש כדי ליצור חיבור בין פלטפורמת IOT ואת NodeMCU בעוד Adafruit_BMP085.h משמש לקריאת נתוני חיישן BMP. אתה יכול להתקין את ספריית ThingerESP8266.h ממנהל הספרייה של Arduino IDEs.
#לִכלוֹל
לאחר מכן, הזן אישורים בקוד, כך שניתן יהיה לזהות את המכשיר ולשייך אותו לחשבונך.
#define USERNAME "שם המשתמש של חשבונך" #define DEVICE_ID "NodeMCU" // שם המכשיר שלך #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
לאחר מכן, הזן את שם נקודת הסיום שלך. נקודת הקצה משמשת לשילוב הפלטפורמה עם שירותים חיצוניים כמו IFTTT, בקשת HTTTP וכו '.
#define EMAIL_ENDPOINT "IFTTT"
הגדר את המשתנים לאחסון נתוני הלחץ, הטמפרטורה והגובה.
int לחץ, טמפרטורה, גובה;
בתוך לולאת הריק () קרא את נתוני החיישן. Pson סוג הנתונים יכול להכיל סוגי נתונים שונים. אז סוג הנתונים של Pson משמש לקבלת ערכים מרובים בו זמנית.
דבר >> (pson & out) {out = bmp.readPressure () / 100; out = bmp.readAltitude (); out = bmp.readTemperature (); };
השתמש בתנאי אם כדי להתקשר לנקודת הקצה אם ערך הטמפרטורה עובר את 15 מעלות. כאן הנתונים הם שם נקודת הקצה.
אם (טמפרטורה> 15) {thing.call_endpoint (EMAIL_ENDPOINT, "data");} Serial.print ("Sending Data");
רישום נתונים ב- Thinger.io מ- NodeMCU
כעת חבר את חיישן ה- BMP ל- NodeMCU והעלה את הקוד. ה- NodeMCU ישתמש באישורי חשבונך כדי להתחבר למכשיר שיצרת קודם. אם הוא מתחבר בהצלחה, הוא יראה מחובר, כפי שמוצג בתמונה למטה:
אתה יכול לבדוק את הסטטיסטיקה של המכשיר שלך כמו נתונים מועברים, נתונים שהתקבלו, כתובת IP, זמן מחובר וכו 'על ידי לחיצה על שם המכשיר מתפריט התקנים.
כאשר אנו מקבלים כעת את הנתונים, ניצור לוח מחוונים להמחשת הנתונים באמצעות הווידג'טים.
כדי ליצור לוח מחוונים, לחץ על לוח המחוונים מכרטיסיית התפריט ואז לחץ על ' הוסף לוח מחוונים '.
כעת בחלון הבא, הזן את פרטי לוח המחוונים כמו שם לוח המחוונים, מזהה ותיאור ואז לחץ על לוח המחוונים.
לאחר מכן, גש ללוח המחוונים החדש על ידי לחיצה על שם לוח המחוונים. כברירת מחדל, לוח המחוונים יופיע ריק. כדי להוסיף את הווידג'טים, ראשית עליך להפעיל את מצב העריכה על ידי לחיצה על המתג הימני העליון של לוח המחוונים. לאחר מכן לחץ על כפתור ' הוסף יישומון' .
כאשר תלחץ על כפתור ' הוסף יישומון' , הוא יציג חלון קופץ שבו תוכל לבחור את סוג הווידג'ט, צבע הרקע וכו '. במקרה שלי בחרתי בווידג'ט המד.
כשתלחץ על שמור, זה יעביר אותך למסך הבא שבו אתה צריך לבחור את מצב המקור, התקן, משאבים, ערך ורענון. בחר את כל הערכים ואז לחץ על הלחצן שמור.
כעת חזור על אותו הליך עבור שאר המשתנים. לוח המחוונים שלי נראה כך:
יצירת נקודת קצה ב- Thinger.io כדי לשלוח התראת דוא"ל
כעת ניצור נקודת סיום לשילוב ה- Thinger.io עם IFTTT. נקודת קצה יכולה להתקשר על ידי המכשיר לביצוע כל פעולה, כמו שליחת דוא"ל, שליחת SMS, התקשרות ל- REST API, אינטראקציה עם IFTTT, התקשרות למכשיר מחשבון אחר או התקשרות לכל נקודת קצה אחרת של
ליצירת נקודת קצה, לחץ על האפשרות 'נקודת קצה' מכרטיסיות התפריט ואז לחץ על 'הוסף נקודת קצה'.
כעת בחלון הבא, הזן את הפרטים הנדרשים. הפרטים הם:
מזהה נקודת קצה: מזהה ייחודי לנקודת הקצה שלך.
תיאור נקודת הקצה: כתוב תיאור או מידע מפורט על נקודת הקצה שלך.
סוג נקודת קצה: בחר את סוג נקודת הקצה מהאפשרויות הנתונות.
שם האירוע של היוצר: הזן את שם היישומון IFTTT שלך.
מפתח ערוץ יוצר: המפתח הסודי של Webhooks שלך.
לאחר מכן לחץ על נקודת סיום כדי לבדוק אם הכל עובד. זה אמור לשלוח לך דוא"ל עם אזהרה לגבי נתוני הטמפרטורה.
במקום להשתמש ב- IFTTT Webhook Trigger, אתה יכול לשלוח הודעת דוא"ל או טלגרם, או שתוכל לשלוח בקשת HTTP באמצעות תכונות הקצה.
כך ניתן להשתמש ב- NodeMCU ESP8266 לרישום נתוני טמפרטורה, לחץ וגובה מחיישן BMP180 לאינטרנט.
בסוף העבודה מופיע סרטון עבודה וקוד מלא.