HN revela: tecnología de monitoreo de compost convertida en open source
(github.com/gtls64)Guía de hacking del dispositivo Monty Home
Guía de hacking del dispositivo Monty Home es un repositorio que explica cómo ampliar las funciones de los dispositivos BLE de Monty Home usando una Raspberry Pi. Este dispositivo fue diseñado originalmente para el monitoreo de compost y recopila datos ambientales como temperatura, humedad y más. Con esta guía, puedes aprender a consultar, mostrar y automatizar esos datos.
Resumen
- Esta guía está diseñada para personas interesadas en dispositivos BLE, aplicaciones IoT y monitoreo ambiental.
- El dispositivo Monty Home ofrece datos en tiempo real (temperatura, humedad, nivel de batería, etc.) a través de BLE.
- Incluye tres proyectos para interactuar con el dispositivo Monty Home usando Python, BLE y Raspberry Pi.
Proyectos
Proyecto 1: control de LED basado en temperatura
- Objetivo: controlar el LED de una Raspberry Pi usando los datos de temperatura del dispositivo Monty Home. Si la temperatura supera un umbral determinado, el LED muestra una alerta.
- Habilidades adquiridas: configuración del control GPIO, consulta de datos BLE, programación básica en Python y manejo de condiciones
- Hardware necesario: Raspberry Pi con soporte BLE, LED y resistencia de 330 ohms
Proyecto 2: mostrar temperatura y humedad en una pantalla I2C
- Objetivo: mostrar en una pantalla OLED conectada a la Raspberry Pi los datos en tiempo real de temperatura y humedad del dispositivo Monty Home.
- Habilidades adquiridas: trabajo con dispositivos I2C, visualización dinámica de datos con pantalla OLED SSD1306, recuperación de datos BLE e implementación de actualización en pantalla
- Hardware necesario: Raspberry Pi con soporte BLE, pantalla OLED SSD1306
Proyecto 3: alertas de temperatura mediante IFTTT
- Objetivo: configurar la Raspberry Pi para que envíe una notificación por medio de IFTTT cuando la temperatura del dispositivo Monty Home supere un umbral específico.
- Habilidades adquiridas: integración de automatización IoT con IFTTT, envío de solicitudes HTTP con la biblioteca
requests, combinación de datos BLE con notificaciones basadas en la nube - Hardware necesario: Raspberry Pi con soporte Wi‑Fi, cuenta de IFTTT
Configuración
Requisitos de hardware
- Raspberry Pi (Zero 2 o un modelo con soporte BLE)
- Dispositivo BLE Monty Home
- Hardware adicional necesario para cada proyecto (LED, pantalla OLED, cuenta de IFTTT, etc.)
Requisitos de software
- Raspberry Pi OS: instalar Raspberry Pi OS Lite (sin interfaz gráfica) o Raspberry Pi OS with Desktop (con interfaz gráfica)
- Python 3: instalar Python 3 y
pip - Bibliotecas:
- Bleak: para comunicación BLE
- Requests: para integración con IFTTT
- Adafruit CircuitPython SSD1306: para control de la pantalla OLED
- Pillow: para manipulación de imágenes en la OLED
Comandos BLE
- Son los comandos usados para interactuar con el dispositivo Monty Home. Cada comando solicita datos específicos o ejecuta una acción.
- Ejemplo:
;QT\r\ndevuelve la lectura de temperatura del sensor NTC.
Ejecución del código
- Cada proyecto incluye scripts en Python que establecen la conexión BLE, envían consultas y procesan los datos.
- Cómo ejecutar los scripts:
- Abrir la terminal en la Raspberry Pi
- Ir a la carpeta del proyecto:
cd /path/to/project - Ejecutar el script:
python3 project_script.py
Personalización
Ajuste de comandos BLE
- Puedes modificar los comandos BLE en el código para recuperar distintos tipos de datos desde el dispositivo Monty Home.
Ampliación del controlador de notificaciones
- Para procesar varios tipos de datos, puedes agregar condiciones dentro de la función
notification_handlerpara decodificar y mostrar diferentes lecturas.
Integración con otras plataformas
- También puedes considerar integrar los datos en plataformas IoT o paneles de control para visualización en tiempo real, registro o automatización adicional.
Recursos adicionales
- Python en Raspberry Pi
- Guía de BLE en Raspberry Pi
- Documentación de IFTTT Webhooks
- Guía de Adafruit CircuitPython SSD1306
Contribuciones
- Se agradecen los pull requests, reportes de problemas, sugerencias de funciones y más. Puedes contribuir a mejorar esta guía y agregar nuevos proyectos.
1 comentarios
Comentarios de Hacker News
Un usuario compartió su experiencia cultivando papas y zanahorias en una pila de composta hecha con estiércol de establo; mencionó que las papas crecieron bien, pero las zanahorias no prosperaron por falta de agua
Otro usuario se preguntó a qué escala el monitoreo electrónico podría mejorar la calidad de la composta y opinó que probablemente tendría que hacerse a gran escala
Otro usuario compartió su experiencia con monitoreo ambiental usando sensores baratos y mencionó problemas de repetibilidad en los sensores y de tolerancia al ruido en los sensores de CO2
Un usuario celebró la posibilidad de escalar el monitoreo de composta a pequeña escala y mencionó que podría interesar a la comunidad Gathering for Open Ag Tech
Otro usuario dijo que prefiere un método simple para medir la temperatura de la composta y explicó que, si la temperatura supera los 45 grados, significa que las bacterias termófilas están activas
Otro usuario compartió que le gustaría crear un sistema de monitoreo para plantas y comentó que le gustaría recibir recomendaciones de sensores para medir composición del suelo, niveles de nutrientes, humedad y más
Un usuario se preguntó por la utilidad práctica de los datos de sensores obtenidos mediante el monitoreo de composta y preguntó si, además de temperatura y humedad, la composición de gases puede servir para verificar el efecto sobre la relación C/N o si la composta está entrando en estado anaeróbico
Se agregó información adicional sobre el producto Monty Monitor
Un usuario mencionó que había estado buscando un termopar para monitorear composta
Hay un usuario que pregunta si se está trabajando en una integración con HomeAssistant