Cuprins:
- Pasul 1: Pasul 1: Configurare hardware
- Pasul 2: Pasul 2: Instalarea și realizarea premiselor
- Pasul 3: Pasul 3: Secure Office - Scripturi
- Pasul 4: Pasul 4: Experiența de învățare
Video: Securitate Smart Office: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
În acest proiect, ne propunem să învățăm cum să implementăm AWS și MQTT în configurația noastră IoT.
Cu amenințarea unui atac din interior, această aplicație își propune să monitorizeze birourile utilizatorilor de înaltă autoritate. Când utilizatorul este departe de birou, această aplicație va monitoriza biroul.
- Urmărește atât valorile temperaturii, cât și umiditatea și le afișează pe aplicația web
- Permite utilizatorilor să aprindă și să oprească LED-ul
-
2 tipuri de mod de alarmă
- Alarmă activată - Când alarma este activată, verificarea temperaturii și umidității se va opri, în timp ce senzorii de mișcare vor fi aprinși. Dacă există mișcare în birou, sunetul va suna și se va face o fotografie, iar utilizatorii pot vedea ce a fost detectat atunci când sunt departe de biroul lor
- Alarm Off - Când alarma este dezactivată, va fi verificată temperatura și umiditatea, iar valorile vor fi afișate în aplicația web, în timp ce senzorii de mișcare și camera vor fi dezactivate
- În ambele moduri, utilizatorii pot controla în continuare luminile LED.
- Folosind AWS DynamoDB, putem stoca calea imaginilor, astfel încât utilizatorii să poată vedea fotografiile făcute
- De asemenea, folosind AWS, putem trimite un e-mail utilizatorilor atunci când este detectată mișcare în timpul lor, când sunt departe de biroul lor.
Acum, să aflăm cum reușim să implementăm un astfel de sistem!
Pasul 1: Pasul 1: Configurare hardware
De ce ai nevoie:
- 2x Raspberry Pi 3
- 2x T-Cobbler Kit
- 1x placă de pâine
- Cabluri asortate
- Rezistoare asortate
- 1x LED
- 1x senzori de temperatură și umiditate DHT11
- 1x senzor de mișcare PIR
- 1x buzzer
Setarea noastră conține un LED conectat la GPIO 18, astfel încât utilizatorul să poată controla iluminatul din biroul său. Pentru înregistrarea nivelurilor de temperatură și umiditate, vom folosi un senzor DHT conectat la GPIO4. Urmat de senzorul nostru de mișcare PIR conectat la GPIO 26 pentru a detecta intrușii în birou atunci când utilizatorul este plecat. În cele din urmă, buzzer-ul să sune o alarmă atunci când alarma este pornită și detectează ceva.
Pasul 2: Pasul 2: Instalarea și realizarea premiselor
AWS
În primul rând conectați-vă la
1. După conectare, faceți clic pe catalog în panoul din stânga, apoi faceți clic pe AWS Educate Starter Account 75
2. Copiați ID-ul cheii de acces și cheia de acces secret pentru configurare în raspberry pi mai târziu.
3. Faceți clic pe Open Console
Înregistrarea pi de zmeură ca un lucru
1. Căutați AWS IOT
2. Faceți clic pe Gestionare din panoul din stânga și apoi faceți clic pe Lucruri
3. Faceți clic pe creați în colțul din dreapta
4. Selectați Înregistrați un singur lucru AWS IOT
5. Dă-i lucrului tău un nume și dă clic pe următor
6. Faceți clic pe creați certificat și salvați cele 4 lucruri generate
7. Activați CA rădăcină
8. Creați o politică și atașați-o la lucrurile dvs.
-Dă-i un nume -Action: iot. * -Resursă ARN: * -Bifează permisiunea Dynamodb
Înainte de toate, rulați aws configure Utilizați ID-ul cheii de acces și cheia de acces secret de mai devreme
Următorul, 1. Creați un fișier numit iot-role-trust.json cu următorul conținut
iot-role-trust.json
2. Rulați următoarea comandă: aws iam create-role --role-name my-iot-role --assume-role-policy-document file: //iot-role-trust.json
3. Creați un fișier numit iot-policy.json cu următorul conținut
iot-policy.jason
4. Rulați comanda: aws iam put-role-policy --role-name my-iot-role --policy-name iot-policy --policy-document file: //iot-policy.json
DynamoDB
1. Creați tabele în Dynamodb pentru senzorul de mișcare și temperatură / umiditate -Pentru imaginea de mișcare setați cheia primară la senzor -Pentru temperatură și umiditate utilizați timestamp ca cheie primară
2. Creați o regulă pentru detectarea mișcării
Atribut: * filtru subiect: senzori / mișcare
3. Acțiune: selectați divizarea mesajului în mai multe coloane ale unei baze de date
Lambda
1. Creați o funcție Lambda cu următorul conținut
Funcția Lambda
2. Creați o regulă pentru lambda
-Atribut:*
-filtru topic: senzori / tot
3. Acțiunile selectate invocă funcția Lambda trecând mesajul
4. Lambda va face restul pentru tine
SNS
1. Creați un subiect SNS
2. Introduceți subiectul și numele afișat
3. Editați politica subiectului pentru a permite tuturor să publice și să se aboneze la subiect
4. Abonați-vă la subiect cu e-mail
5. Reveniți la regula de detectare a mișcării
6. Adăugați o altă acțiune pentru această regulă numită send amessage ca o notificare push SNS
7. Ținta SNS va fi subiectul pe care l-ați creat în format RAW
S3
1. Accesați S3 și creați o bucket pentru încărcarea imaginilor
Lucruri importante de instalat pe Pis
Flask - sudo pip instalare flask
Boto - sudo pip instala boto
Boto3 - sudo pip instala boto3
AWSIoTPythonSDK - sudo pip instala AWSIoTPythonSDK
awscli - sudo pip instalează awscli
paho - sudo pip instala paho
mqtt - sudo pip instala mqtt
Pasul 3: Pasul 3: Secure Office - Scripturi
În pi-ul utilizatorului, avem 1 script
client.py - Acest script va abona la mai multe subiecte, cum ar fi senzorii / temperatura și senzorii / umiditatea, pentru a obține valorile de temperatură și umiditate care vor fi afișate în aplicația web. De asemenea, trimite starea LED-ului, astfel încât starea LED-ului să poată fi modificată pe partea serverului
client.py
În serverul pi, avem 1 script
server.py - Acest script se va abona la subiectul stării luminii, astfel încât luminile LED să poată fi aprinse și oprite. În același timp, va primi valori de temperatură și umiditate de pe panoul de testare și le va publica subiectului numit senzori / toate, iar în funcția lambda valorile vor fi publicate la 2 subiecte diferite, senzori / temperatură și senzori / umiditate
server.py
Pasul 4: Pasul 4: Experiența de învățare
În această misiune, ne-am confruntat cu multe provocări, deoarece acest modul este încă nou pentru noi. Cu toate acestea, prin acest proiect, am învățat multe. Fie că este IOT al AWS, suntem mândri să spunem că știm cum să integrăm AWS în kitul nostru IoT de bază și să-l facem mai mult un sistem avansat.
Recomandat:
Sistem de securitate de casă care folosește senzorul Fusion: 5 pași
Sistem de securitate de casă care folosește senzorul Fusion: Ideea din spatele acestui proiect este de a crea un senzor de securitate ieftin și ușor de realizat, care să poată fi folosit pentru a vă alerta când cineva l-a trecut. Scopul inițial era să creez ceva care să mă poată anunța când cineva urca scările, dar și eu
Cum să faci o cutie de securitate care urmează printre noi Joc - Sarcină de cablare electrică: 7 pași
Cum să faci jocul de cutie de securitate în urma noastră - sarcină de cablare electrică: Astăzi, îți voi arăta cum să faci o cutie de securitate după jocul dintre noi - sarcină de cablare electrică
Camera de securitate Raven Pi: 7 pași (cu imagini)
Cameră de securitate Raven Pi: acest corb din plastic se bucură de un nou post-viață ca o cameră de securitate practică, dar înfiorătoare, Raven Pi. Are un Raspberry Pi în burtă și o cameră Pi încorporată în gât, captând videoclipuri HD ori de câte ori este detectată mișcare. În același moment este
Proiect de alarmă de securitate laser folosind Arduino: 5 pași
Proiect de alarmă de securitate laser folosind Arduino: Alarma de securitate laser este o industrie adoptată pe scară largă și alte reclame. Motivul din spate este că laserul este mai puțin predispus să fie afectat de condițiile de mediu, ceea ce îl face fiabil și de încredere. Deci, în acest proiect Arduino am folosit Laser
Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului: 7 pași
Sistem electronic de securitate cu RTC și codul PIN de definire a utilizatorului: Bună băieți! Acesta este un proiect pe care l-am realizat folosind un microcontroler pic, un sistem electronic de securitate a codului PIN cu ceas în timp real și caracteristicile codului PIN definite de utilizator, această pagină conține toate detaliile pentru a face unul singur