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

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

וִידֵאוֹ: כיצד לבצע מערכת אזעקה לאיתור הצפות חכמות באמצעות פטל פיי וארגון חלקיקים: 6 שלבים

וִידֵאוֹ: כיצד לבצע מערכת אזעקה לאיתור הצפות חכמות באמצעות פטל פיי וארגון חלקיקים: 6 שלבים
וִידֵאוֹ: How to check for faults on your Lightsys 2 alarm system 2024, נוֹבֶמבֶּר
Anonim
Image
Image
כיצד לבצע מערכת אזעקה לאיתור הצפות חכמות באמצעות פטל פי וארגון חלקיקים
כיצד לבצע מערכת אזעקה לאיתור הצפות חכמות באמצעות פטל פי וארגון חלקיקים

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

אבל זה מקשה אם אתה לא בבית להגיע לאזעקה.

כמובן שאתה יכול לקנות כאלה חכמים

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

אספקה

פטל פאי (אני משתמש במודל 3 B+) פועל raspbian

חלקיק ארגון

חיישן מים של גרוב

מצלמת רספי

זַמזָם

חוטי מגשר

שלב 1: חבר חיישן מים לחלקיק

חבר את חיישן המים לחלקיק
חבר את חיישן המים לחלקיק
חבר את חיישן המים לחלקיק
חבר את חיישן המים לחלקיק

לחיישן המים יש 4 סיכות, שהן GND, VCC, NC ו- SIG ואנו הולכים להשתמש רק בשלושה מהם.

אני מחבר את סיכת SIG ל- D2 ב- Argon.

כעת תוכל להפעיל את Particle Web IDE בכדי לכתוב את הקוד ולהבזיק ל- Argon

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

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

שלב 2: חבר את מקור האזעקה לפטל

חבר את מקור האזעקה לפטל
חבר את מקור האזעקה לפטל

על לוח הלוח תוכלו לחבר את באזר לסיכת ה- GPIO של פטל

חיברתי קצה קטן יותר של זמזם ל- GND (PIN 6) וקצה ארוך יותר לסיכה 7 על פטל.

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

לחלופין תוכל להריץ קובץ זה בעת ההפעלה על הפטל שלך, אותו תוכל לבצע על ידי עריכה /etc /systemd

וקובץ זה ימוקם בתיקיית cgi של שרת ה- apache שלך, יצרתי ספרייה חדשה flood-cgi בתוך/var/www/html/והנחתי קובץ.py זה שיתקשר עם סקריפט ה- cgi שלי

שלב 3: הגדר את שרת ה- Apache

הגדר את שרת Apache
הגדר את שרת Apache

אתה יכול להתקין את שרת apache על ידי הקלדת sudo apt-get install apache2

כאשר הוא מותקן, תוכל לאמת על ידי הקלדת שם המארח -אני

ותקבל את כתובת ה- IP המקומית שלך ותוכל להיכנס לדפדפן שלך ותראה שרת פועל

שלב 4: הפעל CGI ב- Apache

הפעל CGI ב- Apache
הפעל CGI ב- Apache

אתה יכול להפעיל cgi על ידי הקלדת sudo a2enmod cgi

כברירת מחדל cgi_bin של apache ממוקם ב-/usr/lib/cgi-bin

כאן תוכל לשים את קובצי ה- cgi שלך לאחר הפעלת cgi

כדי לקבל את האפקט, עליך להפעיל מחדש את שרת האפצ'י

רציתי ספרייה מותאמת אישית לסקריפטים של cgi שלי אז יצרתי ספרייה ב-/var/www/html/שנקרא flood-cgi

כדי לאפשר ספרייה זו הייתי צריך ליצור קובץ conf על ידי הקלדה

sudo nano /etc/apache2/conf-available/flood-cgi.conf

והוספת פקודות כפי שמוצג בצילום המסך

לאחר מכן הפעל ספרייה זו על ידי הקלדה

var/www/html $ sudo a2enconf flood-cgi

עכשיו אתה יכול להפעיל מחדש את שרת ה- apache שלך וכל cgi מהתיקייה הזו תהיה קריאה על ידי apache לאחר האישור.

