תוכן עניינים:
- שלב 1: חיבור המעגל
- שלב 2: הכינו את אפליקציות האינטרנט
- שלב 3: תכנות את לוח NodeMCU
- שלב 4: תהנה מהמכשיר שלך
וִידֵאוֹ: הודעות אירוע בזמן אמת באמצעות NodeMCU (Arduino), Google Firebase ו- Laravel: 4 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
האם אי פעם רצית לקבל הודעה כאשר מתבצעת פעולה באתר שלך אך דוא ל אינו מתאים? האם אתה רוצה לשמוע צליל או פעמון בכל פעם שאתה מבצע מכירה? או שיש צורך בתשומת לב מיידית שלך בגלל מצב חירום בבית?
מכשיר זה יכול להתריע בזמן אמת על כל מה שאתה אוהב.
שלב 1: חיבור המעגל
המכשיר שבניתי מורכב מלוח NodeMCU עם זמזם כדי להתריע על מכירות שבוצעו באתר. המיקרו -בקר מתוכנת באמצעות תוכנת Arduino והחלק המפעיל יכול להיות כל יישום אינטרנט, iOS או אנדרואיד. יצרתי שני יישומי אינטרנט פשוטים, אחד ב- Laravel והשני ב- HTML רגיל ו- JavaScript לדוגמא.
מכיוון שלוח NodeMCU יכול לפעול בבטחה עד סביב 12mA של זרם על הפינים, הזמזם מחובר באמצעות טרנזיסטור NPN. השתמשתי ב- 2N2222 מכיוון שרבים מהם מונחים אך אני בטוח שהעיקרון יהיה זהה לכל טרנזיסטור NPN אחר.
כדי לחבר את המעגל, חבר את אספן הטרנזיסטור לסיכת הווין שעל הלוח. הזמזם פועל על 5V ומכיוון שנפעיל את המכשיר מ- USB, סיכה זו תיתן לנו את המתח לפני הרגולטור של 3.3V בלוח.
לאחר מכן חבר את הצד החיובי של הבאזר על פולט הטרנזיסטור, ואת הסיכה השלילית של הזמזם לכל אחד מהסיכות הקרקעיות בלוח. השתמשתי בסיכה 2, אבל אתה יכול גם לחבר אותה לפינים 9, 25 או 29.
בסיס הטרנזיסטור מחובר לסיכה D2 המתואמת ל- GPIO 4 בתוכנת Arduino. עם התקנה זו, הטרנזיסטור יפעל ביעילות כמתג המפעיל את הבאזר בכל אירוע. במקום הבאזר אתה יכול לחבר ממסר באותו אופן כדי להניע כל מכשיר חשמלי כמו נורות, מכונות או צפירה אם אתה מכין מכשיר אזעקה כלשהו.
שלב 2: הכינו את אפליקציות האינטרנט
עבור החלק המפעיל והזמן האמיתי של המכשיר, נשתמש במסד הנתונים של Firebase בזמן אמת של Google. זהו מאגר עננים נפלא של NoSQL מתוצרת Google המספק סנכרון נתונים בזמן אמת בין כל אחת מהפלטפורמות בהן הוא נמצא בשימוש.
ראשית צור את הפרויקט בשם לבחירתך. לאחר יצירתו, צור צומת יחיד הנקרא "ספירה" והתחל אותו עם הערך אם 0. זוהי ספירת ההתחלה שלנו אותה נרצה לעקוב בעתיד.
אפליקציית Laravel משתמשת בחבילת "firebase-php" של Kreait, והיא מקושרת להלן. התקן את החבילה על ידי הפעלת "מלחין דורש kreait/firebase-php". לאחר סיום ההתקנה, עלינו ליצור את הבקר שבו הפעולה תתרחש. קראתי לשיטה "עדכון" וחיברתי אותה במסלולים בפעולת POST.
כדי לאחזר את מופע Firebase אתה צריך קובץ json שאתה צריך להוריד ממסוף ה- Firebase שלך. מקם קובץ זה בשורש פרוייקט Laravel שלך ושמו אותו firebase.json. בעת אחזור מופע בסיס האש, עלינו לספק את הנתיב לקובץ זה בשיטת withCredentials.
לאחר שקיבלנו את מופע בסיס האש, עלינו לקבל את ההפניה למסד הנתונים ולצומת שיצרנו קודם לכן. על כל פעולה, נקבל את הערך הנוכחי של הצומת, נגדיל אותו באחת ונשמור אם נחזור למסד הנתונים. זה יעקוב אחר האירועים שלנו שעלינו להודיע עליהם.
ניתן להשיג את אותו הדבר באמצעות HTML ו- JavaScript רגילים, באמצעות ספריית בסיס האש המסופקת. בעזרתו עלינו קודם כל לספק למערך התצורה את ההגדרות המתאימות ממסוף Firebase ולאתחל את האפליקציה. לאחר האתחול, אנו מקבלים התייחסות לצומת שבו אנו שומרים את ספירת האירועים ומצמידים מאזין כדי לאחזר כל שינוי ערך.
בנוסף, במקום לשלוח את הטופס כמו בדוגמה של Laravel, כעת יש לנו פונקציית JavaScript שנקראת בלחיצת כפתור, מעדכנת את הספירה וכותבת את הערך המעודכן בחזרה למסד הנתונים.
שלב 3: תכנות את לוח NodeMCU
כדי לתכנת את NodeMCU, השתמשתי בתוכנת Arduino ולאחר שהתקנתי את הלוח הקפדתי לבחור את הגירסה והיציאה המתאימות כדי שאוכל להעלות את התוכנה. שלי היא גירסה 1.0 אז בדוק שוב עם הלוח שלך לפני שתמשיך.
החלק הראשון של קוד Arduino, מגדיר את כל ההגדרות הדרושות שתצטרך להתאים במכשיר שלך. ההגדרה הראשונה כזו היא ה- ssid של ה- WiFi והסיסמה שלה, ואז עלינו להגדיר את כתובת ה- URL של בסיס האש ואת סוד ה- db של בסיס האש. לרוע המזל, זו אינה דרך ההתחברות המומלצת למסד הנתונים אך נכון לעכשיו זו הדרך היחידה שהספרייה תומכת בו. אתה יכול למצוא את הסוד הזה בתפריט הגדרות פרויקט, חשבונות שירות במסוף בסיס האש.
ההגדרה הבאה היא הנתיב שנבדוק אם קיימים עדכונים ומזהה המכשיר. יש צורך במזהה המכשיר, כך שאם יש לנו מספר מכשירים להודיע על אותם אירועים, עלינו לדעת איזה מכשיר הודיע לנו על האירוע ולשמור תיעוד על כך. אחרון עלינו להתקין את הסיכה שבה חיברנו את הבאזר וזהו D2 במקרה שלנו.
פונקציית ההתקנה מגדירה את סיכת ה- LED המובנית ואת סיכות ה- D2 כיציאות, פותחת את התקשורת הטורית כדי לדעת מה קורה ומתחברת לרשת ה- WiFi שצוין. לאחר חיבור החיבור, הוא מתחיל את התקשורת עם Firebase ומקבל את הערך האחרון עליו דיווחנו. לאחר מכן הוא מתחיל להאזין לשינויים בנתיב שצוין.
בלולאה הראשית, ישנה קריאה לפונקציית המצמוץ המהבהבת את ה- LED המובנה במשך 500 אלפיות השנייה כדי שנוכל לדעת שהמכשיר פעיל. כאשר מתגלה שינוי ויש נתונים זמינים שנוכל לקרוא עם הפונקציה הזמינה, הערך החדש של הצומת נקרא, ההפרש מחושב מכיוון שאולי היו בינתיים אירועים מרובים ומפיקים צפצופים בכל פעם של ההבדל.
לדוגמה, אם ההפרש בין הערך המדווח האחרון לבין הערך החדש הוא 4, יופקו 4 צפצופים שיודיעו לך שבוצעו 4 רכישות חדשות. פונקציית הביפ משתמשת בפונקציית הטון המובנית כדי לנגן תדר שצוין דרך הבאזר למשך פרק זמן מוגדר.
לאחר הפקת הצפצופים, הערך החדש מתעדכן עבור המכשיר שצוין והזרמה מופעלת מחדש. כרגע ישנה בעיה פתוחה בספריית הבסיס של arduino כי הזרמה לא ממשיכה באופן אוטומטי לאחר שאנו שומרים ערך באופן ידני ולכן עלינו להפעיל אותו מחדש.
שלב 4: תהנה מהמכשיר שלך
כל הקוד בו השתמשתי זמין בחשבון GitHub שלי המקושר למטה יחד עם הקישור לתרשים של הפרויקט.
קוד מקור
סכמטי
ניתן לאמץ את הקוד בקלות לעבודה בהרבה תרחישים ואירועים ואני בטוח שיהיה לך כיף לשחק איתו.
בשבילי זה היה מבנה ממש כיף והצלחתי ללמוד עליו די הרבה ועל כך אני ממש שמח. אני מקווה שזה יכול לעזור לך בפרויקט שלך, אבל אם אתה מוצא את עצמך תקוע בחלק כלשהו בו או שאתה צריך הבהרה נוספת, אנא הודע לי על כך בתגובות ואעשה כמיטב יכולתי לעזור לך.
אם אהבת את הפרויקט אנא הירשם לערוץ היוטיוב שלי:
טעמו את הקוד
מוּמלָץ:
אירוע אופק אירוע במים מקוררים במים: 11 שלבים (עם תמונות)
Event Horizon קירור מים לבניית מחשבים: Horizon Horizon הוא מחשב אישי מותאם לקירור מים עם נושא שטח Sci-Fi במארז PC Wraith. עקוב אחרי כשאני עובר בשלבים ליצירת החיה הזו
רובוט SCARA: למידה על קיממטיקה של פאוורד והיפוך !!! (עלילת טוויסט למד כיצד ליצור ממשק בזמן אמת ב- ARDUINO באמצעות עיבוד !!!!): 5 שלבים (עם תמונות)
רובוט SCARA: למידה על קיממטיקה של פאוורד והיפוך !!! (Plot Twist למד כיצד ליצור ממשק בזמן אמת ב- ARDUINO באמצעות עיבוד !!!!): רובוט SCARA הוא מכונה פופולרית מאוד בעולם התעשייה. השם מייצג הן זרוע רובוט הרכבה תואמת סלקטיבית והן זרוע רובוט מפרקית תואמת סלקטיבית. זהו בעצם רובוט של שלוש דרגות של חופש, בהיותו שני ההחלפות הראשונות
ESP01 Moodlight עם Firebase בזמן אמת + OTA: 7 שלבים
ESP01 Moodlight עם Firebase בזמן אמת + OTA: הוא תומך במצב R-G-B ובאפקט דהייה. כמו כן יש תמיכה בבקרת הבהירות. תמיכה בעדכון OTA
שעון זמן אמת בזמן אמת: 4 שלבים
שעון זמן אמת סביבתי: AimI יצרתי את השעון הזה כי יש לי פס LED שניתן להתייחס אליו ואני רוצה להשתמש בו. ואז ראיתי שלחדר שלי אין שעון טוב התואם את הקירות שלו. אז החלטתי להכין שעון שיכול לשנות את צבעו בהתאם למצב הרוח של המשתמש או
רשימת מטלות בזמן אמת באמצעות Firebase של Google: 12 שלבים
רשימת מטלות בזמן אמת באמצעות Google Firebase: היי! כולנו משתמשים ברשימות מטלות ביום יום, בין אם הן מקוונות או לא מקוונות. בעוד שרשימות לא מקוונות נוטות ללכת לאיבוד, ורשימות וירטואליות עלולות להיות במקומן, להימחק בטעות או אפילו לשכוח אותן. אז החלטנו ליצור אחד ב- Google Firebase