2 puntos por GN⁺ 2024-11-23 | 1 comentarios | Compartir por WhatsApp
  • Monty Home Device Hacking Guide explica cómo ampliar con una Raspberry Pi el dispositivo BLE Monty Home, originalmente diseñado para monitoreo de compost, para obtener, mostrar y automatizar datos ambientales como temperatura, humedad y batería
  • El repositorio ofrece 3 proyectos con Python, BLE y Raspberry Pi, incluidos control de LED basado en umbrales de temperatura, visualización en OLED I2C y envío de alertas por IFTTT
  • Los comandos BLE incluyen temperatura ;QT\r\n, humedad ;QH\r\n, batería ;QL\r\n, CO2 ;QC\r\n, TVOC ;QO\r\n, versión de firmware ;QV\r\n, reinicio ;CR\r\n, restablecimiento de fábrica ;CF\r\n, entre otros
  • El entorno de ejecución requiere una Raspberry Pi con soporte BLE, Monty Home BLE Device, Python 3, Bleak, Requests, Adafruit CircuitPython SSD1306, Pillow, entre otros
  • Los usuarios pueden extenderlo cambiando los comandos BLE dentro de los scripts o ampliando las condiciones de notification_handler para procesar datos de otros sensores, integrarlo con dashboards, hacer logging y agregar más automatización

Guía para ampliar dispositivos BLE Monty Home

  • Monty Home Device Hacking Guide es una guía paso a paso para ampliar con una Raspberry Pi las funciones del dispositivo BLE Monty Home
  • El dispositivo Monty Home fue diseñado originalmente para monitoreo de compost y recopila datos de temperatura, humedad y otros indicadores ambientales
  • Esta guía está dirigida a usuarios interesados en dispositivos BLE, aplicaciones IoT y monitoreo ambiental
  • Se indica que Monty Home puede comprarse en https://montycompost.co/

3 proyectos incluidos

  • Control de LED basado en temperatura

    • Usa los datos de temperatura del dispositivo Monty Home para controlar un LED en la Raspberry Pi
    • Si la temperatura supera el umbral definido, el LED se enciende para mostrar una alerta
    • Las tecnologías cubiertas son control de LED por GPIO, consulta de datos BLE y manejo de condiciones en Python
    • El hardware necesario es una Raspberry Pi con soporte BLE, un LED y una resistencia de 330 Ω
  • Mostrar temperatura y humedad en un OLED I2C

    • Muestra la temperatura y humedad en tiempo real obtenidas del dispositivo Monty Home en una pantalla OLED conectada a la Raspberry Pi
    • Implementa visualización de datos dinámicos en una pantalla OLED SSD1306, recuperación de datos BLE y actualización de pantalla
    • El hardware necesario es una Raspberry Pi con soporte BLE y un SSD1306 OLED Display, con configuración 128x32 o 128x64
  • Alertas de temperatura mediante IFTTT

    • Si la temperatura del dispositivo Monty Home supera un umbral específico, la Raspberry Pi envía una alerta mediante IFTTT
    • Cubre integración con IFTTT para automatización IoT, solicitudes HTTP basadas en la biblioteca requests y combinación de datos BLE con alertas en la nube
    • El hardware y la cuenta necesarios son una Raspberry Pi con Wi-Fi y una cuenta de IFTTT

Entorno de ejecución y dependencias

  • El hardware requiere una Raspberry Pi Zero 2 u otro modelo de Raspberry Pi con soporte BLE, además de un Monty Home BLE Device
  • Según el proyecto, se necesitan componentes adicionales como LED, pantalla OLED o cuenta de IFTTT
  • Como sistema operativo se puede usar Raspberry Pi OS Lite o Raspberry Pi OS with Desktop
  • Se requiere tener instalados Python 3 y pip
  • Se usan las siguientes bibliotecas de Python
    • Bleak: para comunicación BLE, pip install bleak
    • Requests: para integración con IFTTT, pip install requests
    • Adafruit CircuitPython SSD1306: para controlar el OLED, pip install adafruit-circuitpython-ssd1306
    • Pillow: para procesamiento de imágenes en OLED, pip install pillow

Comandos BLE de Monty Home

  • Los comandos BLE pueden reemplazarse o modificarse en los scripts de Python para solicitar otros datos o realizar acciones
Comando Función
;QA\r\n Devuelve el índice de todos los datos en la memoria flash
;QP\r\n Devuelve el índice de datos pendientes en la memoria flash
;QR\r\n Devuelve un registro por índice; si no hay índice, devuelve NACK
;QS\r\n Devuelve el estado del dispositivo
;QL\r\n Devuelve el nivel de batería en porcentaje
;QT\r\n Devuelve la medición de temperatura del sensor NTC
;QH\r\n Devuelve la medición de humedad relativa
;QO\r\n Devuelve la medición más reciente de TVOC
;QC\r\n Devuelve la medición más reciente de CO2
;QU\r\n Devuelve el ID único del dispositivo
;QV\r\n Devuelve la versión de firmware del dispositivo
;CR\r\n Reinicia el dispositivo
;CF\r\n Realiza un restablecimiento de fábrica

Cómo ejecutar el código

  • Cada proyecto incluye un script de Python que establece la conexión BLE, envía consultas y procesa datos
  • El orden de ejecución consiste en ir a la carpeta del proyecto desde la terminal de la Raspberry Pi y luego ejecutar el script
cd /path/to/project
python3 project_script.py
  • project_script.py debe reemplazarse por el nombre real del archivo; un ejemplo es project1_temperature_led.py

Puntos de personalización

  • Cambiar los comandos BLE permite obtener otros tipos de datos
  • Por ejemplo, para consultar humedad en lugar de temperatura, se reemplaza el comando así
command = ";QT\r\n"
command = ";QH\r\n"
  • Si se agregan condiciones a la función notification_handler, se pueden decodificar y mostrar varios tipos de datos, como temperatura y humedad
  • Los datos pueden integrarse con plataformas IoT o dashboards para visualización en tiempo real, logging y automatización adicional

Referencias

1 comentarios

 
GN⁺ 2024-11-23
Comentarios de Hacker News
  • Se me ocurrió una idea. Tengo un gran montón de compost que salió de limpiar los corrales de los caballos; está hecho principalmente de astillas de madera empapadas de orina y estiércol de caballo casi descompuesto, con un poco de tierra mezclada
    Este verano probé sembrar papas y zanahorias; las papas salieron muy bien, y las zanahorias no tanto, aunque creo que fue por cómo las regué
    Todavía no parece estar completamente descompuesto, así que si le midiera la temperatura podría saber qué tan activo está. También tengo por ahí un sensor de temperatura basado en ESP8266 que antes usaba para registrar la temperatura ambiente en otro proyecto de fermentación
    Creo que bastaría con sellar el termistor, meter el 8266 en una carcasa IP67 y dejarlo clavado sobre el montón de compost junto con un panel solar. Ya tengo una página web corriendo en el dominio .local, así que casi no requeriría trabajo
    Capaz que este fin de semana sí lo hago

    • Puede que la tierra haya sido demasiado fértil para las zanahorias. Me ha pasado que, cuando hay demasiado nitrógeno, las hojas crecen bien pero la formación de la raíz no se da como debería
    • Es por la orina. Si extiendes el montón y lo dejas secarse al sol, como para blanquearlo, puedes hacer que se evapore el amoníaco
    • Eso es estiércol caliente. Las reglas de jardinería a veces fallan y pueden ser demasiado quisquillosas, pero como punto de partida se puede ver así
      El estiércol caliente tiene muchos compuestos nitrogenados, así que se descompone rápido en el montón de compost y en el proceso genera mucho calor. Los invernaderos tradicionales criaban plántulas y esquejes en invierno con la energía del estiércol en descomposición; aquí entran el estiércol de gallina, pato y caballo
      El estiércol frío tiene menos nutrientes y genera menos calor al descomponerse, así que el riesgo de quemar las plantas es menor. Aplica a animales rumiantes como vacas, cabras y ovejas, porque extraen la mayor parte del nitrógeno del alimento vegetal durante la digestión. Las llamas y alpacas no son rumiantes, pero como su estiércol tiene pocos nutrientes, también puede considerarse frío
  • No es por despreciar el producto, pero en lo personal no creo necesitarlo. Aun así, me da curiosidad si han evaluado qué escala de compostaje se necesita para que el monitoreo electrónico mejore lo suficiente el producto final como para recuperar la inversión
    Siento que tendría que ser una escala bastante grande
    Me gusta la vibra tipo hongo del diseño para hogar; quizá habría valido la pena empujar más por ahí

    • Es cierto que el monitoreo electrónico gana valor a medida que crece la escala, y por eso la línea Monty Pro planeada está orientada a instalaciones industriales de compostaje y operaciones a gran escala
      En esos entornos, los insights basados en datos realmente ayudan a la eficiencia y a reducir costos, por ejemplo optimizando los ciclos de aireación o detectando ineficiencias antes de que se vuelvan costosas. El sitio del producto puede verse aquí: (https://www.monty-pro.com)
      En el hogar, el enfoque no está tanto en ahorrar costos, sino en ofrecer insights convenientes para que la gente que composta en su día a día aproveche mejor el resultado de su esfuerzo. La idea es enriquecer toda la experiencia de compostaje a pequeña escala
    • Viendo los requisitos de hardware del proyecto, el equipo anda por alrededor de 100 dólares. La barrera de entrada es bastante baja
      Hardware Requirements
      
      Raspberry Pi (Zero 2 or another model with BLE support).  
      Monty Home BLE Device.  
      Additional hardware specific to each project, such as an LED, OLED display, and IFTTT account.  
      
  • collectd es, por ejemplo, un sistema de monitoreo de código abierto que puede escribir en archivos planos RRD o en SQLite, y enviar las métricas recopiladas a apps de monitoreo, gráficos y detección de anomalías como Grafana o InfluxDB
    Nagios tiene una función de "state flaping detection" para evitar alertas innecesarias
    collectd-python-plugins incluye un script para monitorear humedad y temperatura con sensores i2c y Python: https://github.com/dbrgn/collectd-python-plugins
    También hay sensores de humedad del suelo LoRaWAN, pero requieren batería o algún método de carga en campo
    "Satellite images of plants' fluorescence can predict crop yields" (2024)
    "Sensor-Free Soil Moisture Sensing Using LoRa Signals (2022)" https://dl.acm.org/doi/abs/10.1145/3534608 .. https://news.ycombinator.com/context?id=40234912
    Búsqueda de sensores de humedad del suelo open source: https://www.google.com/search?q=open+source+soil+moisture+se...

  • Tengo curiosidad por saber qué fabricante y modelo de sensores usan. En un proyecto hobby probé hacer monitoreo ambiental con sensores muy baratos, y tuve una experiencia muy mala con la repetibilidad de las lecturas y la resistencia al ruido en sensores de CO2
    También hubo una discusión relacionada en HN, y gracias a eso me di cuenta de que el ruido era la causa del problema y pude comprobarlo
    Tengo algunas ideas de proyectos que van más allá de algo armado en casa sobre una breadboard, y como el software y la infraestructura están madurando, ahora quiero construir sobre componentes confiables

    • En el sistema Monty usamos sensores de Bosch y Sensirion. En la etapa inicial de prototipo probamos alrededor de 20 tipos de sensores, y esos dieron los resultados más manejables en distintos entornos de compostaje
      Si compartes más sobre la idea de tu proyecto, podemos hablar más a fondo dentro de lo que sea útil
  • Está bien que aumente el monitoreo de compost a pequeña escala de forma más integral y escalable. A la comunidad Gathering for Open Ag Tech también podría interesarle (https://forum.goatech.org/)

    • Pienso publicar algo ahí
  • Está bien, pero para manejar compost caliente, ¿no es bastante simple con solo un termómetro? Si mi compost supera los 45°C, puedo asumir con bastante certeza que hay microorganismos termófilos presentes y trabajando

    • Para alguien que solo quiere mantener una pila básica de compost caliente activa, es cierto que un termómetro es una herramienta excelente
      Pero nuestro sistema brilla cuando quieres profundizar un poco más. Por ejemplo, si agregas datos de gases, nivel de humedad y presión barométrica, puedes diagnosticar problemas u optimizar el proceso con más eficacia. Puedes ver si la actividad es aeróbica o anaeróbica, o si la humedad está demasiado cargada hacia un extremo
      Este tipo de información ayuda cuando la composición del compost o los insumos se vuelven más complejos, o cuando el proceso se detiene y no sabes por qué. Claro, no todo el mundo necesita todo tipo de funciones; también se puede hacer compost excelente y saludable solo con un termómetro confiable y buen ojo para el compost
    • A mi compost le cuesta subir más de 5°C por encima de la temperatura ambiente. Creo que la razón principal es que el contenedor no es lo bastante grande
      Es un recipiente negro de plástico con forma de dalek, así que la relación superficie-volumen es demasiado alta, y además está en un lugar con muchísima sombra
    • ¿Cómo verificas que realmente esté ocurriendo el proceso metabólico que genera esas temperaturas?
  • Me interesa más la utilidad práctica de los valores de los sensores al monitorear composta. La temperatura y la humedad son intuitivas, pero por ejemplo, ¿la composición de gases indica la relación carbono/nitrógeno, o sirve para verificar si la pila se está volviendo anaeróbica?
    También me pregunto si la presión atmosférica es un indicador sustituto general de la velocidad de descomposición
    Y también quisiera saber si han cambiado sus hábitos reales de compostaje por algo que aprendieron al monitorearlo

    • Para explicar un poco más el uso de los valores de los sensores, el gas que monitoreamos principalmente es TVOC (compuestos orgánicos volátiles totales), y funciona como un indicador sustituto general de la actividad de descomposición
      Junto con los datos de temperatura, puede dar una idea bastante clara de si la actividad es aeróbica, es decir, si se trata de una pila de composta saludable, o anaeróbica, algo no deseable y que puede generar olores. Por ejemplo, si el TVOC aumenta bruscamente en una situación de baja disponibilidad de oxígeno, es muy probable que haya condiciones anaeróbicas
      La presión atmosférica se usa en la app complementaria, Monty Mobile, como parte de la detección de eventos de volteo de la pila. La app también analiza, junto con otros datos, cómo los cambios en condiciones como el nivel de humedad o la frecuencia de volteo afectan la descomposición
      Para la mayoría de los usuarios, basta con un indicador general que muestre si la pila está "activa" o "estancada". Con eso pueden ajustar el proceso, por ejemplo agregando materiales marrones, regulando la humedad o aumentando la aireación
      La composta varía muchísimo según la configuración —como tambor, contenedor o lombricomposta— y según los insumos, como estiércol, restos de comida o residuos de jardín. Aun así, los datos de 24 horas de nuestro sistema simplifican el proceso de cambiar hábitos
      En lugar de depender del método de "probar, esperar y volver a probar", recibes retroalimentación inmediata, lo que puede marcar una gran diferencia tanto para principiantes como para personas con experiencia
      En lo personal, Monty también ha sido una gran herramienta de aprendizaje. Al usar la app Monty Mobile, empecé a poner más atención a mi pila de composta y también a recordar mejor ajustarla agregando materiales cuando hace falta. Siento que estoy mucho más conectado con lo que realmente está pasando dentro
  • Desde hace mucho quería intentar un proyecto parecido. La idea sería una sola estaca para clavar en la maceta que mida composición del suelo, niveles de nutrientes, humedad, velocidad del viento, cantidad de luz, humedad ambiental, etc., y que dé recomendaciones para el cuidado de la planta y la optimización del crecimiento
    Al final todavía no lo he hecho. Me gustaría saber si tienen alguna recomendación de compra de sensores

    • Hice un proyecto de hobby de este tipo con humedad del suelo. Es un repositorio desordenado que hice cuando casi no sabía programar, pero está enlazado a algunas guías de sensores capacitivos: https://github.com/smcalilly/sensor
    • En nuestro sistema usamos sensores de Bosch y Sensirion. Tienen buena confiabilidad y durabilidad, incluso en entornos como una pila de composta, donde el calor, la humedad y la actividad microbiana ponen a prueba la electrónica de forma extrema
      Encontrar sensores adecuados implicó mucho ensayo y error, sobre todo porque las condiciones de compostaje son especialmente duras. Si vuelves a empezar el proyecto, me encantaría apoyarlo o comparar notas entre ambos
  • Puedes ver el Monty Monitor aquí: https://montycompost.co/products/im-perfect-monty-monitor

  • No sé cómo me leyeron la mente, pero de verdad, por pura coincidencia, justo estaba buscando termopares para monitoreo de composta