Tabla de contenido:

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

Video: IOT CA2 Secure Smart Home / Room: 8 pasos

Video: IOT CA2 Secure Smart Home / Room: 8 pasos
Video: Top 10 Smart Home Tech on Amazon 2024, Noviembre
Anonim
IOT CA2 Secure Smart Home / Habitación
IOT CA2 Secure Smart Home / Habitación
IOT CA2 Secure Smart Home / Habitación
IOT CA2 Secure Smart Home / Habitación

Tabla de contenido

1 Descripción general de Smart Secure Home

2 Requisitos de hardware + Configuración

3 Requisitos de software + Configuración

4 Registrar raspberrypi como una cosa

5 Cree un bucket de S3

6 Configuración de DynamoDB + Reglas

7 Resultado esperado

8 códigos (de Pastebin)

9 referencias

Visión general

¡Bienvenido! Este proyecto Raspberry Pi es un sistema de gestión de "hogar inteligente", con ciertas características de seguridad. El proyecto es capaz de medir varios valores como la temperatura y la luz. La sección de seguridad consta de un Buzzer, un sistema de escáner de tarjetas (Autoriza la tarjeta), una cámara interior y exterior, así como un sistema de alerta por SMS. Las siguientes instrucciones cubrirán la configuración de todo el proyecto.

Básicamente, tenemos una resistencia de diodo de luz y un sensor DHT11 para obtener la temperatura y los valores de luz. Luego, los valores se publicarán en "smartroom / sensores / valores" y habrá una suscripción al tema para verificar si los valores se están publicando. Una vez que se publiquen los valores, los valores también se enviarán a nuestra tabla de DynamoDB. Los valores almacenados dentro de DynamoDB se pueden extraer y trazar en un gráfico que muestra valores en tiempo real en nuestra interfaz web. (Gráfico de luz) Además de usar los sensores para obtener valores para trazar nuestro gráfico con fines de análisis, nuestro sensor dht11 también se usa como un posible detector de "incendios". Cuando alcanza una cierta temperatura que podría ser un incendio, tenemos un script llamado publishHeat.py que publicará la temperatura en un tema 'smartroom / sensor / fire', el tablero que simboliza el exterior del apartamento se suscribirá a ese tema y haga que se encienda un LED para indicar que podría haber un incendio potencial. La alarma sonará también, así como un SMS para alertar al propietario de la casa cuando pueda haber un incendio potencial.

Para ingresar a la casa / habitación, el usuario deberá tocar su tarjeta en el escáner RFID. Si la tarjeta pulsada es incorrecta, la alarma sonará hasta que se pulse una tarjeta con las credenciales correctas. Además, cuando se toca una tarjeta incorrecta, la cámara de vigilancia exterior tomará una foto del usuario que tocó la tarjeta y la cargará en el cubo S3. El propietario de la casa también recibirá un mensaje de texto informándole que alguien intentó entrar a su casa. La habitación también tiene un indicador LED en el exterior para etiquetar si la puerta está desbloqueada / bloqueada. Cuando la puerta está bloqueada, el LED amarillo se enciende. Cuando está desbloqueado, el LED verde se encenderá. Cuando se toca una tarjeta autorizada, la puerta se desbloqueará durante 15 segundos y con el LED verde encendido, luego volverá al modo desbloqueado con el LED amarillo encendido.

Los usuarios pueden ver los datos recopilados a través de un panel en Node-Red que muestra los valores de medición actuales además de una representación gráfica de un indicador y un gráfico histórico. El Tablero también incluye características adicionales como un reloj que muestra los datos y la hora actuales e interruptores para controlar de forma remota varios aparatos eléctricos, que se representan como LED y un zumbador.

Por último, también tenemos una función de bot de telegramas. El bot de telegramas puede tomar fotografías de forma remota de lo que esté sucediendo dentro de la habitación y almacenarlas en el cubo S3. Estas imágenes estarán etiquetadas dentro de una carpeta llamada “Homed / User El bot de telegramas también podrá controlar de forma remota la luz LED en la habitación.

Paso 1: Requisitos de hardware + Configuración

Requisitos de hardware + configuración
Requisitos de hardware + configuración
Requisitos de hardware + configuración
Requisitos de hardware + configuración

Conecte los siguientes componentes con sus 2 pis de frambuesa como se muestra en los diagramas de fritz de arriba.

2 x frambuesa Pi

3 x tablero de pruebas

1 x MCP3008 ADC

1 x sensor DhT 11

1 x LDR

1 x lector de tarjetas RFID / NFC MFRC522

4 x LED

1 x pantalla LCD

Resistencia de 3 x 10k

Resistencia 4 x 220/330

1 x botón

1 x zumbador

34 x cables macho a macho

11 x cables macho a hembra

Paso 2: Requisitos de software + Configuración

Requisitos de software + configuración
Requisitos de software + configuración
Requisitos de software + configuración
Requisitos de software + configuración
Requisitos de software + configuración
Requisitos de software + configuración

Escriba los siguientes comandos en su terminal raspberry pi para asegurarse de que estén instalados.

Si alguno de los siguientes software ya está descargado en su pi, sudo pip install (nombre del software) --upgrade hará el truco de actualizarlo.

- sudo pip instalar gevent

- matraz de instalación de sudo pip

- sudo pip instalar nexmo

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

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

- instalación de sudo pip --upgrade pip

- sudo apt-get install python-dev

- sudo pip instalar boto3

- sudo pip instalar botocore

- sudo pip instalar numpy

- cd ~

clon de git

cd ~ / SPI-Py

sudo python setup.py install"

- cd ~

clon de git

cd ~ / MFRC522-python

sudo python setup.py install"

- sudo nano /boot/config.txt, compruebe si las líneas device_tree_param = spi = on

dtoverlay = spi-bcm2835 están adentro, de lo contrario agregue.

Paso 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) Primero, navegue hasta IoT Core dentro del sitio web de AWS haciendo clic en servicios y luego en IoT Core.

b) En la barra de navegación bajo administrar, seleccione cosas y elija registrar una cosa.

c) Elija Crear una sola cosa.

d) Ingrese un nombre para su cosa, por ejemplo, MyRaspberryPi2. Deje el resto de los campos con sus valores predeterminados. Haga clic en siguiente en la parte inferior de la página.

e) Haga clic en crear certificado. Descarga los cuatro archivos. Para el archivo de CA raíz, descargue Amazon Root CA 1 y guárdelo en un bloc de notas.

f) Una vez hecho esto, mueva los cuatro archivos a un directorio en raspberry pi.

g) Haga clic en activar.

h) Después de hacer clic en adjuntar política, será llevado a la siguiente página. Haga clic en registrar, la política se creará más tarde.

i) En el panel de iot, navegue hasta las políticas en la sección segura. Haga clic en crear una política.

j) Ingrese un nombre para su política, para este ejemplo será MyRaspberryPiSecurityPolicy e ingrese lo siguiente en Agregar declaraciones. Luego haga clic en Crear.

k) En el panel de iot, navegue hasta certificados en la sección segura. Seleccione el certificado que creó anteriormente y haga clic en adjuntar política en el menú desplegable de acciones. Adjunte la póliza que creó anteriormente.

l) Seleccione de nuevo el certificado que creó anteriormente y haga clic en adjuntar. Adjunte la póliza que creó anteriormente. Adjunta lo que creaste anteriormente.

Paso 4: creación de un bucket de S3

Creación de un bucket de S3
Creación de un bucket de S3
Creación de un bucket de S3
Creación de un bucket de S3
Creación de un bucket de S3
Creación de un bucket de S3
Creación de un bucket de S3
Creación de un bucket de S3

a) Comenzaremos usando la función de búsqueda en la consola de administración de AWS y buscaremos “s3”.

b) Haga clic en crear depósito.

c) Escriba un nombre para el cubo. Para este ejemplo, usaremos el nombre “sp-p1703263”. Elegiremos la región "US EAST (N. VIRGINIA)", que es us-east-1. Una vez hecho esto, haga clic en Crear.

d) El nuevo depósito creado aparecerá en el panel de control.

Paso 5: crear una tabla de DynamoDB y establecer reglas

Crear una tabla de DynamoDB y establecer reglas
Crear una tabla de DynamoDB y establecer reglas
Crear una tabla de DynamoDB y establecer reglas
Crear una tabla de DynamoDB y establecer reglas
Crear una tabla de DynamoDB y establecer reglas
Crear una tabla de DynamoDB y establecer reglas
Crear una tabla de DynamoDB y establecer reglas
Crear una tabla de DynamoDB y establecer reglas

a) Primero, navegue hasta los servicios de AWS haciendo clic en

services, luego DynamoDB. Haga clic en crear tabla.

b) Ingrese el nombre de la tabla "iotdata" y la clave principal "deviceid" con una clave de clasificación "datetimeid", luego haga clic en crear en la parte inferior de la página.

c) Después de eso, vuelva a la página de IoT Core. Haga clic en Actuar, luego haga clic en crear una nueva regla.

d) Cree una regla con el nombre "MyDynamoDBRule". En el tema de la declaración de consulta de la regla, ingrese "sensores / luz".

e) En la sección Establecer una o más acciones, haga clic en agregar acción, haga clic en "dividir el mensaje en varias columnas de una tabla de base de datos". Haga clic en configurar acción. Debajo del nombre de la tabla, elija iotdata. En el nombre de la función de IAM, seleccione la función que creó anteriormente, que es "dynamodb_role". Haga clic en agregar acción, luego cree una regla.

f) Haga clic en crear regla.

Paso 6: Resultado esperado

Gastos esperados
Gastos esperados
Gastos esperados
Gastos esperados

Exterior

para el pi que representa el exterior de la habitación, se ejecutarán los scripts heatdetector.py y AccessDoor.py. Si una tarjeta incorrecta toca el escáner RFID, la alarma se activará y la luz LED amarilla seguirá encendida. Se enviará un SMS al teléfono del propietario de la casa para notificar una posible intrusión. La alarma también sonará. También se tomará una foto y se cargará instantáneamente en S3 Bucket. Si la tarjeta extraída está autorizada, el LED verde se encenderá y el usuario podrá ingresar. La puerta se volverá a bloquear después de 15 segundos (el LED verde se apagará y el LED amarillo volverá a encenderse). Si la temperatura dentro de la habitación / casa es demasiado alta (a una temperatura que consideramos como casa / habitación potencialmente en llamas), enviaremos una alerta por SMS al propietario de la casa. La alarma también sonará con el LED rojo exterior encendido.

Interior

para el pi que representa el interior de la habitación, se ejecutarán los scripts publishHeat.py, server.py, pubsub.py, telegrambot.py. Pubsub.py almacenará los valores en tiempo real en DynamoDB. cuando se ejecute server.py, escriba la dirección IP del rpi: 5000 en el navegador, será dirigido a nuestra interfaz web. Tenemos un gráfico que muestra los valores de luz en tiempo real obtenidos de nuestros sensores en pubsub.py en DynamoDB. Además, los valores históricos de luz también se mostrarán en nuestra interfaz web. publishHeat.py publicará los valores de temperatura en la placa de pruebas al aire libre con fines de detección de incendios. telegrambot.py permitirá al usuario controlar de forma remota el encendido / apagado de la luz LED en la habitación / casa, así como tomar una foto de lo que está sucediendo dentro y cargar la imagen en el contenedor S3.

Para una mejor visualización de cómo se supone que se verá el resultado esperado:

Paso 7: Códigos fuente (Pastebin)

Códigos fuente (Pastebin)
Códigos fuente (Pastebin)

Clic en el enlace. Consta de todos los códigos fuente necesarios:

Paso 8: referencias

Referencias
Referencias

Iotguider. (2019). Envíe SMS desde Raspberry Pi usando Python. [en línea] Disponible en: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Consultado el 21 de agosto de 2019].

Recomendado: