Tabla de contenido:

Notificador de puerta Raspberry Pi: 6 pasos (con imágenes)
Notificador de puerta Raspberry Pi: 6 pasos (con imágenes)

Video: Notificador de puerta Raspberry Pi: 6 pasos (con imágenes)

Video: Notificador de puerta Raspberry Pi: 6 pasos (con imágenes)
Video: TODO ESTO PUEDES HACER CON UNA RASPBERRY PI 😈💻 2024, Septiembre
Anonim
Notificador de puerta Raspberry Pi
Notificador de puerta Raspberry Pi

¿Alguna vez te has preguntado si las personas acceden a las puertas o cuándo? ¿Quiere una forma discreta, barata y rápida de controlar el movimiento de la puerta … y tal vez un pequeño proyecto? ¡No busque más! Este dispositivo simplista rastreará las vibraciones emitidas por las puertas en movimiento e informará al usuario con un correo electrónico a una dirección de correo electrónico específica.

¡Este proyecto le permitirá practicar con Flask, Raspberry Pis, sensores GPIO y la API de Mandrill! No solo es divertido de construir sino que tiene mucha utilidad. Los intrusos tengan cuidado …

Paso 1: Suministros

Suministros
Suministros

¿Sigues pensando en construir este artilugio? Esto es lo que necesitará:

  • Frambuesa pi 3
  • Tarjeta micro SD
  • 3 cables hembra a hembra
  • 1 sensor de vibraciones
  • Un banco de energía
  • Tiras de comando

Si planea construir este proyecto para varias puertas, multiplique cada uno de los suministros por la cantidad de dispositivos que necesitará.

Si está en el proceso de construir / probar este dispositivo, no es necesario tener lo siguiente … sin embargo, definitivamente sería muy útil.

  • Un monitor de computadora
  • Un teclado USB
  • Kit de carga micro USB

Paso 2: cableado

Alambrado
Alambrado
Alambrado
Alambrado

Si bien la Raspberry Pi es un dispositivo ingenioso que viene incluido con muchos sensores y periféricos diferentes, debemos agregar el sensor principal al cableado de la Pi para que pueda tomar las medidas que necesitamos. El sensor principal utilizado en este proyecto se puede ver en la imagen de arriba - es un sensor de vibración con alta sensibilidad. Si bien podríamos usar una placa de pruebas o algún otro dispositivo de montaje para colocar este sensor y pasar nuestros cables, simplemente lo conectamos a través de cables hembra a hembra directamente a los pines del dispositivo Raspberry Pi.

Puede encontrar un esquema de cableado arriba (procedente de https://www.piddlerintheroot.com/vibration-sensor/). Simplemente conecte todos los cables como se muestra en esta imagen y su sensor de vibración debería estar listo para funcionar. También tenga en cuenta que eventualmente necesitará un paquete de baterías para este proyecto, pero si está probando, probablemente sea útil tener el dispositivo enchufado a una toma de corriente.

Paso 3: Configuración de las cosas

¡Felicitaciones! Has llegado hasta aquí. ¡Sigamos!

Ahora vamos a empezar a trabajar directamente con Pi. Todo lo siguiente se puede hacer en el dispositivo con un teclado y un monitor (o mediante SSH si se siente cómodo).

Hay una gran cantidad de configuración preliminar para que cualquier sensor GPIO funcione con un Pi y un Flask. La paciencia es una virtud. Hay bastantes bibliotecas de Python que tendrás que instalar primero. Esto se puede hacer con Pip, una biblioteca / administrador de paquetes para Python. Para usarlo, escriba `pip install` Para nombrar algunas de las bibliotecas que necesitará:

  • peticiones
  • RPi. GPIO
  • matraz
  • flask_restful
  • flask_wtf
  • wtforms
  • Email
  • mandril

Es posible que desee tomar un café mientras espera a que se instalen; puede llevar un poco de tiempo.

Ahora que todas sus bibliotecas están instaladas, está listo para comenzar su proyecto Flask. Flask es un marco liviano que sirve páginas desde el dispositivo en el que se está ejecutando. En este caso, la Raspberry Pi se convierte en servidor. Bastante ingenioso, ¿eh? Puede aprender a configurar una aplicación Flask muy simple aquí. Haga esto antes de intentar cualquiera de las instrucciones posteriores.

Paso 4: Código y ejecución

Una vez que haya completado esto, estará listo para comenzar a construir los archivos del proyecto. He incluido todos los archivos que necesitará a continuación; sin embargo, probablemente debería volver a escribir el código y no simplemente copiar los archivos (¡APRENDERÁ MÁS!).

Así es como deberían verse las organizaciones de directorio:

+ - iotapp | + - appFolder | + - plantillas | + - index.html | + - _init_.py | + - forms.py | + - mcemail.py | + - rutas.py | + - iotapp.py | + - vibes.py

Coloque todos estos archivos en el orden correcto y podrá poner en marcha su proyecto en poco tiempo. Para luego ejecutar su servidor Flask, debe navegar hasta el directorio raíz. Luego debe escribir:

$ exportación FLASK_APP = iotapp.py

$ python -m matraz ejecutar --host 0.0.0.0

Con esto, debería recibir un mensaje que indique que su servidor se está ejecutando y debería poder servir la página desde el dispositivo a otro dispositivo en la red.

Ahora sería un buen momento para revisar sus archivos e intentar realmente obtener una idea de lo que está haciendo el código. Por supuesto, ninguno de los códigos está escrito en piedra … todo se puede actualizar / cambiar para adaptarse a las necesidades específicas del proyecto. Por ejemplo, a partir de ahora, cuando el dispositivo realiza una POST al recibir una entrada del sensor de vibración, envía la marca de tiempo de cuando ocurrió la entrada. Sin embargo, el servidor no guarda estos datos. Esto se puede hacer si el usuario prefiere mantener información histórica y quiere mostrarla en algún lugar.

Una cosa que probablemente notará es que EL CÓDIGO NO ESTÁ COMPLETO. Este proyecto utiliza una API externa para enviar correos electrónicos de notificación en caso de vibración (apertura de la puerta). Para configurar esto, deberá crear una cuenta de Mandrill y crear una clave API.

Una vez que haya verificado su dominio de envío y tenga una clave API, puede colocar su clave en el archivo `mcemail.py` (donde está presente) y ajustar la información de envío (ya sea cambiando el parámetro predeterminado en el mismo archivo o pasando en un correo electrónico diferente en el archivo `routes.py`. Si desea obtener más documentación sobre Mandrill y cómo usarlo, puede encontrarla aquí.

Paso 5: prueba

Pruebas
Pruebas

Antes de montar el dispositivo en su ubicación permanente, probablemente sea una buena idea probar todo lo que está haciendo. Así es como se ejecutan las cosas.

En realidad, el dispositivo está ejecutando dos programas: `vibes.py` y el servidor Flask. El primero debe ejecutarse primero en segundo plano y luego se puede ejecutar el servidor Flask. `vibes.py` simplemente se envía al servidor y el servidor interpreta la solicitud POST.

$ python vibes.py y

$ python -m matraz ejecutar --host 0.0.0.0

Luego, debería poder navegar hasta la URI / IP correcta y configurar la dirección de correo electrónico a la que desea enviar todas sus notificaciones. Debe tocar el sensor de vibración para intentar enviar algunos correos electrónicos de prueba y asegurarse de que el proyecto esté funcionando.

¿Todo se ve bien? ¡Bien, estamos listos para trabajar!

Paso 6: Montaje

Montaje
Montaje

Montar el dispositivo es bastante evidente. Básicamente, solo tiene que asegurarse de que el dispositivo esté conectado a la batería y usar tiras de comando para fijar el dispositivo a la puerta.

Nota: el dispositivo debe colocarse con el sensor de vibración perpendicular a la puerta para que el sensor capte el movimiento de la puerta

Una vez que se complete esto, debería poder SSH en el dispositivo y ejecutar los programas como se mencionó en el paso anterior y esperar a los intrusos.

¡Para obtener puntos adicionales, intente ocultar los cables / dispositivo para que los intrusos no sospechen de su dispositivo inteligente! … o simplemente no lo coloque en una puerta de vidrio. ¯ / _ (ツ) _ / ¯

Recomendado: