Por Jeff Highsmith
Siempre estoy atento a esos momentos de enseñanza. La inspiración me sorprendió cuando mi hijo de 5 años pidió ayuda para evitar que su hermano pequeño se escabullera en su habitación. Descubrí el momento perfecto para enseñarle sobre entradas, salidas y programación. Aprender es más fácil cuando la lección se centra en resolver un problema personal.
Podría haber construido un sistema de alarma simple de muchas maneras diferentes, pero sabía que quería que el sistema fuera una unidad todo en uno para una versatilidad más allá de la solicitud original de mi hijo. Elegí la Raspberry Pi como controlador porque es fácil de conectar a Internet, puede reproducir archivos MP3, se conecta con periféricos USB como cámaras y tiene entradas y salidas de uso general para conectarse a componentes electrónicos simples como botones, sensores , y luces.
El código de mi sistema de alarma, que puede ver en GitHub, es bastante simple. Para aprovechar el multiproceso de Linux, divido las tareas entre dos scripts de Python. Una secuencia de comandos de python (keypadd.py) supervisa el teclado en busca de códigos válidos. Tras el arranque, el sistema se configura como "desarmado". Cada vez que se detecta el código de armar / desarmar, cambia el estado del sistema cambiando un byte en un archivo de texto llamado “armed.txt”.
El segundo script de Python (alarmd.py) monitorea el sensor infrarrojo pasivo a través del GPIO de la Raspberry Pi. Si se detecta movimiento, comprueba el archivo armed.txt para ver si el sistema está armado. Si el sistema está armado cuando se detecta movimiento, la alarma suena.
Durante el transcurso del proyecto, me encontré con algunos desafíos que influenciaron mis decisiones de diseño:
Hay sistemas de alarma Raspberry Pi más avanzados, pero espero haberte mostrado lo fácil, divertido y educativo que puede ser hacer los tuyos. Ahora ponte a ello, e informa de nuevo.
Vea la serie completa aquí.