שלב 5: הגדרת דף האינטרנט

הגדר את דף האינטרנט
הגדר את דף האינטרנט

עבור שירות אינטרנט פשוט זה, אני משתמש ב- HTML, Javascript, CSS, jquery ו- ajax.

יש לי חמש תוויות שליטה הניתנות ללחיצה, במקרה שלחיצה על צילום תמונה מדף אינטרנט, היא תפעיל את פונקציית לחיצת כפתור התמונה ופונקציה זו נראית כך

$ ("#photobutton"). לחץ (function () {var floodDate = new Date ();

var floodImageName = "Flood_IMG_" + floodDate.toLocaleTimeString ();

$.ajax ({

url: 'flood-cgi/flood_cgi.py', שיטה: 'פוסט', data: {name_for_image: floodImageName}, הצלחה: פונקציה (נתונים) {

התראה (נתונים, סטטוס)

$ ("#recentpic"). attr ("src", "flood-cgi/" + floodImageName + ".jpg");

}

})

});

זה יקרא לתסריט flood_cgi.py לצלם ולשמור תמונה עם שם מותאם אישית שנוצר לפי התאריך והשעה הנוכחיים והטענות ajax עד לדף.

במקרה של אזעקה, אנו יכולים להשתמש בפונקציה זו

function callAlarm (alarmType) {

$.ajax ({

url: 'flood-cgi/alarm.cgi', שיטה: 'פוסט', נתונים: {alarm_type: alarmType}, הצלחה: פונקציה (נתונים) {התראה (נתונים)

}, error: function (XMLHttpRequest, textStatus, throwError) {alert (throwError)}});

}

הפונקציה callAlarm תתקשר כאשר לוחצים על תווית הבאזר, $ ("#באזר"). לחץ על (function () {callAlarm ("test");

})

הקוד למטה הוא כאשר אתה רוצה ללחוץ על שיטפון מדומה כלומר להתקשר ל- API Particle ולהתקשר לפונקציה ולשנות את ערך הנוזל 1 ולבדוק את המערכת אם הכל פועל כצפוי על ידי ביצוע אירוע הצפה מדומה.

$ ("#mockFlood"). לחץ (פונקציה () {console.log ("מבוקש מדומה ביקש");

var floodVal = 1;

$ ("#signal2"). css ("גודל גופן", "קטן");

var varName = "isFloodPresent";

var deviceID = "מזהה המכשיר שלך";

var accessToken = "אבטחת הגישה שלך";

if (floodVal) {

$.post ("https://api.particle.io/v1/devices/" + deviceID + "/liquid? access_token =" + accessToken, {liquid: floodVal}, פונקציה (נתונים, סטטוס) {

if (status == "הצלחה") {

alert ("מבול מדומה בוצע !!!");

} אחר {

alert ("מצטער, הייתה בעיה");

}

});

}

});

אלו הן הפונקציות העיקריות שאתה צריך כדי ליצור חיבור עם Particle Api ועם הפטל שלך, כך שפי הפטל שלך והתקן החלקיקים ארגון יוכל לתקשר.

הערה: רציתי להעלות את כל הקוד, אבל זה לא מאפשר לי להעלות קובץ.html

שלב 6: צור סקריפט למצלמת Raspi

אנו יוצרים.py פשוט ללכידת תמונה ויהיה בה הערה של התאריך והשעה הנוכחיים.

אז ניצור סקריפט cgi flood_cgi.py כך שהוא יקרא מהאינטרנט וזה יפקוד על קובץ.py לצלם.

הקפד להתחיל סקריפט cgi עם #! /usr/bin/env python

וגם לתת הרשאת apache להפעלת קבצים אלה.

שרת apache פועל על נתוני www של משתמשים, כך שברגע שנוצר את קובץ.py או.cgi, apache צריך להיות הבעלים של הקובץ

sudo chown pi: www-data flood-cgi.py

ולתת אישור לבצע

sudo chmod a+x flood-cgi.py

יהיה עליך לעשות זאת עבור כל הקבצים שצריכים לפעול משרת apache.

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

מוּמלָץ: