¡Hicimos nuestra oficina más inteligente usando Raspberry Pi!
Aquí en Macoscope, Community está inscrito entre nuestros valores fundamentales. Al ver que no tenemos ni una recepcionista ni una recepción, y nuestra oficina es básicamente una gran casa, abrir la puerta de entrada para los visitantes y las entregas rápidamente se convirtió en un problema. Para abrirlo, necesitábamos presionar un botón cerca de las puertas principales, y la molestia de tener que alejarnos de nuestro trabajo para caminar hacia la puerta varias veces al día nos molestó terriblemente. ¿Qué más podríamos haber hecho sino unir nuestras cabezas, como lo haría una verdadera Comunidad, y tratar de resolverlo con un poco de tecnología en la que somos tan buenos!
Bueno, ¿y si pudiéramos ver quién está en la puerta principal y abrirlo directamente desde nuestras computadoras? Somos desarrolladores después de todo, ¿no?
- Cómo grabar frecuencias desde el espacio exterior con Raspberry Pi (o con otros dispositivos)
- Cómo extraer Monero con una Raspberry pi de forma rentable
- ¿Qué lenguajes de programación necesito saber para trabajar en una Raspberry Pi 3?
- Cómo transmitir transmisiones en vivo desde el módulo de cámara raspberry pi a un teléfono Android usando cv abierto
- ¿Cómo es posible que plataformas como Arduino y Raspberry Pi persistan en la competencia contra los microcontroladores caballerescos?
El interruptor de encendido / apagado
Relay es un dispositivo que nos permite manipular el flujo de corriente eléctrica utilizando señales de Raspberry Pi. Necesitamos poder interactuar con la corriente eléctrica para simular presionar un botón como lo hacemos normalmente para abrir la puerta delantera. Gracias al movimiento de bricolaje, hay muchos relés disponibles para Raspberry Pi, por lo que tenemos eso para nosotros. En nuestro caso, un simple relé de un solo canal con optoaislamiento (seguridad primero, niños) será suficiente.
Módulo de cámara Raspberry Pi
Obviamente, queremos saber quién está tocando el timbre. ¿Es el cartero? ¿Ha llegado nuestra entrega semanal de jugos? ¿O tal vez uno de nosotros olvidó sus llaves? Una vez más, los movimientos de bricolaje e IoT nos rescataron con el módulo de cámara Raspberry Pi. Es fácil conectarse a la Frambuesa gracias a una interfaz dedicada y funciona de forma inmediata. Sin embargo, hay una cosa más de la que debemos ocuparnos, y es el software de transmisión de video. Ahí es donde entra el movimiento: es una gran pieza de software de código abierto con la capacidad de detectar movimiento, pero lo usaremos solo como un servidor de transmisión. Motion proporciona un servicio http con una transmisión mJPEG, por lo que funciona con todos los principales navegadores modernos.
Raspberry Pi, retransmisión y configuración de la cámara
La imagen de arriba es un diagrama simplificado de cómo se conecta la configuración completa.
Gracias al protocolo mDNS, no necesitamos recordar cuál es la dirección IP de nuestra Raspberry. Un relé, un par de metros de cable, 15 minutos con un destornillador, un multímetro y un sorbo de whisky escocés, y tuvimos nuestra configuración en funcionamiento. Afortunadamente para nosotros, la mayoría de las distribuciones de Linux vienen con Python incorporado, y raspbian (es Debian GNU / Linux portado a Raspberry Pi si no está familiarizado con el nombre) no es diferente. Lo creas o no, eso básicamente cubre la mayoría de nuestras necesidades. Python es ideal para crear interfaces basadas en web (usamos el marco Flask) en un instante, y también usamos python-gpio para activar el relé:
importar RPi.GPIO como GPIO
desde el momento importa dormir
# configura GPIO en modo BCM para que sea agradable
# números para puertos GPIO
GPIO.setwarnings (Falso)
GPIO.setmode (GPIO.BCM)
# el relé está conectado al PIN GPIO # 18
GPIO.setup (18, GPIO.OUT)
# encienda el relé durante 5 segundos
GPIO.output (18, GPIO.LOW)
dormir (5)
GPIO.output (18, GPIO.HIGH)
Entonces, ¿cuál es el flujo cuando alguien toca el timbre? Todos los que estén al alcance del oído pueden ir al navegador que prefieran, ingresar la URL para ver la transmisión de video y hacer clic en “Abrir” para abrir la puerta de forma remota.
Aplicación OS X Menu Bar
Después de todo, somos una empresa de desarrollo de software, por lo que armamos rápidamente una aplicación que se encuentra en la barra de menú de OS X y ofrece las mismas capacidades que la interfaz web, que es verificar quién está en la puerta y abrirla de forma remota.
Es de código abierto y se incluye con el código que se supone que debe ejecutarse en la Raspberry, por lo que se ejecutará de inmediato si decide seguir una configuración similar.
Haremos algunas mejoras en la aplicación en los próximos meses, incluida la autorización a través de Google Apps OAuth para evitar solicitudes maliciosas al punto final responsable de abrir la puerta, incluso si está disponible solo en la red local.
Pensamientos finales
Debido a las condiciones preexistentes y al diseño de nuestra configuración, tuvimos que conectar la Raspberry con la puerta utilizando un cable que tiene que pasar por la ventana, por lo que puede causarnos algunos problemas en el futuro.
Nuestra red es una configuración mixta de 2.4GHz y 5GHz, pero resultó que tuvimos que forzar una conexión de 5GHz en la Raspberry. Antes de darnos cuenta de lo que hay que hacer, pasamos casi 3 semanas tratando de descubrir por qué el Pi está constantemente desconectando la conexión (incluso empezamos a pensar que, por coincidencia, nuestro edificio de oficinas está sorprendentemente bien protegido cuando se trata de redes inalámbricas).
Extravagantes
Es una buena idea reducir la resolución de la transmisión de video debido a las limitaciones de ancho de banda (imagine 19 personas mirando una transmisión FullHD al mismo tiempo en algo tan simple como Raspberry Pi)
motion, la aplicación que estamos utilizando para transmitir video desde la Raspberry, tiene tendencia a colgarse después de unos días, por lo que no es una mala idea reiniciarlo a través de cronjob.
Configurar una casa inteligente usando una Raspberry Pi
Gracias a los movimientos de IoT y DIY, así como a la amplia adopción de plataformas como Raspberry Pi, ahora es posible hacer que su oficina u hogar sea más inteligente con bastante facilidad utilizando tecnologías fácilmente disponibles para la mayoría de los buenos desarrolladores.
¿Te inspiraste? Envíenos un correo electrónico y vea cómo nuestros servicios de diseño y desarrollo pueden generar valor comercial para usted.
Este artículo fue publicado originalmente por Mateusz Kozak en el blog de Macoscope.