Tabla de contenido:
- Paso 1: Requisitos de hardware + Configuración
- Paso 2: Requisitos de software + Configuración
- Paso 3: registrar una cosa
- Paso 4: creación de un bucket de S3
- Paso 5: crear una tabla de DynamoDB y establecer reglas
- Paso 6: Resultado esperado
- Paso 7: Códigos fuente (Pastebin)
- Paso 8: referencias
Video: IOT CA2 Secure Smart Home / Room: 8 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
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
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
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
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
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
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
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)
Clic en el enlace. Consta de todos los códigos fuente necesarios:
Paso 8: 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:
Escape Room Arduino: 6 pasos (con imágenes)
Escape Room Arduino: Este proyecto consiste en crear un prototipo de escape room, utilizando arduino por componentes electrónicos, un conocimiento básico de su codificación.Este escape room tendrá 5 fases a cubrir: (Puede ser diferente para todos) 1. Sensor de presión - LED Una vez que
IoT CA2: 3 pasos
IoT CA2: Descripción del proyecto: una instalación de investigación que maneja material de riesgo biológico. Cada Pi representa una sala de investigación y desarrollo equipada con un sensor de temperatura, un escáner RFID, una pantalla LCD, un zumbador y un LED. El sensor de temperatura se utiliza para monitori
Cayenne en Raspberry IoT Light Room: 4 pasos
Cayenne en Raspberry IoT Light Room: el antefacto es una nueva habitación sin luz, un gran armario con ropa blanca y el deseo de hacer un dispositivo IoT que pueda usar fuera de mi casa. Para el " sabor " de IoT Yo uso Cayenne En esta habitación quiero hacer una luz oculta detrás del armario. Nos Quiero
IoT - Smart Home - EaD INATEL: 10 pasos
IoT - Smart Home - EaD INATEL: Projeto Smart HomeEsse Tutorial vai mostrar os passos para implementa ç ã o de uma solution ç ã o Smart Home contendo servi ç o na nuvem dweet.io, utiliza ç ã o de cinco atuadores e sensores do kit Linker Mezzanine
IOT CA2 - Puerta inteligente: 3 pasos
IOT CA2 - Smart Door: Descripción: Es un sistema de bloqueo de puerta para una habitación, los usuarios registrados podrán utilizar una tarjeta RFID para entrar y las luces de la habitación se encenderán. Si se toca una tarjeta RFID incorrecta, la cámara tomará una foto, seguida de una luz LED roja