Tabla de contenido:

Abre-puerta de garaje Raspberry Pi: 5 pasos
Abre-puerta de garaje Raspberry Pi: 5 pasos

Video: Abre-puerta de garaje Raspberry Pi: 5 pasos

Video: Abre-puerta de garaje Raspberry Pi: 5 pasos
Video: Autosensor + DomoticZ + Raspberry Pi - Puerta de garaje - 2024, Noviembre
Anonim
Abre-puerta de garaje Raspberry Pi
Abre-puerta de garaje Raspberry Pi

Nuestro teclado de quince años que nos permite abrir la puerta del garaje se ha ido apagando lentamente, con varios botones que apenas se registran, lo que dificulta que nuestros adolescentes (o niñera) entren a la casa cuando olvidan su llave.

En lugar de reemplazarlo y pasar por los obstáculos de reprogramarlo, decidí ir un poco más de alta tecnología y reemplazarlo con algo que solo requería acceso a nuestro wifi y un teléfono para usar.

Usé un Pi Zero Wireless y un relé de 2 canales que me sobró de otro proyecto, lo que me permite controlar tanto la puerta como las luces que están integradas en el abre-puertas de garaje. Debido a que tenía una cámara USB vieja / de repuesto acumulando polvo, la usé en lugar de una PiCam, pero eso fue solo por conveniencia. Esto funcionaría bien con cualquier cámara compatible; no hay nada especial en la mía, solo que Raspbian la admite.

A diferencia de otros proyectos similares, traté de mantenerlo lo más simple posible, usando paquetes de software "estándar" que son bastante fáciles de poner en marcha si sigues las instrucciones. Esta foto muestra mi instalación final (para nada bonita, pero es mi garaje), incluida la Pi, el módulo de relé y la cámara web USB apuntando a la puerta. No hay una razón específica para usar el Pi Zero; cualquier Pi funcionaría, siempre que pueda conectarlo a su red interna, y el wifi lo hace fácil.

Paso 1: Conexión al panel de control existente

Conexión al panel de control existente
Conexión al panel de control existente

Primero, ¡EL SUYO PUEDE SER DIFERENTE! El mío tiene un solo par de cables que van desde el abre-puertas de garaje hasta el panel de control en la pared. Dado que solo hay dos cables, que parecían tener alrededor de 18 voltios cuando se probaron, al principio estaba un poco confundido acerca de cómo exactamente esto puede controlar múltiples funciones. PIENSO que cada botón momentáneo simplemente completa el circuito, pero con diferentes niveles de resistencia. Luego, la unidad principal puede leer esa resistencia a través de diferentes caídas de voltaje y realizar la acción correcta. Sin embargo, nada de esto importa, a menos que esté tratando de reemplazar completamente la unidad de control con el Pi. No estoy seguro de por qué querría hacer eso, ya que es bueno tener la unidad física en su lugar.

AAAA De todos modos, todo lo que necesita hacer es replicar los distintos botones presionando conectando los interruptores momentáneos en la PCB a su módulo de relé. Esta fue la única soldadura que tuve que hacer, y las almohadillas de la PCB eran bastante grandes, por lo que fue bastante simple. Deje estos cables un poco largos por ahora, ya que es mucho más fácil acortar un cable que alargarlo más tarde, a menos que tenga un tensor de cables ACME por ahí, pero esos son bastante raros.

Paso 2: cableado de la placa de relés

Cableado de la placa de relés
Cableado de la placa de relés
Cableado de la placa de relés
Cableado de la placa de relés

No hay mucho que decir aquí, solo conecta todo como en las imágenes. En el módulo de 2 relés Sainsmart, los pines JC-VCC y VCC deben puentearse juntos, a menos que desee usar una fuente de alimentación completamente separada para ellos, pero para este uso, eso es demasiado. Conecte GND a un pin Pi GND, VCC a un pin de 5v y el IN1 e IN2 a los pines GPIO que desee utilizar. Dado que solo los usará como conmutadores HIGH / LOW, realmente no importa cuáles.

Paso 3: instalación del software

Instalación del software
Instalación del software

Este es probablemente el paso que lleva más tiempo, ya que estará viendo cómo se descargan e instalan las cosas durante un tiempo. Mire youtube o algo mientras algunas de estas cosas están instaladas.

No voy a explicar cómo instalar Raspbian. Si aún no sabe cómo hacer eso, tal vez primero busque en Google algunos tutoriales del tipo "hola mundo". En cualquier caso, probablemente sea mejor utilizar una instalación nueva de Raspbian Lite. No hay necesidad de una interfaz gráfica de usuario para este proyecto, y es solo una sobrecarga adicional. raspberrypi.org puede guiarlo a través de ese proceso.

Habilite SSH y (si lo desea) configure una IP estática para su Pi (una vez más, hay varios tutoriales sobre cómo hacerlo, escritos por mejores autores que yo) o incluso mejor, configure su enrutador / servidor DHCP para asignar una IP estática a su Pi.

Si desea un servicio de video agradable y fácil de instalar y usar, vaya e instale MotionEye. Probablemente sea exagerado, pero es una de las instalaciones que "simplemente funciona" cada vez, y tiene una interfaz web agradable y fácil de usar. Compruébalo aquí:

github.com/ccrisan/motioneye/wiki/Install-… Siga estas instrucciones usando sudo antes de cada comando, y tendrá un buen transmisor de video configurado. No es exactamente necesario tener una transmisión de video si lo único que le importa es abrir la puerta cuando pueda verla, pero es bueno tener comentarios.

Una vez que haya instalado Motioneye, visite https:// YourIPAddress: 8765 e inicie sesión con el nombre de usuario "admin" y una contraseña en blanco. Probablemente necesitará agregar una cámara, que, nuevamente, "simplemente funcionará" y más allá del alcance de estas instrucciones.

Mientras está conectado como administrador, haga clic en la opción "Configuración avanzada", luego configure sus opciones de video. Usé 320x240 para mi video porque me preocupan más las actualizaciones más rápidas que la calidad, ya que realmente solo quería verlo el la puerta estaba abierta o no, y no es necesario leer los números de buzón al otro lado de la calle.

En el área de configuración de "Transmisión de video", haga clic en el enlace "URL de transmisión" y anote la dirección que se le presenta. Lo necesitará más adelante si planea configurar la interfaz de la misma manera que lo hice.

Hay varias formas de controlar sus pines GPIO. Para este proyecto, utilicé WiringPi, para instalarlo, use las instrucciones en el sitio web:

wiringpi.com/download-and-install/

O simplemente emita los siguientes comandos en su Pi:

wget https://lion.drogon.net/wiringpi-2.50-1.debsudo dpkg -i cableadopi-2.50-1.deb gpio -v gpio readall

Esto debería darle una lista de lo que está sucediendo con sus pines GPIO.

Si está utilizando los pines 4 y 17 (en el esquema de numeración BCM), puede probar sus conexiones con los siguientes comandos. Tenga en cuenta que establecer el pin LOW activará los relés si utiliza este módulo Sainsmart. El tuyo puede ser diferente y tendrás que adaptarte a eso. Al ejecutar estos comandos, debe escuchar que los relés encajan en su lugar y los LED deben encenderse.

gpio -g modo 17 fuera

gpio -g escritura 17 0 gpio -g escritura 1 1 gpio -g modo 4 salida gpio -g escritura 4 0 gpio -g escritura 4 1

Bien, ahora podemos pasar a crear la interfaz de usuario.

Paso 4: creación de la interfaz

Haciendo la interfaz
Haciendo la interfaz

Usé apache y PHP. Agradable y simple, nada extravagante. Una vez más, se ha explicado mejor en otro lugar, así que siga las instrucciones que se encuentran aquí:

www.raspberrypi.org/documentation/remote-a…

La "raíz" de su servidor web, por defecto, está en / var / www / html / con un index.html predeterminado que le da información sobre su servidor web. Reemplazará ese index.html, por lo que puede eliminarlo o cambiarle el nombre por otro como index.copy. También hice que el usuario "pi" fuera el propietario del directorio html, solo para ser perezoso con los permisos. Finalmente, creé un directorio para almacenar mis imágenes, de las cuales hay dos. Uno que es solo un comentario tonto de que se presionó un botón y otro que se puede usar como un ícono en la pantalla de inicio de un teléfono.

pi @ puerta de garaje: ~ $ cd / var / www / html /

pi @ garagedoor: / var / www / html $ sudo chown pi.pi @ garagedoor: / var / www / html $ mv index.html index.copy pi @ garagedoor: / var / www / html $ mkdir imágenes

Hay un número infinito de formas de crear un sitio web, pero elegí mantenerlo lo más simple y fácil posible en base a MI conjunto de habilidades. Por lo tanto, PHP, ya que lo conozco. Si eres un gurú de Python o algún otro lenguaje de programación, no dudes en usarlo.

Creé una página "contenedor" index.html que en realidad tiene dos iframes que hacen todo el trabajo. Uno de los iframes contiene los botones / enlaces que realmente activan los relés a través de GPIO y otro iframe que muestra el video. También contiene enlaces a una imagen-p.webp

El iframe index.html que contiene los botones tiene el archivo buttons.html como contenido. (Es curioso cómo funciona, ¿eh?) Ambos enlaces en button.html conducen a action.php con un valor de variable GET único. Según el valor pasado, action.php activará la puerta o el botón de luz. Puede obtener el código HTML y PHP de mi github:

Coloque todo el HTML y PHP en el directorio raíz (/ var / www / html /), actualice el código donde sea necesario con el nombre de la imagen que puede estar usando para la confirmación de presionar el botón y la dirección de su transmisión de video. ¿Recuerdas cuando te dije que lo necesitarías, en el paso anterior?

Paso 5: ¡Pruébelo

Bien, ahora que tiene todo cableado e instalado, todo funciona perfectamente en el primer intento, ¿verdad? ¡Dulce!

Recomendado: