תוכן עניינים:

UCL-IIOT-מערכת אזעקה עם מסד נתונים וצומת אדום: 7 שלבים
UCL-IIOT-מערכת אזעקה עם מסד נתונים וצומת אדום: 7 שלבים

וִידֵאוֹ: UCL-IIOT-מערכת אזעקה עם מסד נתונים וצומת אדום: 7 שלבים

וִידֵאוֹ: UCL-IIOT-מערכת אזעקה עם מסד נתונים וצומת אדום: 7 שלבים
וִידֵאוֹ: theft alarm using arduino | Door alarm using arduino | திருடர் அபாயமணி🤡🤡🤡 2024, יולי
Anonim
UCL-IIOT-מערכת אזעקה עם מסד נתונים וצומת אדום
UCL-IIOT-מערכת אזעקה עם מסד נתונים וצומת אדום
UCL-IIOT-מערכת אזעקה עם מסד נתונים וצומת אדום
UCL-IIOT-מערכת אזעקה עם מסד נתונים וצומת אדום

מטרת בנייה זו היא ללמד על חיבור Arduino עם Node-red ומסד נתונים, כך שתוכל לרשום נתונים וגם לאסוף אותם לשימוש מאוחר יותר.

לבנייה זו אני משתמש במערכת אזעקה ארדואינו פשוטה המפיקה 5 מספרי נתונים, כל אחד מופרד בפסיק.

אין צורך בכמות הנתונים המדויקת והתוכנית יכולה להיות כל דבר.

החלק החשוב הוא שהנתונים מופרדים עם פסיקים כפי שניתן לראות בצילום מסך זה.

הפלט יכול למשל להיראות כך: "324, 0, 0, 1, 1"

(התכנות המוגמרות וההוראות ליצירת הארדואינו מקושרות בתחתית מדריך זה)

שלב 1: תחילת העבודה עם Node-red

תחילת העבודה עם Node-red
תחילת העבודה עם Node-red

להדרכה זו אנו מניחים שכבר התקנת את Node-red, אך ישנן מספר לוחות נוספים המשמשים לפרויקט זה, אשר אנו זקוקים לו בכדי שהוא יעבוד

מצא את הלחצן "נהל לוח" והתקן את הלוחות הבאים.

  • צומת-אדום-לוח מחוונים
  • node-red-node-mysql
  • צומת-אדום-צומת-ארדואינו
  • node-red-node-serialport

הוא אמור להציג כמה לוחות חדשים בצד התפריט של כפתור אדום.

שלב 2: פיצול נתונים בצומת אדום

פיצול נתונים בצומת אדום
פיצול נתונים בצומת אדום

כעת, כאשר Node-red מוכן לצאת לדרך, עלינו להתחיל ולחלק את הנתונים שלנו לחתיכות נפרדות.

זו הסיבה שהקפדנו להפריד ביניהם באמצעות פסיקים בתוך קוד ה- Arduino.

ראשית נתחיל בהנחת הצומת קלט Arduino, הנמצא בלוח הצד השמאלי.

אתה צריך לוודא שיש לו את היציאה הטורית (שלי משתמשת ב- COM4) ואת קצב השידור (בתוכנית שלי אני משתמש בקצב שידור של 9600)

אם הוא מוגדר כהלכה, הוא צריך להגיד שהוא מחובר.

בשלב הבא אנו יוצרים בלוק פונקציות Javascript ומחברים אותו לאחר צומת הקלט של Arduino. בלוק זה מאפשר לנו לתכנת ב- Javascript, וכאן אנו כותבים קוד שיכול לפצל את הנתונים שלנו לכל פסיק.

בגוש פונקציות זה פיצלתי את 5 הנתונים שלי באמצעות הקוד הבא:

var m1 = {topic: "light1", מטען: msg.payload.split (",") [0]}; var m2 = {topic: "light2", מטען: msg.payload.split (",") [1]}; var m3 = {topic: "light3", מטען: msg.payload.split (",") [2]}; var m4 = {topic: "millis", מטען: msg.payload.split (",") [3]}; var m5 = {topic: "onoff", מטען: msg.payload.split (",") [4]}; החזרה [m1, m2, m3, m4, m5];

(שנה את הקוד לפי הצורך)

ודא שהצומת מוגדר ל -5 יציאות (או המקבילה שלך)

כפי שניתן לראות בצילום המסך, כעת יש לנו 5 יציאות שכל אחת מהן מקשרת לצומת באגים ולצומת לוח מחוונים טקסט. זה יהיה שימושי כאשר נצטרך לראות אותו בממשק המשתמש.

שלב 3: מסד נתונים עם Wampserver

מסד נתונים עם Wampserver
מסד נתונים עם Wampserver

כדי שמאגר הנתונים שלנו יפעל עליך להתקין את Wampserver. לאחר התקנתו ומוצג כסמל ירוק (לאחר שהתחלת את כל השירותים), עליך לפתוח את "phpMyAdmin" שאמור להביא אותך למסך התחברות. אלא אם כן יש לך שינית אותו בעבר, פשוט הזן "שורש" בשם המשתמש והתחברות.

לחץ על הלחצן phpmyadmin מתחת לכלים בסרגל השמאלי וזה אמור לפתוח את תפריט מסד הנתונים, שנראה בערך כמו שמופיע בתמונה למעלה.

צור מסד נתונים חדש ושם אותו משהו שקשור לפרויקט שלך, שלי נקרא "מערכת אזעקה" (שמות אלה יהיו תלויי רישיות)

