Taula de continguts:

IOT CA2 Secure Smart Home / Room: 8 passos
IOT CA2 Secure Smart Home / Room: 8 passos

Vídeo: IOT CA2 Secure Smart Home / Room: 8 passos

Vídeo: IOT CA2 Secure Smart Home / Room: 8 passos
Vídeo: Life Simplified with Connected Devices 2024, Desembre
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

Taula de continguts

1 Visió general de Smart Secure Home

2 requisits de maquinari + configuració

3 Requisits de programari + Configuració

4 Registre el raspberrypi com a cosa

5 Creeu un cub S3

6 Configuració de DynamoDB + Regles

7 Resultat esperat

8 codis (de Pastebin)

9 Referències

Visió general

Benvingut! Aquest projecte de Raspberry Pi és un sistema de gestió de "casa intel·ligent", amb certes funcions de seguretat. El projecte és capaç de mesurar diversos valors com la temperatura i la llum. La secció de seguretat està formada per un buzzer, un sistema d’escaneig de targetes (autoritza la targeta), una càmera interior i exterior, així com un sistema d’alerta per SMS. Les instruccions següents cobriran la configuració de tot el projecte.

Bàsicament, tenim una resistència de díodes de llum i un sensor DHT11 per obtenir la temperatura i els valors de llum. Els valors es publicaran a ‘smartroom / sensors / values’ i hi haurà una subscripció al tema per comprovar si s’estan publicant els valors. Un cop es publiquin els valors, també s’enviaran a la nostra taula DynamoDB. Els valors emmagatzemats a DynamoDB es poden extreure i representar en un gràfic que mostra valors en temps real a la nostra interfície web. (Gràfic de llum) A més d'utilitzar els sensors per obtenir valors per traçar el nostre gràfic amb finalitats d'anàlisi, el nostre sensor dht11 també s'utilitza com a detector de "foc" potencial. Quan arriba a una temperatura determinada que pot ser un foc, tenim un script anomenat publishHeat.py que publicarà la temperatura a un tema "smartroom / sensor / fire", la taula de suport que simbolitza l'exterior de l'apartament s'hi subscriurà tema i tingueu un LED encès per indicar que hi pot haver un incendi potencial. També es dispararà l'alarma, així com un SMS per avisar el propietari de la casa quan hi pugui haver un incendi potencial.

Per entrar a casa / habitació, l'usuari haurà de tocar la targeta a l'escàner RFID. Si la targeta tapada és incorrecta, sonarà l'alarma fins que toqui una targeta amb les credencials adequades. A més, quan s’extreu una targeta incorrecta, la càmera de vigilància exterior farà una foto de l’usuari que ha fet un toc a la targeta i penjarà la imatge al dipòsit S3. El propietari de la casa també rebrà un SMS en què s’indica que algú ha intentat entrar a casa seva. La sala també té un indicador LED exterior per etiquetar si la porta està bloquejada o desbloquejada. Quan la porta està bloquejada, s’encén el LED groc. Quan es desbloqueja, el LED verd s’encendrà. Quan es prem una targeta autoritzada, la porta es desbloquejarà durant 15 segons i, amb el LED verd encès, tornarà a estar en mode desbloquejat amb el LED groc encès.

Els usuaris poden veure les dades recopilades mitjançant un tauler de control en vermell de node que mostra els valors de mesura actuals, a més d’una representació gràfica d’un indicador i un gràfic històric. El tauler també inclou funcions addicionals, com ara un rellotge que mostra les dades i l'hora actuals i commuta per controlar de forma remota diversos aparells elèctrics, que es representen com a LED i un brunzidor.

Per últim, també tenim una funció de bot de telegrama. El robot de telegrama pot fer fotografies de forma remota de tot el que succeeix a l’habitació i emmagatzemar-lo a la galleda S3. Aquestes imatges s’etiquetaran dins d’una carpeta anomenada “Homed / User” El bot del telegrama també podrà controlar de forma remota la llum LED de la sala.

Pas 1: Requisits de maquinari + Configuració

Requisits de maquinari + Configuració
Requisits de maquinari + Configuració
Requisits de maquinari + Configuració
Requisits de maquinari + Configuració

Connecteu els components següents amb els vostres 2 pis de gerds, tal com es mostra als diagrames de fritzing anteriors.

2 x Raspberry Pi

3 x Taula de pa

1 x MCP3008 ADC

1 sensor DhT 11

1 x LDR

1 lector de targetes RFID / NFC MFRC522

4 x LED

1 pantalla LCD

Resistència de 3 x 10 k

4 x 220/330 resistència

1 botó

1 x Buzzer

34 x Cables mascle a mascle

11 x cables macho a femella

Pas 2: Requisits de programari + Configuració

Requisits de programari + Configuració
Requisits de programari + Configuració
Requisits de programari + Configuració
Requisits de programari + Configuració
Requisits de programari + Configuració
Requisits de programari + Configuració

Escriviu les ordres següents al vostre terminal de raspberry pi per assegurar-vos que estan instal·lades.

Si algun dels programes següents ja està descarregat al vostre pi, sudo pip install (nom del programari): upgrade farà el truc d’actualitzar-lo.

- sudo pip install gevent

- matràs d'instal·lació sudo pip

- 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 instal·lar boto3

- sudo pip instal·lar botocore

- sudo pip instal·lar 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, comproveu si les línies device_tree_param = spi = on

dtoverlay = spi-bcm2835 són dins, sinó afegiu-hi.

Pas 3: registrar una cosa

Registrar una cosa
Registrar una cosa
Registrar una cosa
Registrar una cosa
Registrar una cosa
Registrar una cosa
Registrar una cosa
Registrar una cosa

a) En primer lloc, aneu a IoT Core al lloc web d’AWS fent clic a serveis i després a IoT Core.

b) A la barra de navegació que hi ha sota gestiona, selecciona les coses i tria registrar una cosa.

c) Trieu Crea una sola cosa.

d) Introduïu un nom per a la vostra cosa, per exemple, MyRaspberryPi2. Deixeu la resta de camps pel seu valor predeterminat. Feu clic al següent a la part inferior de la pàgina.

e) Feu clic a crear certificat. Baixeu els quatre fitxers. Per al fitxer CA arrel, descarregueu Amazon Root CA 1 i deseu-lo en un bloc de notes.

f) Un cop fet, moveu els quatre fitxers a un directori de raspberry pi.

g) Feu clic a activar.

h) Després de fer clic a la política d’adjunt, accedireu a la pàgina següent. Feu clic a Registra cosa, la política es crearà més endavant.

i) Al tauler de iot, aneu a les polítiques de la secció segura. Feu clic a crea una política.

j) Introduïu un nom per a la vostra política, per a aquest exemple serà MyRaspberryPiSecurityPolicy i introduïu el següent a Afegeix instruccions. A continuació, feu clic a Crea.

k) Al tauler iot, aneu a certificats a la secció segura. Seleccioneu el certificat que heu creat anteriorment i feu clic a política d'adjuntar al menú desplegable d'accions. Adjunteu la política que heu creat anteriorment.

l) Seleccioneu de nou el certificat que heu creat anteriorment i feu clic a adjunta cosa. Adjunteu la política que heu creat anteriorment. Adjunteu el que heu creat anteriorment.

Pas 4: Creació d'un dipòsit S3

Creació d’un cub S3
Creació d’un cub S3
Creació d’un cub S3
Creació d’un cub S3
Creació d’un cub S3
Creació d’un cub S3
Creació d’un cub S3
Creació d’un cub S3

a) Començarem per utilitzar la funció de cerca a la consola d'administració d'AWS i buscarem "s3".

b) Feu clic a Crea dipòsit.

c) Escriviu un nom per al dipòsit. Per a aquest exemple, utilitzarem el nom "sp-p1703263". Triarem la regió "EUA EST (N. VIRGINIA)" que és us-est-1. Un cop fet això, feu clic a Crea.

d) El nou dipòsit creat apareixerà al tauler.

Pas 5: creació de la taula DynamoDB i establir regles

Creació de taules i regles de DynamoDB
Creació de taules i regles de DynamoDB
Creació de taules i regles de DynamoDB
Creació de taules i regles de DynamoDB
Creació de taules i regles de DynamoDB
Creació de taules i regles de DynamoDB
Creació de taules i regles de DynamoDB
Creació de taules i regles de DynamoDB

a) En primer lloc, aneu fins als serveis d’AWS fent clic a

serveis, després DynamoDB. Feu clic a crear taula.

b) Introduïu el nom de la taula "iotdata" i la clau principal "deviceid" amb una clau d'ordenació "datetimeid" i, a continuació, feu clic a crear a la part inferior de la pàgina.

c) Després, torneu a la pàgina IoT Core. Feu clic a Actua i, a continuació, feu clic a Crea una regla nova.

d) Creeu una regla amb el nom "MyDynamoDBRule". Al tema de la declaració de consulta de regles, introduïu "sensors / llum".

e) A la secció Estableix una o més accions, feu clic a Afegeix acció, feu clic a "divideix el missatge en diverses columnes d'una taula de base de dades". Feu clic a configurar l'acció. Sota el nom de la taula, trieu la iotdata. Sota el nom de la funció IAM, seleccioneu la funció que heu creat anteriorment, que és "dynamodb_role". Feu clic a Afegeix una acció i, a continuació, creeu una regla.

f) Feu clic a crear una regla.

Pas 6: Resultat esperat

Resultat esperat
Resultat esperat
Resultat esperat
Resultat esperat

A l’aire lliure

per al pi que representa l'exterior de l'habitació, s'executaran els scripts heatdetector.py i AccessDoor.py. Si toca una targeta incorrecta a l'escàner RFID, l'alarma s'apagarà i el LED groc continuarà encès. S’enviarà un SMS al telèfon del propietari de la casa per notificar una possible intrusió. També sonarà l’alarma. També es prendrà una foto i es penjarà instantàniament a S3 Bucket. Si la targeta tocada està autoritzada, el LED verd s’encendrà i l’usuari hi podrà entrar. La porta es tornarà a bloquejar al cap de 15 segons (el LED verd s’apagarà i es tornarà a encendre el LED groc). Si la temperatura a l'habitació o la casa augmenta massa (a una temperatura que considerem potencialment com a casa o habitació), enviarem una alerta per SMS al propietari de la casa. L’alarma també sonarà amb el LED vermell exterior encès.

Interior

per al pi que representa l'interior de la sala, s'executaran els scripts publishHeat.py, server.py, pubsub.py, telegrambot.py. Pubsub.py emmagatzemarà els valors en temps real a DynamoDB. quan s'executa server.py, escriviu l'adreça IP del rpi: 5000 al navegador, se us dirigirà a la nostra interfície web. Tenim un gràfic que mostra els valors de llum en temps real obtinguts dels nostres sensors a pubsub.py a DynamoDB. A més, els valors històrics de la llum també es mostraran a la nostra interfície web. publishHeat.py publicarà els valors de temperatura a la placa exterior per a finalitats de sensor d'incendi. telegrambot.py permetrà a l'usuari controlar remotament l'encesa / apagada de la llum LED de l'habitació / casa, així com fer una imatge del que passa a l'interior i penjar la imatge al dipòsit S3.

Per obtenir una millor visualització de com hauria de ser el resultat esperat:

Pas 7: codis font (Pastebin)

Codis font (Pastebin)
Codis font (Pastebin)

Feu clic a l'enllaç. Consisteix en tots els codis font necessaris:

Pas 8: referències

Referències
Referències

Iotguider. (2019). Envieu SMS des de Raspberry Pi mitjançant Python. [en línia] Disponible a: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Consultat el 21 d'agost de 2019].

Recomanat: