Cuprins:

IOT CA2 Secure Smart Home / Room: 8 pași
IOT CA2 Secure Smart Home / Room: 8 pași

Video: IOT CA2 Secure Smart Home / Room: 8 pași

Video: IOT CA2 Secure Smart Home / Room: 8 pași
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Iulie
Anonim
IOT CA2 Secure Smart Home / Room
IOT CA2 Secure Smart Home / Room
IOT CA2 Secure Smart Home / Room
IOT CA2 Secure Smart Home / Room

Cuprins

1 Prezentare generală a Smart Secure Home

2 Cerințe hardware + Configurare

3 Cerințe software + Configurare

4 Înregistrați raspberrypi ca pe un lucru

5 Creați o cupă S3

6 Configurare DynamoDB + Reguli

7 Rezultatul așteptat

8 coduri (de la Pastebin)

9 Referințe

Prezentare generală

Bine ati venit! Acest proiect Raspberry Pi este un sistem de gestionare „casă inteligentă”, cu anumite caracteristici de securitate. Proiectul este capabil să măsoare diferite valori, cum ar fi temperatura și lumina. Secțiunea de securitate constă dintr-un buzzer, un sistem de scanare a cardurilor (autorizează cardul), o cameră interioară și exterioară, precum și un sistem de alertă SMS. Următoarele instrucțiuni vor acoperi configurarea întregului proiect.

Practic, avem un rezistor cu diode ușoare și un senzor DHT11 pentru a obține temperatura, precum și valorile luminii. Valorile vor fi apoi publicate în „cameră inteligentă / senzori / valori” și va exista un abonament la subiect pentru a verifica dacă valorile sunt publicate. Odată ce valorile sunt publicate, valorile vor fi trimise și în tabelul nostru DynamoDB. Valorile stocate în DynamoDB pot fi extrase și trasate într-un grafic care afișează valori în timp real în interfața noastră web. (Grafic luminos) Pe lângă utilizarea senzorilor pentru obținerea de valori pentru graficul nostru în scopuri de analiză, senzorul nostru dht11 este utilizat și ca potențial detector de „incendiu”. Atunci când atinge o anumită temperatură care ar putea fi un incendiu, avem un script numit publishHeat.py care va publica temperatura la un subiect „cameră inteligentă / senzor / foc”, panoul care simbolizează exteriorul apartamentului se va abona apoi la acel subiect și să se aprindă un LED pentru a indica faptul că ar putea exista un incendiu potențial. Alarma se va declanșa și un SMS pentru a avertiza proprietarul casei atunci când ar putea exista un incendiu potențial.

Pentru a intra în casă / cameră, utilizatorul va trebui să atingă cardul pe scanerul RFID. Dacă cardul atins este incorect, alarma va suna până când este atinsă o cartelă cu acreditările corecte. În plus, atunci când este atins un card incorect, camera de supraveghere din exterior va face o fotografie a utilizatorului care a atins cardul și va încărca imaginea în cupa S3. Proprietarul casei va primi, de asemenea, un SMS prin care se va spune că cineva a încercat să intre în casa sa. Camera are, de asemenea, un indicator LED în exterior pentru a eticheta dacă ușa este deblocată / blocată. Când ușa este blocată, LED-ul galben este aprins. Când este deblocat, LED-ul verde va fi aprins. Când se atinge un card autorizat, ușa va fi deblocată timp de 15 secunde și cu LED-ul verde aprins, apoi va reveni în modul deblocat cu LED-ul galben aprins.

Utilizatorii pot vizualiza datele colectate printr-un tablou de bord în roșu de nod, care arată valorile curente ale măsurătorilor, în plus față de o reprezentare grafică a unui indicator și a unui grafic istoric. Tabloul de bord include și funcții suplimentare, cum ar fi un ceas care afișează datele și ora curente și comută pentru a controla de la distanță diferite aparate electrice, care sunt reprezentate ca LED-uri și un buzzer.

În cele din urmă, avem, de asemenea, o funcție de telegramă bot. Botul de telegramă este capabil să facă de la distanță fotografii cu orice se întâmplă în cameră și să-l stocheze în cupa S3. Aceste imagini vor fi etichetate cu un folder numit „Acceptat / Utilizator. Botul de telegramă va putea controla de la distanță și lumina LED din cameră.

Pasul 1: Cerințe hardware + Configurare

Cerințe hardware + Configurare
Cerințe hardware + Configurare
Cerințe hardware + Configurare
Cerințe hardware + Configurare

Conectați următoarele componente cu cele 2 pis de zmeură, așa cum se arată în diagramele fritzing de mai sus.

2 x Raspberry Pi

3 x Placă de pâine

1 x MCP3008 ADC

1 x senzor DhT 11

1 x LDR

1 x cititor de carduri RFID / NFC MFRC522

4 x LED

1 x ecran LCD

Rezistor 3 x 10k

4 x 220/330 Rezistor

1 x buton

1 x buzzer

34 x Cabluri de la tată la tată

11 x Cabluri de la tată la tată

Pasul 2: Cerințe software + Configurare

Cerințe software + Configurare
Cerințe software + Configurare
Cerințe software + Configurare
Cerințe software + Configurare
Cerințe software + Configurare
Cerințe software + Configurare

Tastați următoarele comenzi în terminalul dvs. raspberry pi pentru a vă asigura că sunt instalate.

Dacă vreunul dintre următoarele software-uri este deja descărcat în pi, instalați sudo pip (numele software-ului) - upgrade va face trucul actualizării acestuia.

- sudo pip instala gevent

- sudo pip instalare balon

- sudo pip instala nexmo

- sudo pip install --upgrade --force-reinstall pip == 9.0.3

- sudo pip instala AWSIoTPythonSDK --upgrade --disable-pip-version-check

- sudo pip install --upgrade pip

- sudo apt-get install python-dev

- sudo pip instala boto3

- sudo pip instalează botocore

- sudo pip instala numpy

- cd ~

git clone

cd ~ / SPI-Py

sudo python setup.py instalare"

- cd ~

git clone

cd ~ / MFRC522-python

sudo python setup.py instalare"

- sudo nano /boot/config.txt, verificați dacă liniile device_tree_param = spi = on

dtoverlay = spi-bcm2835 sunt înăuntru, altfel adăugați.

Pasul 3: Înregistrarea unui lucru

Înregistrarea unui lucru
Înregistrarea unui lucru
Înregistrarea unui lucru
Înregistrarea unui lucru
Înregistrarea unui lucru
Înregistrarea unui lucru
Înregistrarea unui lucru
Înregistrarea unui lucru

a) Mai întâi, navigați la IoT Core pe site-ul AWS făcând clic pe servicii, apoi IoT Core.

b) În bara de navigare de sub gestionare, selectați lucruri și alegeți să înregistrați un lucru.

c) Alegeți Creați un singur lucru.

d) Introduceți un nume pentru lucrul dvs., de exemplu, MyRaspberryPi2. Lăsați restul câmpurilor după valorile lor implicite. Faceți clic pe următorul din partea de jos a paginii.

e) Faceți clic pe creați certificat. Descărcați toate cele patru fișiere. Pentru fișierul CA rădăcină, descărcați Amazon Root CA 1 și salvați-l într-un notepad.

f) Odată terminat, mutați cele patru fișiere într-un director în raspberry pi.

g) Faceți clic pe activare.

h) După ce faceți clic pe politica de atașare, veți fi condus la pagina următoare. Faceți clic pe înregistrare, politica va fi creată mai târziu.

i) În tabloul de bord iot, navigați la politicile din secțiunea securizată. Faceți clic pe creați o politică.

j) Introduceți un nume pentru politica dvs., pentru acest exemplu va fi MyRaspberryPiSecurityPolicy și introduceți următoarele în Adăugați instrucțiuni. Apoi faceți clic pe Creare.

k) Pe tabloul de bord iot, navigați la certificate în secțiunea securizată. Selectați certificatul pe care l-ați creat anterior și faceți clic pe atașare politică din meniul derulant acțiuni. Atașați politica pe care ați creat-o anterior.

l) Selectați din nou certificatul pe care l-ați creat anterior și faceți clic pe atașare. Atașați politica pe care ați creat-o anterior. Atașați lucrul pe care l-ați creat anterior.

Pasul 4: Crearea unei cupe S3

Crearea unei cupe S3
Crearea unei cupe S3
Crearea unei cupe S3
Crearea unei cupe S3
Crearea unei cupe S3
Crearea unei cupe S3
Crearea unei cupe S3
Crearea unei cupe S3

a) Vom începe cu utilizarea funcției de căutare în consola de administrare AWS și vom căuta „s3”.

b) Faceți clic pe create bucket.

c) Tastați un nume pentru cupă. Pentru acest exemplu, vom folosi numele „sp-p1703263”. Vom alege regiunea „SUA EST (N. VIRGINIA)” care este noi-est-1. După ce ați terminat, faceți clic pe Creați.

d) Noua cupă creată va apărea în tabloul de bord.

Pasul 5: Crearea tabelului DynamoDB și setarea regulilor

Crearea tabelului DynamoDB și setarea regulilor
Crearea tabelului DynamoDB și setarea regulilor
Crearea tabelului DynamoDB și setarea regulilor
Crearea tabelului DynamoDB și setarea regulilor
Crearea tabelului DynamoDB și setarea regulilor
Crearea tabelului DynamoDB și setarea regulilor
Crearea tabelului DynamoDB și setarea regulilor
Crearea tabelului DynamoDB și setarea regulilor

a) Mai întâi, navigați la serviciile AWS făcând clic pe

servicii, apoi DynamoDB. Faceți clic pe creați tabelul.

b) Introduceți numele tabelului „iotdata” și cheia principală „deviceid” cu o cheie de sortare „datetimeid”, apoi faceți clic pe creați în partea de jos a paginii.

c) După aceea, navigați înapoi la pagina IoT Core. Faceți clic pe Act, apoi faceți clic pe creați o nouă regulă.

d) Creați o regulă cu numele „MyDynamoDBRule”. Sub subiectul declarației de interogare a regulii, introduceți „senzori / lumină”.

e) În secțiunea Setare una sau mai multe acțiuni, faceți clic pe adăugare acțiune, faceți clic pe „împărțiți mesajul în mai multe coloane ale unui tabel de baze de date”. Faceți clic pe configurare acțiune. Sub numele tabelului, alege iotdata. Sub numele rolului IAM, selectați rolul pe care l-ați creat anterior, care este „dynamodb_role”. Faceți clic pe adăugați acțiune, apoi creați regulă.

f) Faceți clic pe creați regulă.

Pasul 6: Rezultatul așteptat

Rezultat așteptat
Rezultat așteptat
Rezultat așteptat
Rezultat așteptat

În aer liber

pentru pi care reprezintă exteriorul camerei, vor fi rulate scripturile heatdetector.py și AccessDoor.py. Dacă un card incorect atinge scanerul RFID, alarma se va declanșa, cu LED-ul galben încă aprins. Un SMS va fi trimis la telefonul proprietarului casei pentru a notifica o eventuală intruziune. Alarma va fi sunată și ea. O fotografie va fi, de asemenea, făcută și încărcată instantaneu în S3 Bucket. Dacă cardul atins este autorizat, LED-ul verde se va aprinde și utilizatorul poate intra. Ușa va fi blocată din nou după 15 secunde (LED-ul verde se stinge și LED-ul galben se aprinde din nou). Dacă temperatura din interiorul camerei / locuinței devine prea ridicată (la o temperatură pe care o considerăm că ar putea fi incendiată), vom trimite o alertă SMS proprietarului casei. Alarma va fi, de asemenea, sonoră, cu LED-ul roșu aprins.

De interior

pentru pi care reprezintă interiorul camerei, scripturile publishHeat.py, server.py, pubsub.py, telegrambot.py vor fi rulate. Pubsub.py va stoca valorile în timp real în DynamoDB. când server.py este rulat, tastați adresa IP a rpi: 5000 în browser, veți fi direcționat către interfața noastră web. Avem un grafic care afișează valorile luminii în timp real obținute de la senzorii noștri din pubsub.py în DynamoDB. În plus, valorile istorice ale luminii vor fi afișate și în interfața noastră web. publishHeat.py va publica valorile temperaturii pe panoul exterior pentru scopurile senzorului de incendiu. telegrambot.py va permite utilizatorului să controleze de la distanță pornirea / oprirea luminii LED din cameră / casă, precum și să realizeze o imagine a ceea ce se întâmplă în interior și să încarce imaginea în cupa S3.

Pentru o mai bună vizualizare a modului în care ar trebui să arate rezultatul scontat:

Pasul 7: Coduri sursă (Pastebin)

Coduri sursă (Pastebin)
Coduri sursă (Pastebin)

Apasa pe link. Constă din toate codurile sursă necesare:

Pasul 8: Referințe

Referințe
Referințe

Iotguider. (2019). Trimiteți SMS de la Raspberry Pi folosind Python. [online] Disponibil la: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Accesat la 21 august 2019].

Recomandat: