Sommario:

IOT CA2 Secure Smart Home/Stanza: 8 passaggi
IOT CA2 Secure Smart Home/Stanza: 8 passaggi

Video: IOT CA2 Secure Smart Home/Stanza: 8 passaggi

Video: IOT CA2 Secure Smart Home/Stanza: 8 passaggi
Video: Умный WiFi проектор звездных галактик с лазером и светомузыкой TUYA SMART 2024, Luglio
Anonim
IOT CA2 Casa/stanza sicura sicura
IOT CA2 Casa/stanza sicura sicura
IOT CA2 Casa/stanza sicura sicura
IOT CA2 Casa/stanza sicura sicura

Sommario

1 Panoramica di Smart Secure Home

2 Requisiti hardware + Configurazione

3 Requisiti software + Configurazione

4 Registra raspberrypi come una cosa

5 Crea un secchio S3

6 Configurazione di DynamoDB + Regole

7 Risultato atteso

8 codici (da Pastebin)

9 referenze

Panoramica

Accoglienza! Questo progetto Raspberry Pi è un sistema di gestione "casa intelligente", con alcune funzionalità di sicurezza. Il progetto è in grado di misurare vari valori come temperatura e luce. La sezione di sicurezza è composta da un cicalino, un sistema di scansione delle carte (scheda di autorizzazione), una telecamera interna ed esterna e un sistema di avviso SMS. Le seguenti istruzioni riguarderanno l'impostazione dell'intero progetto.

Fondamentalmente, abbiamo un resistore a diodi luminosi e un sensore DHT11 per ottenere i valori di temperatura e luce. I valori verranno quindi pubblicati su "smartroom/sensori/valori" e ci sarà un abbonamento all'argomento per verificare se i valori vengono pubblicati. Una volta pubblicati i valori, i valori verranno inviati anche alla nostra tabella DynamoDB. I valori memorizzati all'interno di DynamoDB possono essere estratti ed essere tracciati in un grafico che mostra i valori in tempo reale nella nostra interfaccia web. (Grafico luce) Oltre a utilizzare i sensori per ottenere valori per tracciare il nostro grafico a scopo di analisi, il nostro sensore dht11 viene utilizzato anche come potenziale rilevatore di "incendio". Quando raggiunge una certa temperatura che potrebbe essere un incendio, abbiamo uno script chiamato publishHeat.py che pubblicherà la temperatura su un argomento "smartroom/sensor/fire", la breadboard che simboleggia l'esterno dell'appartamento si iscriverà a quella argomento e avere un LED acceso per indicare che potrebbe esserci un potenziale incendio. L'allarme scatterà anche insieme a un SMS per avvisare il proprietario della casa quando potrebbe esserci un potenziale incendio.

Per entrare nella casa/stanza, l'utente dovrà toccare la propria tessera sullo scanner RFID. Se la carta toccata non è corretta, l'allarme suonerà finché non verrà toccata una carta con le credenziali corrette. Inoltre, quando viene toccata una scheda errata, la telecamera di sorveglianza esterna scatterà una foto dell'utente che ha toccato la scheda e caricherà l'immagine nel bucket S3. Il proprietario di casa riceverà anche un SMS che informa che qualcuno ha tentato di entrare nella sua casa. La stanza ha anche un indicatore LED esterno per etichettare se la porta è sbloccata/bloccata. Quando la porta è bloccata, il LED giallo è acceso. Quando sbloccato, il LED verde sarà acceso. Quando viene toccata una carta autorizzata, la porta verrà sbloccata per 15 secondi e con il LED verde acceso, quindi tornerà in modalità sbloccata con il LED giallo acceso.

Gli utenti possono visualizzare i dati raccolti tramite un dashboard in Node-Red che mostra i valori di misurazione correnti oltre a una rappresentazione grafica di un indicatore e un grafico storico. La Dashboard include anche funzionalità aggiuntive come un orologio che visualizza i dati e l'ora correnti e passa al controllo remoto di vari apparecchi elettrici, rappresentati da LED e da un cicalino.

Infine, abbiamo anche una funzione di bot di Telegram. Il bot di Telegram è in grado di scattare foto da remoto di tutto ciò che sta accadendo all'interno della stanza e memorizzarle nel bucket S3. Queste immagini saranno etichettate con all'interno una cartella denominata “Homed/User Il bot telegram sarà in grado di controllare da remoto anche la luce LED nella stanza.

Passaggio 1: requisiti hardware + configurazione

Requisiti hardware + configurazione
Requisiti hardware + configurazione
Requisiti hardware + configurazione
Requisiti hardware + configurazione

Collega i seguenti componenti con i tuoi 2 lamponi pis come mostrato negli schemi fritzing sopra.

2 x Raspberry Pi

3 x tagliere

1 x MCP3008 ADC

1 x sensore DhT 11

1 x LDR

1 x lettore di schede RFID/NFC MFRC522

4 x LED

1 x schermo LCD

Resistore 3 x 10k

Resistenza 4 x 220/330

1 x pulsante

1 x cicalino

34 x cavi maschio-maschio

11 x cavi da maschio a femmina

Passaggio 2: requisiti software + configurazione

Requisiti software + configurazione
Requisiti software + configurazione
Requisiti software + configurazione
Requisiti software + configurazione
Requisiti software + configurazione
Requisiti software + configurazione

Digita i seguenti comandi nel tuo terminale raspberry pi per assicurarti che siano installati.

Se uno dei seguenti software è già stato scaricato nel tuo pi, sudo pip install (nome software) --upgrade farà il trucco di aggiornarlo.

- sudo pip install gevent

- sudo pip install flask

- sudo pip install nexmo

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

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

- sudo pip install --upgrade pip

- sudo apt-get install python-dev

- sudo pip install boto3

- sudo pip install botocore

- sudo pip install numpy

- cd ~

git clone

cd ~/SPI-Py

sudo python setup.py install"

- cd ~

git clone

cd ~/MFRC522-python

sudo python setup.py install"

- sudo nano /boot/config.txt, controlla se le righe device_tree_param=spi=on

dtoverlay=spi-bcm2835 sono dentro, altrimenti aggiungi.

Passaggio 3: registrare una cosa

Registrare una cosa
Registrare una cosa
Registrare una cosa
Registrare una cosa
Registrare una cosa
Registrare una cosa
Registrare una cosa
Registrare una cosa

a) Innanzitutto, accedi a IoT Core all'interno del sito Web AWS facendo clic su servizi, quindi su IoT Core.

b) Nella barra di navigazione sotto gestisci, seleziona le cose e scegli registra una cosa.

c) Scegli Crea una singola cosa.

d) Inserisci un nome per il tuo oggetto, ad esempio MyRaspberryPi2. Lascia il resto dei campi con i loro valori predefiniti. Fare clic su Avanti nella parte inferiore della pagina.

e) Fare clic su Crea certificato. Scarica tutti e quattro i file. Per il file CA root, scarica Amazon Root CA 1 e salvalo in un blocco note.

f) Una volta fatto, sposta i quattro file in una directory in raspberry pi.

g) Fare clic su attiva.

h) Dopo aver cliccato su allega policy, verrai portato alla pagina seguente. Fare clic su Registra cosa, la politica verrà creata in seguito.

i) Nella dashboard di iot, vai ai criteri nella sezione sicura. Fare clic su crea un criterio.

j) Inserisci un nome per la tua politica, per questo esempio sarà MyRaspberryPiSecurityPolicy e digita quanto segue in Aggiungi istruzioni. Quindi fare clic su Crea.

k) Nella dashboard iot, vai ai certificati nella sezione sicura. Seleziona il certificato che hai creato in precedenza e fai clic su Allega criterio dal menu a discesa delle azioni. Allega la policy che hai creato in precedenza.

l) Seleziona di nuovo il certificato che hai creato in precedenza e fai clic su allega oggetto. Allega la policy che hai creato in precedenza. Allega la cosa che hai creato in precedenza.

Passaggio 4: creazione di un bucket S3

Creazione di un secchio S3
Creazione di un secchio S3
Creazione di un secchio S3
Creazione di un secchio S3
Creazione di un secchio S3
Creazione di un secchio S3
Creazione di un secchio S3
Creazione di un secchio S3

a) Inizieremo utilizzando la funzione di ricerca nella console di gestione AWS e cercheremo "s3".

b) Fare clic su Crea bucket.

c) Digitare un nome per il bucket. Per questo esempio, utilizzeremo il nome "sp-p1703263". Sceglieremo la regione "US EAST (N. VIRGINIA)" che è us-east-1. Fatto ciò, fai clic su Crea.

d) Il nuovo bucket creato apparirà nella dashboard.

Passaggio 5: creazione della tabella DynamoDB e impostazione delle regole

Creazione della tabella DynamoDB e impostazione delle regole
Creazione della tabella DynamoDB e impostazione delle regole
Creazione della tabella DynamoDB e impostazione delle regole
Creazione della tabella DynamoDB e impostazione delle regole
Creazione della tabella DynamoDB e impostazione delle regole
Creazione della tabella DynamoDB e impostazione delle regole
Creazione della tabella DynamoDB e impostazione delle regole
Creazione della tabella DynamoDB e impostazione delle regole

a) Innanzitutto, accedi ai servizi AWS facendo clic su

servizi, quindi DynamoDB. Fare clic su Crea tabella.

b) Immettere il nome della tabella "iotdata" e la chiave primaria "deviceid" con una chiave di ordinamento "datetimeid", quindi fare clic su crea nella parte inferiore della pagina.

c) Successivamente, torna alla pagina IoT Core. Fai clic su Agisci, quindi fai clic su Crea una nuova regola.

d) Creare una regola con il nome “MyDynamoDBRule”. Sotto l'argomento dell'istruzione di query della regola, inserisci "sensori/luce".

e) Nella sezione Imposta una o più azioni, fare clic su aggiungi azione, fare clic su "dividi messaggio in più colonne di una tabella di database". Fare clic su Configura azione. Sotto il nome della tabella, scegli iotdata. In Nome ruolo IAM, seleziona il ruolo che hai creato in precedenza, ovvero "dynamodb_role". Fai clic su aggiungi azione, quindi crea regola.

f) Fare clic su Crea regola.

Passaggio 6: risultato atteso

Risultato previsto
Risultato previsto
Risultato previsto
Risultato previsto

All'aperto

per il pi che rappresenta l'esterno della stanza, verranno eseguiti gli script heatdetector.py e AccessDoor.py. Se una tessera errata tocca lo scanner RFID, l'allarme scatterà, con il LED giallo ancora acceso. Verrà inviato un SMS al telefono del proprietario di casa per avvisare di una possibile intrusione. Anche l'allarme suonerà. Verrà anche scattata una foto e caricata istantaneamente in S3 Bucket. Se la tessera toccata è autorizzata, il led verde si accenderà e l'utente potrà entrare. La porta verrà nuovamente bloccata dopo 15 secondi (il LED verde si spegnerà e il LED giallo si riaccende). Se la temperatura all'interno della stanza/casa diventa troppo alta (a una temperatura che riteniamo come casa/stanza potenzialmente in fiamme), invieremo un SMS di avviso al proprietario della casa. L'allarme suona anche con il LED rosso esterno acceso.

Interno

per il pi che rappresenta l'interno della stanza, verranno eseguiti gli script publishHeat.py, server.py, pubsub.py, telegrambot.py. Pubsub.py memorizzerà i valori in tempo reale in DynamoDB. quando viene eseguito server.py, digita l'indirizzo IP dell'rpi: 5000 nel browser, verrai indirizzato alla nostra interfaccia web. Abbiamo un grafico che mostra i valori di luce in tempo reale ottenuti dai nostri sensori in pubsub.py in DynamoDB. Inoltre, nella nostra interfaccia web verranno visualizzati anche i valori storici della luce. publishHeat.py pubblicherà i valori di temperatura sulla breadboard esterna ai fini del sensore antincendio. telegrambot.py consentirà all'utente di controllare da remoto l'accensione/spegnimento della luce LED nella stanza/casa, nonché di scattare una foto di ciò che sta accadendo all'interno e di caricare l'immagine nel secchio S3.

Per una migliore visualizzazione di come dovrebbe essere il risultato atteso:

Passaggio 7: codici sorgente (Pastebin)

Codici sorgente (Pastebin)
Codici sorgente (Pastebin)

Clicca sul link. Consiste di tutti i codici sorgente necessari:

Passaggio 8: riferimenti

Riferimenti
Riferimenti

Iotguider. (2019). Invia SMS da Raspberry Pi usando Python. [online] Disponibile su: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Accesso 21 agosto 2019].

Consigliato: