Sommario:
- Passaggio 1: requisiti hardware + configurazione
- Passaggio 2: requisiti software + configurazione
- Passaggio 3: registrare una cosa
- Passaggio 4: creazione di un bucket S3
- Passaggio 5: creazione della tabella DynamoDB e impostazione delle regole
- Passaggio 6: risultato atteso
- Passaggio 7: codici sorgente (Pastebin)
- Passaggio 8: riferimenti
Video: IOT CA2 Secure Smart Home/Stanza: 8 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
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
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
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
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
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
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
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)
Clicca sul link. Consiste di tutti i codici sorgente necessari:
Passaggio 8: 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:
Scopri quando qualcuno è entrato in una stanza utilizzando il sensore radar Xyc-wb-dc: 7 passaggi
Scopri quando qualcuno è entrato in una stanza utilizzando il sensore radar Xyc-wb-dc: In questo tutorial impareremo come scoprire quando qualcuno è entrato in una stanza utilizzando il modulo RTC, il sensore radar xyc-wb-dc, il display OLED e arduino. video dimostrativo
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: 3 passaggi
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: spesso vediamo contatori visitatori in stadi, centri commerciali, uffici, aule, ecc. Come contano le persone e accendono o spengono la luce quando nessuno è all'interno? Oggi siamo qui con il progetto di controllo automatico della luce ambientale con contatore visitatori bidirezionale
Fanair: una stazione meteorologica per la tua stanza: 6 passaggi (con immagini)
Fanair: una stazione meteorologica per la tua stanza: ci sono innumerevoli modi per scoprire il tempo attuale, ma poi conosci solo il tempo fuori. E se volessi conoscere il tempo all'interno della tua casa, all'interno di una stanza specifica? Questo è quello che cerco di risolvere con questo progetto. Fanair usa mul
SmartBox - Sistema Smart Home per la tua stanza: 6 passaggi
SmartBox - Sistema Smart Home per la tua stanza: ciao a tutti! In questo tutorial, ti spiegherò come realizzare un sistema intelligente per la stanza. Questo sistema contiene due dispositivi. Un dispositivo generale con un sensore di umidità e un sensore di temperatura che misura l'attuale qualità della vita nella tua stanza. tu c
Automatizza l'intera stanza con Google Home + Arduino, NodeMCU e Ubidots: 5 passaggi
Automatizza l'intera stanza con Google Home + Arduino, NodeMCU e Ubidots: ciao a tutti, eccomi qui per mostrarvi un progetto che ho realizzato. Sta per controllare e automatizzare la vostra stanza con arduino e nodemcu con una piattaforma IoT che uso mesi fa e penso che sia fantastico, quindi eccomi qui a condividere con voi la mia esperienza. Con questo