Auf der Suche nach (drahtlosen) Feuchtigkeitssensoren für meine Topfpflanzen bin ich auf die Xiaomi Flower Monitor gestoßen.
Dieser Sensor arbeitet mit Bluetooth 4.1 BLE und misst neben der Feuchtigkeit auch den Düngerbedarf (über die Leitfähigkeit ermittelt), Helligkeit und die Temperatur. Soweit schon mal nicht so schlecht, die Batterie CR2032 soll 365 Tage halten, schauen wir mal. Ein Nachteil hat der Sensor, er ist nicht für draußen geeignet. Die zugehörige App ist nur in Chinesisch, was nicht das Problem ist, der Sensor soll ja eh an EDOMI melden. Die Daten überzeugen, daher habe ich in China zwei Sensoren bestellt und zwei Wochen später wurden die auch geliert. Bezahlt habe ich etwas unter 10 € pro Sensor das ist ein mehr als fairer Preis wenn bedenkt was die Alternativen kosten (z. B. der Parrot Flower Power, der sich allerdings nicht so einfach einbinden lässt und anscheinend nur noch als Restposten zu bekommen ist, allerdings ist er wetterfest und hat eine bessere App).
Zwischenzeitlich habe ich festgestellt, dass CentOS 6.5 zu alt für Bluetooth 4.0 LE ist (Bluez 5 wird benötigt) und daher können die Sensoren nicht direkt verwendet werden. Falls Christian irgendwann auf CentOS 7 wechselt, dann kann der LBS auch direkt unter EDOMI die Sensoren auslesen (wenn erreichbar), natürlich noch ungetestet.
Da ich noch einen Raspberry Pi 3 liegen hatte, wird dieser als Schnittstelle zwischen EDOMI und den Sensoren eingesetzt. Der Raspberry Pi 3 ist sehr gut geeignet, weil er Bluetooth 4.0 LE und WLAN bereits an Board hat und dadurch wird nur noch eine MicroSD-Karte, ein Gehäuse und ein Netzteil benötigt.
Auf dem Raspberry Pi 3 wird Raspbian Jessie Light installiert und zusätzlich noch Apache 2 und PHP5. Weiterhin wird ein Bash- und ein PHP-Skript benötigt, welche in der ZIP-Datei im Anhang des LBS enthalten sind. Auf EDOMI wird zur Zeit nur der LBS benötigt ohne weitere Abhängigkeiten. Wenn EDOMI irgendwann auf CentOS 7 oder höher läuft, dann ist auch noch das Bash-Skript erforderlich.
Vor der Inbetriebnahme müssen die Sensoren einmal in der Mi Home App (Android / iOS) eingerichtet werden, dass ist recht einfach, die Einrichtung ist nicht auf chinesisch. Die App starten, oben rechts auf das + klicken und dann "Add device" auswählen. Am unteren Rand findet sich ein Icon das mit "Scan" beschriftet ist, dieses anklicken und kurze Zeit später werden alle neuen Sensoren, die erreichbar sind, angezeigt. Der Flower Monitor wird als "Flower Care" angezeigt, diesen auswählen und das auslesen und aktualisieren abwarten. Die Informationen zum Sensor selbst, sind jetzt alle auf chinesisch, dass ist nicht schlimm, weil der Sensor jetzt initialisiert ist und damit die App wieder verlassen werden kann.
Bei mir funktionieren die Sensoren sehr gut, über die Genauigkeit kann ich allerdings noch nichts schreiben, Langzeiterfahrungen habe ich damit auch noch nicht.
Die Reichweite beträgt ca. 15m ohne Wand dazwischen, mit einer Wand sind es aber auch noch 10 Meter. Mit einem RPi zentral versteckt, kann ich die meisten Pflanzen erreichen. Die Sensoren melden durch ein kurzes aufleuchten einer weißen LED (sieht edel aus), das Übertragen von Daten.
Der LBS ist sehr klein gehalten, neben einem Eingang zum Triggern, muss nach die IP-Adresse des Raspberry Pi und die MAC-Adresse des Sensors angegeben werden. An den Ausgängen werden nur die vier Werte und ein Trigger-Signal ausgegeben, Schaltschwellen oder ähnliches muss eine nachfolgende Logik erzeugen. Das Trigger-Signal wird gesetzt, wenn die Abfrage fertig ist. Damit wird ein gleichzeitiges Abfragen verhindert, da nur eine Bluetooth-Verbindung gleichzeitig aufgebaut werden kann.
Hilfreich für die Erstellung des LBS waren die Informationen von Open Home Automation, wo die gelieferten Informationen des Sensors "entschlüsselt" wurden.
Edit: Die Reichweite konnte ich durch Abfrage-Wiederholungen erhöhen. Ich vermute das sich bei weit entfernten Sensoren eventuelle Störungen stärker auswirken und deshalb durch das Wiederholen die Reichweite höher ist. Durch zwei Wände reicht die Bluetooth-Übertragung allerdings nicht.
xiaomi-flower-monitor-02_14361_1466174108.jpgxiaomi-flower-monitor-05_14361_1467877840.jpgxiaomi-flower-monitor-04_14361_1467877840.jpg
Dieser Sensor arbeitet mit Bluetooth 4.1 BLE und misst neben der Feuchtigkeit auch den Düngerbedarf (über die Leitfähigkeit ermittelt), Helligkeit und die Temperatur. Soweit schon mal nicht so schlecht, die Batterie CR2032 soll 365 Tage halten, schauen wir mal. Ein Nachteil hat der Sensor, er ist nicht für draußen geeignet. Die zugehörige App ist nur in Chinesisch, was nicht das Problem ist, der Sensor soll ja eh an EDOMI melden. Die Daten überzeugen, daher habe ich in China zwei Sensoren bestellt und zwei Wochen später wurden die auch geliert. Bezahlt habe ich etwas unter 10 € pro Sensor das ist ein mehr als fairer Preis wenn bedenkt was die Alternativen kosten (z. B. der Parrot Flower Power, der sich allerdings nicht so einfach einbinden lässt und anscheinend nur noch als Restposten zu bekommen ist, allerdings ist er wetterfest und hat eine bessere App).
Zwischenzeitlich habe ich festgestellt, dass CentOS 6.5 zu alt für Bluetooth 4.0 LE ist (Bluez 5 wird benötigt) und daher können die Sensoren nicht direkt verwendet werden. Falls Christian irgendwann auf CentOS 7 wechselt, dann kann der LBS auch direkt unter EDOMI die Sensoren auslesen (wenn erreichbar), natürlich noch ungetestet.
Da ich noch einen Raspberry Pi 3 liegen hatte, wird dieser als Schnittstelle zwischen EDOMI und den Sensoren eingesetzt. Der Raspberry Pi 3 ist sehr gut geeignet, weil er Bluetooth 4.0 LE und WLAN bereits an Board hat und dadurch wird nur noch eine MicroSD-Karte, ein Gehäuse und ein Netzteil benötigt.
Auf dem Raspberry Pi 3 wird Raspbian Jessie Light installiert und zusätzlich noch Apache 2 und PHP5. Weiterhin wird ein Bash- und ein PHP-Skript benötigt, welche in der ZIP-Datei im Anhang des LBS enthalten sind. Auf EDOMI wird zur Zeit nur der LBS benötigt ohne weitere Abhängigkeiten. Wenn EDOMI irgendwann auf CentOS 7 oder höher läuft, dann ist auch noch das Bash-Skript erforderlich.
Vor der Inbetriebnahme müssen die Sensoren einmal in der Mi Home App (Android / iOS) eingerichtet werden, dass ist recht einfach, die Einrichtung ist nicht auf chinesisch. Die App starten, oben rechts auf das + klicken und dann "Add device" auswählen. Am unteren Rand findet sich ein Icon das mit "Scan" beschriftet ist, dieses anklicken und kurze Zeit später werden alle neuen Sensoren, die erreichbar sind, angezeigt. Der Flower Monitor wird als "Flower Care" angezeigt, diesen auswählen und das auslesen und aktualisieren abwarten. Die Informationen zum Sensor selbst, sind jetzt alle auf chinesisch, dass ist nicht schlimm, weil der Sensor jetzt initialisiert ist und damit die App wieder verlassen werden kann.
Bei mir funktionieren die Sensoren sehr gut, über die Genauigkeit kann ich allerdings noch nichts schreiben, Langzeiterfahrungen habe ich damit auch noch nicht.
Die Reichweite beträgt ca. 15m ohne Wand dazwischen, mit einer Wand sind es aber auch noch 10 Meter. Mit einem RPi zentral versteckt, kann ich die meisten Pflanzen erreichen. Die Sensoren melden durch ein kurzes aufleuchten einer weißen LED (sieht edel aus), das Übertragen von Daten.
Der LBS ist sehr klein gehalten, neben einem Eingang zum Triggern, muss nach die IP-Adresse des Raspberry Pi und die MAC-Adresse des Sensors angegeben werden. An den Ausgängen werden nur die vier Werte und ein Trigger-Signal ausgegeben, Schaltschwellen oder ähnliches muss eine nachfolgende Logik erzeugen. Das Trigger-Signal wird gesetzt, wenn die Abfrage fertig ist. Damit wird ein gleichzeitiges Abfragen verhindert, da nur eine Bluetooth-Verbindung gleichzeitig aufgebaut werden kann.
Hilfreich für die Erstellung des LBS waren die Informationen von Open Home Automation, wo die gelieferten Informationen des Sensors "entschlüsselt" wurden.
Edit: Die Reichweite konnte ich durch Abfrage-Wiederholungen erhöhen. Ich vermute das sich bei weit entfernten Sensoren eventuelle Störungen stärker auswirken und deshalb durch das Wiederholen die Reichweite höher ist. Durch zwei Wände reicht die Bluetooth-Übertragung allerdings nicht.
Kommentar