מתחת למסד הנתונים הזה, צור טבלה חדשה ושם אותה, שלי נקרא "נתוני אזעקה"

הוא ישאל אם אתה רוצה להשתמש ב- "latin1_swedish_ci" ואנחנו פשוט שומרים את זה ככה.

עכשיו אתה יוצר 6 טבלאות (1 יותר מהנתונים שיש לנו)

הטבלה הראשונה צריכה להשתמש בסוג הנתונים "longtext"

ושאר מערך הנתונים משתמש ב"טקסט בינוני"

הקפד לתת להם שמות. (יש לקרוא למערך הנתונים הראשון "זמן"

שלב 4: מסד נתונים

מאגר מידע
מאגר מידע

מערך הנתונים של Wampserver אמור להיראות בערך כך.

(אך ללא הנתונים האמיתיים, מכיוון שטרם הגענו לכך)

שלב 5: צומת אדום ל- Wampserver

צומת אדום ל- Wampserver
צומת אדום ל- Wampserver

כעת אנו רוצים שהנתונים שאנו מוציאים מהארדואינו יגיעו ל- Wampserver שלנו.

התחל ביצירת בלוק פונקציות נוסף של Javascript וחבר אותו לצומת הקלט arduino שלנו.

בגוש סקריפט זה, שוב פיצלנו את הנתונים שלנו, אך אנו מכניסים אותם גם למסד הנתונים שלנו.

var data = msg.payload.split (","); var Green1 = data [0]; var Green2 = data [1]; var אזעקה = נתונים [2]; var Millis = data [3]; var IsActive = data [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES ('"+תאריך חדש (). toISOString (). פרוסה (0, 19). מקום (' T ',' ')+"', '"+Green1+"', '"+Green2+"', '"+Alarm+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = יוצא; מסר החזרה;

שימו לב שאני מזין "INSERT INTO alarmsystem.alarmdata", זה השם שנתנו למסד הנתונים שלנו והטבלה, הקפד לכתוב את השם המדויק שנתת למסד הנתונים שלך בזה.

כעת חבר את בלוק ה- Javascript לצומת באגים וגם לצומת "mysql" שנמצא מתחת ללוח האחסון בצד שמאל.

מתחת לחסימת mysql אתה קורא לזה אותו כמו מסד הנתונים שלך "מערכת אזעקה"

שנה את המשתמש ל- "root" (השם בו השתמשנו בכניסה לשרת שלנו)

מארח, יציאה ומסד נתונים צריך להיות מלא כבר:

מארח: 127.0.0.1

נמל: 3306

מסד נתונים: מערכת אזעקה

אם הכל נעשה נכון, יש לחבר אותו לאחר פריסת השינויים.

אתה אמור גם להיות מסוגל לראות שמאגר הנתונים רושם כעת את הנתונים שלך מהארדואינו ישירות.

שלב 6: שימוש בנתונים מ- Wampserver ל- Node-red

שימוש בנתונים מ- Wampserver ל- Node-red
שימוש בנתונים מ- Wampserver ל- Node-red
שימוש בנתונים מ- Wampserver ל- Node-red
שימוש בנתונים מ- Wampserver ל- Node-red

למקטע האחרון אנו רוצים לראות אם נוכל לקחת את הנתונים ששמרנו ולהחזיר אותם לצומת האדום שלנו ובתקווה להציג אותם.

התחל על ידי הצבת צומת "הזרקה"

מתחת לנושא בצומת זה שמנו את הקוד: SELECT*FROM alarmsystem.alarmdata

זה יוכל למצוא את מסד הנתונים שלנו כאשר נלחץ עליו.

חבר את צומת ההזרקה לצומת "mysql" חדש שהוקם בדיוק כמו זה שעשינו בשלב הקודם.

חבר את הצומת mysql לצומת באגים ולצומת תבנית שנמצא מתחת ללוח המחוונים.

צומת התבנית תהיה הטבלה שלנו שנוכל לעדכן כך שתציג נתונים ממסד הנתונים בעת הפקתם.

הזן את הקוד המוצג בצילום המסך למעלה (שנה לפי הצורך) ועכשיו הוא אמור להציג טבלת נתונים בממשק המשתמש האדום של הצומת שלנו.

אנו יכולים גם להוסיף לחצן לוח מחוונים לעדכון הטבלה ממשק המשתמש עצמו.

התחל ביצירת צומת כפתורים.

חבר את צומת הכפתורים לבלוק פונקציות Javascript.

בלוק הפונקציות אנו מכניסים את הקוד הבא.

msg.topic = "בחר * מתוך נתוני אזעקה הזמנה לפי Green1 DESC LIMIT 20";

(Green1 הוא משתנה הנתונים הראשון בטבלה)

לאחר מכן יש לחבר את בלוק הפונקציות הזה לקלט של צומת mysql שלנו שיצרנו בעבר בשלב זה.

שלב 7: סיום

מסיים
מסיים

כעת ממשק המשתמש שלנו צריך לכלול עדכון חי של הנתונים שלנו וטבלה עם נתונים מהשרת שלנו עצמו.

המשמעות היא שיצרנו חיבור בין Arduino, תוכנית מבוססת ממשק משתמש ולמסד נתונים.

אם אתה מעוניין כיצד פועלת מערכת האזעקה של ארדואינו, הוספתי מסמך המסביר כיצד הוא מתוכנת ומתוכנן.

כמו גם ייצוא מלא של התכנות אדום הצומת.

מוּמלָץ: