תוכן עניינים:
וִידֵאוֹ: אבטחה חכמה למשרד: 4 שלבים
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
בפרויקט זה, אנו שואפים ללמוד כיצד ליישם AWS ו- MQTT בהגדרת ה- IoT שלנו.
עם האיום של מתקפת פנים, יישום זה נועד לפקח על משרדיהם של משתמשים בעלי רשות גבוהה. כאשר המשתמש רחוק מהמשרד, יישום זה יפקח על המשרד.
- הוא עוקב אחר ערכי הטמפרטורה והלחות ומציג אותו ביישום האינטרנט
- הוא מאפשר למשתמשים להדליק ולכבות את ה- LED
-
2 סוגים של מצב אזעקה
- אזעקה מופעלת - כאשר האזעקה מופעלת, בדיקת הטמפרטורה והלחות תיפסק, בעוד שחיישני התנועה יופעלו. אם יש תנועה במשרד, הזמזם יישמע ותצלום יתבצע והמשתמשים יכולים לראות מה זוהה כשהם רחוקים מהמשרד שלהם.
- אזעקה כבויה - כאשר האזעקה כבויה, תיבדק הטמפרטורה והלחות והערכים יוצגו ביישום האינטרנט בזמן שחיישני התנועה והמצלמה יושבתו.
- בשני המצבים המשתמשים עדיין יכולים לשלוט בנורות LED.
- תוך שימוש ב- AWS DynamoDB, אנו יכולים לאחסן את נתיב התמונות כך שמשתמשים יוכלו לראות את התמונות שצולמו
- כמו כן, באמצעות AWS, אנו יכולים לשלוח דוא"ל למשתמשים כאשר מתגלה תנועה במהלך זמנם כשהם רחוקים ממשרדם.
כעת, בואו לגלות כיצד אנו מצליחים ליישם מערכת כזו!
שלב 1: שלב 1: התקנת חומרה
מה אתה צריך:
- 2x פטל פי 3
- 2x ערכת T-Cobbler
- 1x לוח לחם
- כבלי מגשר שונים
- נגדים שונים
- 1x LED
- 1x DHT11 חיישני טמפרטורה ולחות
- 1x PIR חיישן תנועה
- 1x באזר
המערך שלנו מכיל LED המחובר ל- GPIO 18 כך שהמשתמש יכול לשלוט על התאורה במשרד שלו. לרישום הטמפרטורות והלחות, נשתמש בחיישן DHT המחובר ל- GPIO4. ואחריו חיישן התנועה PIR שלנו המחובר ל- GPIO 26 כדי לזהות פולשים במשרד כשהמשתמש לא נמצא. לבסוף, הבאזר להשמיע אזעקה כאשר האזעקה מופעלת וזיהה משהו.
שלב 2: שלב 2: התקנה וביצוע התנאים המוקדמים
AWS
ראשית התחבר ל-
1. לאחר הכניסה, לחץ על הקטלוג בחלונית השמאלית ולאחר מכן לחץ על חשבון AWS Educate Starter 75
2. העתק את מזהה מפתח הגישה ומפתח הגישה הסודית לתצורה ב- pi פטל מאוחר יותר.
3. לחץ על מסוף פתוח
רישום פאי הפטל שלך כדבר
1. חפש AWS IOT
2. לחץ על נהל בחלונית השמאלית ולאחר מכן לחץ על דברים
3. לחץ על צור בפינה הימנית
4. בחר רשום דבר אחד של AWS IOT
5. תן שם לדבר שלך ולחץ על הבא
6. לחץ על צור אישור ושמור את 4 הדברים שנוצרו
7. הפעל את השורש CA
8. צור מדיניות וצירף אותה לדבר שלך
-תן לזה שם -פעולה: iot.* -משאב ARN:* -בדוק את ההרשאה Dynamodb
לפני הכל, run aws configure השתמש במזהה מפתח הגישה ובמפתח גישה סודית מקודם
הַבָּא, 1. צור קובץ בשם iot-role-trust.json עם התוכן הבא
iot-role-trust.json
2. הפעל את הפקודה הבאה: aws iam create-role --role-name my-iot-role --assume-role-policy-document file: //iot-role-trust.json
3. צור קובץ בשם iot-policy.json עם התוכן הבא
iot-policy.jason
4. הפעל את הפקודה: aws iam put-role-policy --role-name my-iot-role --policy-name iot-policy --policy-document file: //iot-policy.json
DynamoDB
1. צור טבלאות ב- Dynamodb לחיישן תנועה וטמפרטורה/לחות -לתמונת תנועה הגדר את המפתח הראשי לחיישן -לטמפרטורה ולחות השתמש בחותמת הזמן כמפתח ראשי
2. צור כלל לאיתור תנועה
תכונה:* מסנן נושאים: חיישנים/תנועה
3. פעולה: בחר הודעה מפוצלת למספר עמודות של מסד נתונים
למבדה
1. צור פונקציית Lambda עם התוכן הבא
פונקציית למבדה
2. צור כלל עבור למבדה
-תְכוּנָה:*
-מסנן נושא: חיישנים/הכל
3. פעולות בחר להפעיל את פונקציית Lambda להעביר את ההודעה
4. למבה יעשה את השאר עבורך
SNS
1. צור נושא SNS
2. הזן את הנושא ואת שם התצוגה
3. ערוך את מדיניות הנושא כדי לאפשר לכולם לפרסם ולהירשם לנושא
4. הירשם לנושא באמצעות מייל
5. חזור לכלל זיהוי התנועה
6. הוסף פעולה נוספת לכלל זה שנקרא שלח הודעה כהודעת דחיפה של SNS
7. יעד SNS יהיה הנושא שיצרת פורמט הודעות RAW
S3
1. עבור אל S3 וצור דלי להעלאת תמונות
דברים חשובים להתקנה ב- Pis
בקבוק - בקבוק ההתקנה של sudo pip
בוטו - sudo pip להתקין בוטו
Boto3 - התקן sudo pip boto3
AWSIOTTPythonSDK - התקנת sudo pip להתקין AWSIoTPythonSDK
awscli - sudo pip להתקין awscli
paho - sudo pip התקן paho
mqtt - sudo pip להתקין mqtt
שלב 3: שלב 3: משרד מאובטח - סקריפטים
ב- pi של המשתמש יש לנו סקריפט אחד
client.py - סקריפט זה יירשם להרבה נושאים כגון החיישנים/טמפרטורה וחיישנים/לחות כדי לקבל את ערכי הטמפרטורה והלחות שיוצגו ביישום האינטרנט. הוא גם שולח את הסטטוס של ה- LED כך שניתן לשנות את מצב ה- LED בצד השרת
client.py
ב- pi השרת, יש לנו סקריפט אחד
server.py - סקריפט זה יירשם לנושא מצב האור, כך שניתן יהיה להדליק ולכבות את נורות הלד. במקביל, הוא יקבל ערכי טמפרטורה ולחות מלוח הלחם ויפרסם אותו לנושא שנקרא חיישנים/הכל ובפונקציית הלמבה הערכים יתפרסמו ל -2 נושאים שונים, חיישנים/טמפרטורה וחיישנים/לחות
server.py
שלב 4: שלב 4: חווית למידה
במשימה זו, התמודדנו עם אתגרים רבים מכיוון שמודול זה עדיין חדש עבורנו. עם זאת, באמצעות הפרויקט הזה, למדנו הרבה. בין אם זה הרבה AWS, אנו גאים לומר כי אנו יודעים כיצד לשלב AWS בערכת הליבה של IoT ולהפוך אותה למערכת מתקדמת יותר.