Tabla de contenido:

Raspberry Pi - Oficina inteligente: 10 pasos (con imágenes)
Raspberry Pi - Oficina inteligente: 10 pasos (con imágenes)

Video: Raspberry Pi - Oficina inteligente: 10 pasos (con imágenes)

Video: Raspberry Pi - Oficina inteligente: 10 pasos (con imágenes)
Video: Raspberry Pi, Curso para principiantes 2024, Noviembre
Anonim
Raspberry Pi - Oficina inteligente
Raspberry Pi - Oficina inteligente

¿De qué se trata la aplicación?

OfficeHelperBOT es una aplicación dirigida a un entorno de oficina inteligente. 2 Raspberry Pi 3 Model B se configuraría para esto.

Raspberry Pi 1 sería la máquina principal que tomará todos los valores de los sensores, publicará los datos a través de MQTT, almacenará los datos en la base de datos en la nube que estamos usando DynamoDB y ejecutará el servidor del portal web.

Raspberry Pi 2 se usaría en la puerta. Requeriría que el empleado verifique su identidad antes de que se le permita el acceso a la oficina. Hay dos métodos para hacerlo, que son a través de una secuencia de código PIN y una verificación de código QR. En los casos en que se pueda hacer un uso incorrecto de la verificación, tomaríamos una fotografía de la persona que haya fallado en la verificación y almacenaremos la imagen de la persona en AWS S3 Bucket.

Una página web podría ver DHT, luz, fotos y videos de detección de movimiento de la oficina. La página web también podría controlar las luces de la oficina y también ver una transmisión en vivo de CCTV de la oficina.

También habría un bot de Telegram que permitiría controlar las luces LED en la oficina, verificar el valor de los valores del sensor, como la temperatura, y también permitiría al empleado obtener su imagen de código QR si pierden la imagen de su código QR o olvidan su pin. solicitando y obteniendo su imagen de código QR de AWS S3 Bucket.

Paso 1: ¡Veamos la descripción general

¡Veamos la descripción general!
¡Veamos la descripción general!
¡Veamos la descripción general!
¡Veamos la descripción general!
¡Veamos la descripción general!
¡Veamos la descripción general!

Diagrama de arquitectura del sistema

Cómo se comunicarán las máquinas entre sí

Resultado del hardware

Mira cómo se verían las dos Raspberry Pi al final

Portal web

Ver el portal web creado con Python a través de Flask

Bot de Telegram

Encontrar el bot que creamos

Transmisión en vivo

Uso de una de las PiCam como CCTV y transmisión de imágenes en vivo

Requisito de hardware

  • 2x frambuesa Pi
  • 2x placa GPIO
  • 1x LDR
  • 1x DHT11
  • 1x sensor de movimiento
  • LED 4x
  • Botón 7x
  • 2x zumbador
  • 2x pantalla LCD
  • 1x cámara web

Paso 2: Configurar para Raspberry Pi 1 (Office)

  1. Cree una carpeta para almacenar sus plantillas html llamadas
  2. Cree una carpeta para almacenar sus archivos css / javascript llamada estática
  3. Cree una carpeta para almacenar los archivos de su cámara llamada cámara con 3 subcarpetas capture_photos, motion_photos, motion_videos

mkdir ~ / ca2

mkdir ~ / ca2 / templates

mkdir ~ / ca2 / static

mkdir ~ / ca2 / static / camera

mkdir ~ / ca2 / static / camera / capture_photos

mkdir ~ / ca2 / static / camera / motion_photos

mkdir ~ / ca2 / static / camera / motion_Videos

Paso 3: Configurar para Raspberry Pi 2 (puerta)

  1. Crea una carpeta para almacenar tus archivos llamada puerta
  2. Cree una carpeta para almacenar sus imágenes de código QR llamada qr_code

mkdir ~ / puerta

mkdir ~ / puerta / qr_code

Paso 4: Configura Telegram Bot

Configurar Telegram Bot
Configurar Telegram Bot
Configurar Telegram Bot
Configurar Telegram Bot
Configurar Telegram Bot
Configurar Telegram Bot
Configurar Telegram Bot
Configurar Telegram Bot
  1. Telegrama abierto
  2. Buscar "BotFather"
  3. Escriba "/ inicio"
  4. Escribe "/ newbot"
  5. Siga las instrucciones, nombre del bot, nombre de usuario del bot, anote el token de autenticación del bot

Paso 5: configurar DynamoDB

Configurar DynamoDB
Configurar DynamoDB
Configurar DynamoDB
Configurar DynamoDB
Configurar DynamoDB
Configurar DynamoDB
  1. Regístrese en AWS
  2. Buscar DynamoDB en AWS Service
  3. Haga clic en "Crear tabla".
  4. Complete el nombre de la tabla
  5. Establezca la clave de partición como 'id' (cadena) y agregue la clave de clasificación como 'fecha y hora' (cadena)
  6. Hazlo por las 4 mesas, dht, luces, galería, empleado

Vista previa de las 4 tablas

Paso 6: configurar AWS S3 Bucket

Configurar AWS S3 Bucket
Configurar AWS S3 Bucket
Configurar AWS S3 Bucket
Configurar AWS S3 Bucket
Configurar AWS S3 Bucket
Configurar AWS S3 Bucket
  1. Buscar AWS S3
  2. Haga clic en "Crear depósito".
  3. Siga las reglas para nombrar el depósito
  4. Seguir capturas de pantalla
  5. Crear depósito

¿Cómo puedo cargar en el bucket de S3?

No tenemos un portal de administración, por lo que estaríamos importando manualmente la imagen del código QR a través de la interfaz gráfica de usuario de AWS. Siga las capturas de pantalla para crear el depósito. El fragmento del código es la lógica necesaria para cargar la imagen en S3 Bucket

Paso 7: configurar AWS SNS

  1. Buscar AWS SNS
  2. Seguir etiqueta de tema
  3. Crear nuevo tema
  4. Establecer el nombre del tema y el nombre para mostrar
  5. Editar la política para permitir que todos publiquen
  6. Suscríbete al tema que se crea
  7. Configure el correo electrónico en el campo de punto final para recibir correo electrónico cuando el valor alcance un cierto valor

Paso 8: creación de una regla

  1. Haga clic en "Crear una regla".
  2. Escriba el nombre y una breve descripción
  3. Elija la última versión de SQL para enviar el mensaje MQTT completo
  4. El motor de reglas utiliza el filtro de temas para determinar qué reglas se activarán cuando se reciba un mensaje MQTT
  5. Haga clic en "Agregar acción"
  6. Seleccione enviar un mensaje a través de notificaciones push de SNS

Paso 9: creación de la interfaz web

Cree estos nuevos archivos html llamados

  • cabeza
  • acceso
  • registros
  • dht
  • luz
  • galería
  • movimiento
  • dirigió

Copie y pegue desde el archivo de Google Drive en el html respectivo.

drive.google.com/file/d/1zd-x21G7P5JeZyPGZp1mdUJsfjoclYJ_/view?usp=sharing

Paso 10: Guiones principales

Hay 3 guiones principales

  • server.py: crea un portal web
  • working.py - Lógica para Raspberry Pi 1 (Office)
  • door.py Logic para Raspberry Pi 2 (puerta)

Simplemente ejecutamos los 3 códigos para obtener el resultado que queremos

Podemos obtenerlo de Google Drive en Main.zip

drive.google.com/open?id=1xZRjqvFi7Ntna9_KzLzhroyEs8Wryp7g

Recomendado: