- Der Monty Home Device Hacking Guide zeigt, wie sich das ursprünglich für das Kompost-Monitoring gedachte Monty Home BLE-Gerät mit einem Raspberry Pi erweitern lässt, um Umgebungsdaten wie Temperatur, Luftfeuchtigkeit und Batteriestand abzurufen, anzuzeigen und zu automatisieren
- Das Repository bietet 3 Projekte mit Python, BLE und Raspberry Pi, darunter LED-Steuerung auf Basis von Temperaturschwellen, I2C-OLED-Anzeige und das Versenden von IFTTT-Benachrichtigungen
- Zu den BLE-Befehlen gehören Temperatur
;QT\r\n, Luftfeuchtigkeit ;QH\r\n, Batterie ;QL\r\n, CO2 ;QC\r\n, TVOC ;QO\r\n, Firmware-Version ;QV\r\n, Neustart ;CR\r\n, Werksreset ;CF\r\n und weitere
- Als Laufzeitumgebung werden ein BLE-fähiger Raspberry Pi, ein Monty Home BLE Device, Python 3, Bleak, Requests, Adafruit CircuitPython SSD1306, Pillow und mehr benötigt
- Nutzer können die BLE-Befehle im Skript ändern oder die Bedingungen in
notification_handler erweitern, um weitere Sensordatenverarbeitung, Dashboard-Integration, Logging und zusätzliche Automatisierung umzusetzen
Leitfaden zur Erweiterung von Monty Home BLE-Geräten
- Der Monty Home Device Hacking Guide ist eine Schritt-für-Schritt-Anleitung, um die Funktionen eines Monty Home BLE-Geräts mit einem Raspberry Pi zu erweitern
- Das Monty Home-Gerät wurde ursprünglich für das Kompost-Monitoring entwickelt und erfasst Temperatur, Luftfeuchtigkeit und weitere Umgebungswerte
- Der Leitfaden richtet sich an Nutzer, die sich für BLE-Geräte, IoT-Anwendungen und Umweltmonitoring interessieren
- Für den Kauf von Monty Home wird auf https://montycompost.co/ verwiesen
Die enthaltenen 3 Projekte
-
Temperaturbasierte LED-Steuerung
- Verwendet die Temperaturdaten des Monty Home-Geräts, um die LED eines Raspberry Pi zu steuern
- Überschreitet die Temperatur einen festgelegten Schwellenwert, schaltet sich die LED ein und signalisiert eine Warnung
- Behandelte Techniken sind GPIO-LED-Steuerung, BLE-Datenabfrage und bedingte Verarbeitung in Python
- Benötigte Hardware: ein BLE-fähiger Raspberry Pi, eine LED und ein 330Ω-Widerstand
-
Anzeige von Temperatur und Luftfeuchtigkeit auf einem I2C-OLED
- Zeigt die vom Monty Home-Gerät abgerufenen Temperatur- und Luftfeuchtigkeitswerte in Echtzeit auf einem an den Raspberry Pi angeschlossenen OLED-Display an
- Nutzt ein SSD1306-OLED-Display zur Darstellung dynamischer Daten und implementiert BLE-Datenabruf sowie Bildschirmaktualisierung
- Benötigte Hardware: ein BLE-fähiger Raspberry Pi und ein SSD1306 OLED Display; möglich sind 128x32- oder 128x64-Konfigurationen
-
Temperaturwarnungen über IFTTT
- Überschreitet die Temperatur des Monty Home-Geräts einen bestimmten Schwellenwert, sendet der Raspberry Pi über IFTTT eine Benachrichtigung
- Behandelt die IFTTT-Integration für IoT-Automatisierung, HTTP-Anfragen mit der
requests-Bibliothek und die Kombination aus BLE-Daten und Cloud-Benachrichtigungen
- Benötigte Hardware und Konten: ein Raspberry Pi mit Wi‑Fi und ein IFTTT-Konto
Laufzeitumgebung und Abhängigkeiten
- Benötigte Hardware: ein Raspberry Pi Zero 2 oder ein anderes Raspberry-Pi-Modell mit BLE-Unterstützung sowie ein Monty Home BLE Device
- Je nach Projekt werden zusätzliche Komponenten wie LED, OLED-Display oder ein IFTTT-Konto benötigt
- Als Betriebssystem kann Raspberry Pi OS Lite oder Raspberry Pi OS with Desktop verwendet werden
- Python 3 und eine Installation von
pip werden benötigt
- Verwendete Python-Bibliotheken:
- Bleak: für BLE-Kommunikation,
pip install bleak
- Requests: für die IFTTT-Integration,
pip install requests
- Adafruit CircuitPython SSD1306: für die OLED-Steuerung,
pip install adafruit-circuitpython-ssd1306
- Pillow: für die Bildverarbeitung auf dem OLED,
pip install pillow
Monty Home BLE-Befehle
- BLE-Befehle können in Python-Skripten ausgetauscht oder angepasst werden, um andere Daten anzufordern oder Aktionen auszuführen
| Befehl |
Funktion |
;QA\r\n |
Gibt den Index aller im Flash-Speicher befindlichen Daten zurück |
;QP\r\n |
Gibt den Index der ausstehenden Daten im Flash-Speicher zurück |
;QR\r\n |
Gibt einen Datensatz anhand des Index zurück, ohne Index NACK |
;QS\r\n |
Gibt den Gerätestatus zurück |
;QL\r\n |
Gibt den Batteriestand in Prozent zurück |
;QT\r\n |
Gibt den Temperaturmesswert des NTC-Sensors zurück |
;QH\r\n |
Gibt den Messwert der relativen Luftfeuchtigkeit zurück |
;QO\r\n |
Gibt den zuletzt gemessenen TVOC-Wert zurück |
;QC\r\n |
Gibt den zuletzt gemessenen CO2-Wert zurück |
;QU\r\n |
Gibt die eindeutige ID des Geräts zurück |
;QV\r\n |
Gibt die Firmware-Version des Geräts zurück |
;CR\r\n |
Startet das Gerät neu |
;CF\r\n |
Führt einen Werksreset aus |
Ausführung des Codes
- Jedes Projekt enthält ein Python-Skript, das die BLE-Verbindung herstellt, Abfragen sendet und die Daten verarbeitet
- Die Ausführung erfolgt, indem man im Raspberry-Pi-Terminal in den Projektordner wechselt und anschließend das Skript startet
cd /path/to/project
python3 project_script.py
project_script.py muss durch den tatsächlichen Dateinamen ersetzt werden; im Beispiel etwa project1_temperature_led.py
Anpassungspunkte
- Durch das Ändern der BLE-Befehle lassen sich andere Datentypen abrufen
- Um zum Beispiel statt Temperatur die Luftfeuchtigkeit abzufragen, wird der Befehl wie folgt ersetzt
command = ";QT\r\n"
command = ";QH\r\n"
- Durch zusätzliche Bedingungen in der Funktion
notification_handler lassen sich mehrere Datentypen wie Temperatur und Luftfeuchtigkeit dekodieren und anzeigen
- Die Daten können mit IoT-Plattformen oder Dashboards integriert und für Echtzeit-Visualisierung, Logging und weitere Automatisierung genutzt werden
Referenzmaterial
1 Kommentare
Meinungen auf Hacker News
Da kommt mir eine Idee. Ich habe einen großen Komposthaufen vom Ausmisten unserer Pferdeställe, der hauptsächlich aus mit Urin getränkten Holzchips und fast zersetztem Pferdemist besteht, mit etwas Erde darin.
Diesen Sommer habe ich dort Kartoffeln und Karotten gepflanzt; die Kartoffeln sind sehr gut geworden, die Karotten eher nicht, aber das führe ich auf falsches Gießen zurück.
Ganz fertig zersetzt scheint er noch nicht zu sein; wenn ich die Temperatur messe, könnte ich wohl sehen, wie aktiv er ist. Ich habe auch noch einen Temperatursensor auf ESP8266-Basis aus einem früheren Fermentationsprojekt, der die Umgebungstemperatur erfasst hat.
Ich müsste wohl nur den Thermistor abdichten, den 8266 in ein IP67-Gehäuse stecken und ihn zusammen mit einer Solarzelle oben in den Komposthaufen setzen. Er stellt bereits eine Webseite unter einer
.local-Domain bereit, also wäre das vermutlich kaum Aufwand.Vielleicht probiere ich das dieses Wochenende tatsächlich aus.
Heißer Mist enthält viele Stickstoffverbindungen, zersetzt sich im Komposthaufen schnell und erzeugt dabei viel Wärme. Traditionelle Gewächshäuser nutzten die Energie verrottenden Mists, um im Winter Setzlinge und Stecklinge zu ziehen; Hühner-, Enten- und Pferdemist gehören dazu.
Kalter Mist enthält weniger Nährstoffe und erzeugt bei der Zersetzung weniger Wärme, sodass die Gefahr geringer ist, Pflanzen zu verbrennen. Wiederkäuer wie Rinder, Ziegen und Schafe fallen darunter, weil sie den Großteil des Stickstoffs aus pflanzlicher Nahrung während der Verdauung herausziehen. Lamas und Alpakas sind zwar keine Wiederkäuer, aber ihr Mist ist nährstoffarm und kann daher als kalt gelten.
Ich will das Produkt nicht schlechtmachen, aber persönlich brauche ich es wohl nicht. Mich würde aber interessieren, ob untersucht wurde, ab welcher Kompostierungsgröße elektronisches Monitoring das Endprodukt genug verbessert, um die Investition wieder hereinzuholen.
Gefühlt müsste das ziemlich groß sein.
Die pilzartige Anmutung des Designs für den Hausgebrauch gefällt mir, und man hätte diese Richtung vielleicht stärker verfolgen können.
In solchen Umgebungen helfen datenbasierte Insights tatsächlich bei Effizienz und Kosteneinsparungen, etwa durch die Optimierung von Belüftungszyklen oder das Erkennen von Ineffizienzen, bevor sie teuer werden. Die Produktseite findet sich hier: (https://www.monty-pro.com)
Für den Heimgebrauch liegt der Fokus weniger auf Kosteneinsparungen, sondern darauf, alltäglichen Kompostnutzern praktische Insights zu geben, damit ihre Mühe bessere Ergebnisse bringt. Ziel ist, das gesamte Kompostiererlebnis im kleinen Maßstab zu bereichern.
collectd ist ein Open-Source-Monitoring-System, das zum Beispiel in RRD-Flatfiles oder SQLite schreiben kann und die erfassten Metriken an Monitoring-, Charting- und Anomalieerkennungs-Apps wie Grafana oder InfluxDB weitergeben kann.
Nagios hat eine Funktion namens „state flaping detection“, die unnötige Benachrichtigungen verhindert.
collectd-python-plugins enthält Skripte, die mit i2c-Sensoren und Python Feuchtigkeit und Temperatur überwachen: https://github.com/dbrgn/collectd-python-plugins
Es gibt auch LoRaWAN-Bodenfeuchtesensoren, sie benötigen aber Batterien oder eine Lademöglichkeit vor Ort.
„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
Suche nach Open-Source-Bodenfeuchtesensoren: https://www.google.com/search?q=open+source+soil+moisture+se...
Wiki-Suche zu Pflanzenmonitoring: https://www.google.com/search?q=crop+monitoring+wikipedia ...
Präzisionslandwirtschaft: https://en.wikipedia.org/wiki/Precision_agriculture
Digitale Landwirtschaft: https://en.wikipedia.org/wiki/Digital_agriculture
Suche nach Pflanzenmonitoring-Systemen auf GitHub: https://www.google.com/search?q=crop+monitoring+system+site%...
SIEM: https://en.wikipedia.org/wiki/Security_information_and_event...
Mich würde interessieren, welche Sensorhersteller und -modelle verwendet werden. Ich habe bei einem Hobbyprojekt mit sehr günstigen Sensoren Umweltmonitoring ausprobiert und sehr schlechte Erfahrungen mit der Wiederholbarkeit der Sensorwerte und der Störfestigkeit von CO2-Sensoren gemacht.
Auf HN gab es dazu ebenfalls Diskussionen, und dadurch konnte ich erkennen und verifizieren, dass Rauschen die Ursache des Problems war.
Ich habe ein paar Projektideen, die über das Niveau von Breadboard-Basteleien zu Hause hinausgehen; da Software und Infrastruktur reifer werden, würde ich sie jetzt gern auf verlässlichen Komponenten aufbauen.
Wenn du mehr von deinen Projektideen teilst, können wir gern, soweit es hilfreich ist, tiefer darauf eingehen.
Es ist schön, dass umfassenderes und skalierbares Monitoring kleiner Kompostsysteme zunimmt. Auch die Community Gathering for Open Ag Tech könnte daran Interesse haben (https://forum.goatech.org/).
Klingt gut, aber für Heißkompostierung reicht doch eigentlich ein Thermometer ziemlich weit, oder? Wenn mein Kompost über 45 °C kommt, kann ich recht sicher davon ausgehen, dass thermophile Mikroben vorhanden sind und arbeiten.
Unser System glänzt allerdings, wenn man etwas tiefer einsteigen möchte. Fügt man zum Beispiel Daten zu Gasen, Feuchtigkeitsniveau und Luftdruck hinzu, kann man den Prozess effektiver diagnostizieren oder optimieren. Man kann sehen, ob die Aktivität aerob oder anaerob ist oder ob die Feuchtigkeit zu stark in die eine oder andere Richtung ausschlägt.
Wenn Kompostierungsaufbau oder Input-Materialien komplexer werden oder der Prozess stehen bleibt und man nicht weiß warum, helfen solche Einblicke. Natürlich braucht nicht jeder sämtliche Funktionen; auch mit einem zuverlässigen Thermometer und einem guten Gefühl für Kompost lässt sich großartiger, gesunder Kompost herstellen.
Es ist so ein schwarzer Kunststoffbehälter in Dalek-Form, mit zu großem Volumen im Verhältnis zur Oberfläche, und er steht außerdem an einem sehr schattigen Ort.
Mich interessiert vor allem, wie praktisch nützlich die Sensorwerte beim Monitoring von Kompost sind. Temperatur und Feuchtigkeit sind intuitiv, aber deutet zum Beispiel die Gaszusammensetzung auf das Kohlenstoff-/Stickstoff-Verhältnis hin, oder prüft man damit, ob der Haufen in einen anaeroben Zustand kippt?
Ich frage mich auch, ob der Luftdruck ein allgemeiner Proxy-Indikator für die Zersetzungsgeschwindigkeit ist.
Außerdem würde ich gern wissen, ob ihr aufgrund dessen, was ihr beim Monitoring gelernt habt, tatsächlich eure Kompostiergewohnheiten geändert habt.
Zusammen mit den Temperaturdaten lässt sich ziemlich gut erkennen, ob die Aktivität aerob ist, also ob es sich um einen gesunden Komposthaufen handelt, oder ob sie anaerob ist, was unerwünscht ist und Geruch verursachen kann. Wenn TVOC beispielsweise in einer Situation mit sinkender Sauerstoffverfügbarkeit stark ansteigt, sind anaerobe Bedingungen sehr wahrscheinlich.
Der Luftdruck wird in der Companion-App Monty Mobile als Teil der Erkennung von Ereignissen wie dem Wenden des Haufens verwendet. Die App analysiert außerdem zusammen mit anderen Daten, wie sich Änderungen der Bedingungen, etwa Feuchtigkeitsniveau oder Häufigkeit des Wendens, auf die Zersetzung auswirken.
Für die meisten Nutzer reicht ein allgemeiner Proxy-Indikator dafür, ob der Haufen „aktiv“ oder „stagnierend“ ist. Damit kann man den Prozess anpassen, indem man etwa braunes Material hinzufügt, die Feuchtigkeit reguliert oder die Belüftung erhöht.
Bei Kompost fallen die Ergebnisse je nach Aufbau, etwa Tumbler, Behälter oder Wurmfarm, und je nach Inputs wie Mist, Essensresten oder Gartenabfällen sehr unterschiedlich aus. Trotzdem vereinfachen die 24-Stunden-Daten unseres Systems den Prozess, Verhaltensänderungen vorzunehmen.
Man bekommt sofortiges Feedback, statt sich auf „ausprobieren, warten und noch einmal ausprobieren“ verlassen zu müssen, und das kann sowohl für Anfänger als auch für erfahrene Nutzer einen großen Unterschied machen.
Auch für mich persönlich war Monty ein großartiges Lernwerkzeug. Durch die Monty-Mobile-App habe ich mich mehr für meinen Komposthaufen interessiert und denke besser daran, den Haufen bei Bedarf durch das Hinzufügen von Materialien anzupassen. Ich habe wirklich das Gefühl, besser mit dem verbunden zu sein, was im Inneren passiert.
Ich wollte schon lange ein ähnliches Projekt ausprobieren: ein einzelner Pfahl, den man in einen Blumentopf steckt und der Bodenzusammensetzung, Nährstoffniveau, Feuchtigkeit, Windgeschwindigkeit, Lichtmenge, Luftfeuchtigkeit usw. misst und Empfehlungen zur Pflanzenpflege sowie zur Wachstumsoptimierung gibt.
Am Ende habe ich es bisher nicht umgesetzt. Ich würde gern wissen, ob es Empfehlungen für den Kauf von Sensoren gibt.
Die passenden Sensoren zu finden, war mit viel Trial-and-Error verbunden, besonders weil Kompostierbedingungen so rau sind. Wenn du das Projekt wieder aufnimmst, würde ich dich gern anfeuern oder unsere Aufzeichnungen vergleichen.
Den Monty Monitor findet man hier: https://montycompost.co/products/im-perfect-monty-monitor
Ich weiß nicht, wie ihr meine Gedanken gelesen habt, aber wirklich rein zufällig habe ich gerade eben nach Thermoelementen für das Kompost-Monitoring gesucht.