Internet der Dinge SS2014/IDD14P02 Hydrokultur MQTT

Aus Verteilte Systeme - Wiki
Wechseln zu: Navigation, Suche
Hydrokulturpflanze mit digitalem Wasserstandssensor

Im Projekt Hydrokultur MQTT wird ein Sensor für Hydrokulturwasserstandsanzeiger entwickelt. Dieser ermöglicht es die analogen Wasserstandsanzeiger digital zu erfassen und zu verarbeiten.

Der Sensor kommuniziert den aktuellen Wasserstand mit einer Kontrolleinheit (ein stationärer Computer oder (in Zukunft auch) ein mobiles Endgerät). Dort werden die Daten verarbeitet und mit dem Nachrichten Protokoll MQTT (MQTT Grundlagen) veröffentlicht. Die Übertragung der Daten erfolgt über Funk. Die bereitgestellten Daten können mit spezialisierten Endanwendungen dem Nutzer z.B. den optimalen Gießzeitpunkt nennen und ihn daran erinnern oder sie können einem Hydropflegedienst bei der Planung der Serviceleistungen (Hydropflege bei Kunden) behilflich sein.


Motivation

Hydrokultursystem Bestandteile, Quelle: DGHK Hydrokultur Poster

Hydrokultur Grundlagen

Hydrokultur ist ein Bepflanzungssystem zur Kultivierung von Pflanzen. In einem Kulturtopf werden Pflanzen (ein Topf gefüllt mit Substrat Steinen, Blähton genannt) mit einem speziellen Bewässerungssystem gepflegt. Mehrere Kulturtöpfe werden in einem Gefäß mit einem einzelnen System bewässert. Dabei wird das Wasser über ein Anstauverfahren den Pflanzen zugeführt. Das Wasser enthält zusätzlich noch Mineralien und Nährstoffe für die Pflanze. Die Wurzeln der Pflanzen nehmen diese und das Wasser für ihren Stoffwechsel auf. Die Wurzeln benötigen jedoch auch Sauerstoff, sie müssen atmen. Daher muss der Wasserstand variieren. Bei ca. 3,5cm Wasserhöhe ist ein Optimum erreicht. Der Wasserstand darf jedoch erst wieder auf diese Höhe aufgefüllt werden, wenn das Wasser fast komplett aufgebraucht ist. Die Pflanzen erhalten somit die Möglichkeit Sauerstoff zu erhalten. Dieses Verfahren wird auch Ebbe-Flut-Verfahren genannt. Der Wasserstand wird mit Hilfe von optischen Anzeigern (Schwimmer und Skala mit Werten Minimum, Zwischenwerten, Optimum und Maximum) dargestellt. Bei ca. 3,5cm wird der Wert Optimum erreicht. Der Anzeiger ist unabhängig von eine konkreten Pflanze und wird im Hydrokulturgefäß installiert. Das Wasser muss bis zu mehreren Wochen nicht nachgefüllt werden.

Das Verfahren kann zwei grundlegende Probleme verursachen:

  • dauerhaft hoher Wasserstand
  • häufig, längere Zeit kein Wasser

Diese Probleme sind durch ein fehlerhaftes Gießverhalten zurückzuführen. Beide Probleme führen zu einem Absterben der Pflanze und sollten demnach verhindert werden.

Vergleiche Informationen auf der Webseite der Gesellschaft für Hydrokultur e.V.

Probleme der Hydropflege in Büroräumen

Hydrokulturbepflanzungen werden aufgrund der vergleichsweise leichten Pflege und einfachen Kombinierbarkeit verschiedener Pflanzen häufig in Büroräumen verwendet. Es gibt dabei zwei verschiedene Gruppen, die diese Pflanzen pflegen. Zum Einen ist das der Hydropflegedienst, in Form des Hausdienstes oder eines externen Dienstleisters; zum Anderen sind es die Mitarbeiter, die in den Büroräumen arbeiten. Bei der ersten Gruppe treten Probleme im Zeitraum der Pflege ein. Die Hydropflege ist nach fest vereinbarten Terminen geregelt und wird nicht dynamisch an den Bedürfnissen der Pflanzen ausgerichtet. Daher kann es zu häufigen Trockenphasen kommen, wenn das Wasser innerhalb des Pflegezeitraums komplett verbraucht wird oder zu dauerhaften Überflutungsphasen, wenn das Wasser nicht komplett verbraucht wird und trotzdem nachgefüllt werden muss. Zu diesem logistischen Problem der Hydropflegedienste kommt noch die zweite Gruppe (die Mitarbeiter) hinzu. Diese sind in der Regel nicht im Umgang mit Hydrokultursystem geschult bzw. vertraut, so dass sie die Notwendigkeit des Ebbe-Flut-Verfahrens nicht verstehen und die Wasserstandsanzeige falsch interpretieren. Dies führt zu häufigerem Gießen der Pflanzen. Des Weiteren werden Getränkereste wie z.B. Kaffeewasser als Gießwasser verwendet. Es entsteht dadurch nicht nur eine dauerhafte Überflutungsphase, sondern durch die Getränkereste werden die Nährstoffe im Wasser nicht mehr so gut gebunden, sodass die Pflanze diese nicht mehr aufnehmen kann.


Ziel

Ziel des Projekts ist es ein Monitoringsystem für den Wasserstand von Hydrokultursystemen zu entwickeln mit dem es möglich ist digital den Wasserstand auszuwerten und über verschiedene Anwendungen den Beteiligten der Hydropflege behilflich zu sein. Es gilt dabei den optimalen Wasserstandsverlauf mit dem Ebbe-Flut-Verfahren umzusetzen und so die Pflanzen in den Büros vor Über- und Unterwässerung zu schützen.

Es gibt dabei zwei Hauptanwendungszwecke, je einen für die Nutzergruppe Hydropflegedienst und einen für die Mitarbeiter. Der erste Anwendungszweck ist aus den Wasserstandsdaten mehrerer Pflanzen und von mehreren Kunden eine bessere Planung der Hydropflege zu erstellen und dadurch die Pflanzen bei Bedarf zu pflegen und nicht nach festgelegten Zeiträumen. Des Weiteren kann der Pflegedienst auch seinem Kunden gezielt Hinweise zur Pflege geben, das ist z.B. wichtig, wenn der Pfleger keinen oder beschränkten Zutritt zum Ort der Pflanze hat. Die zweite Nutzung besteht durch gezielte Hinweise (wie Erinnerungen) für die Mitarbeiter, wann eine Pflanze gegossen werden darf und wann nicht. Außerdem kann auf Überflutungs- bzw. Trockenphasen reagiert werden, sodass Gegenmaßnahmen (Wasser ablassen oder gießen) vorgenommen werden können.

Dieses Projekt beschäftigt sich mit der Entwicklung des Sensors zur Digitalisierung des Wasserstandsanzeigers und mit der Bereitstellung der Daten über einen Internetservice. Die Entwicklung von Endanwendungen ist nicht Bestandteil des Projekts.


Anforderungen

Folgende Tabelle beschreibt die funktionalen und nicht-funktionalen Anforderungen an die entworfenen Sensoren und die Verarbeitungseinheit.

# Anforderung Beschreibung
A10 Sensor Es muss ein Sensor mit den nachfolgenden Anforderungen entwickelt werden.
A11 Wasserstandsmessung Messung des Wasserstandes eines Hydrokultursystems mit Hilfe des vorhandenen analogen Wasserstandsanzeigers und ohne Wasserkontakt. Mindestens sind drei Messpunkte Minimum, ein Zwischenwert und Optimum zu erkennen.
A12 Datenübertragung Der gemessene Wasserstand (A11) muss an eine Verarbeitungseinheit gesendet werden. Es soll kein Kabel verwendet werden.
A13 Energieverbrauch Der Energieverbrauch des Sensors soll möglichst gering sein, um einen Batteriebetrieb mit langer Laufzeit zu ermöglichen.
A14 Optional Gehäuse Der Sensor soll in einem spritzwassergeschützten Gehäuse eingebaut werden. Das Gehäuse muss leicht an den analogen Wasserstandsanzeigern montiert werden können.
A20 Verarbeitungseinheit Verarbeitung und Bereitstellung der Messdaten der Sensoren
A21 Datenverarbeitung Messdaten sollen in einheitliches Format (wie hoch, mittel, niedrig) umgewandelt werden. Außerdem ist jeweils die Differenz zum vorherigen Messzeitpunkt zu berechnen, um erkennen zu können, ob der Wasserstand steigt (positiv), gleich bleibt (0) oder fällt (negativ).
A22 Datenbereitstellung Daten sollen per Nachrichtenprotokoll (MQTT) bereitgestellt werden. Die Verbindung zu einem MQTT Broker muss konfigurierbar sein. Die aktuellsten Daten sollen immer abrufbar sein.
A23 Multisensorfähig Die Verarbeitungseinheit soll die Kommunikation mit mehreren Sensoren unterstützen und ihre Daten verarbeiten können.
A24 Hardwareplattform Die Hardware der Verarbeitungseinheit soll klein sein, damit sie leicht installierbar ist. Außerdem benötigt sie physikalischen Internetzugang und ein zu den Sensorknoten passendes Funkmodul.
A30 Optional Endanwendungen Endanwendungen
A31 Optional Pflanzenübersicht Grafische Auswertung des Wasserstands von mehreren in einer Übersicht. Übersicht ist nach Verarbeitungseinheiten sortiert und kann in weiteren größeren logischen Blöcken zusammengefasst werden (z.B. um einen Kunden zu modellieren). Statistische Auswertungen mit grafische Aufbereitung.
A32 Optional Erinnerungsservice Erinnerung zum Gießen anhand der empfangenen MQTT Nachrichten. Warnung bei zu langer Überflutungsphase. Nachrichten an Mitarbeiter entweder per E-Mail oder falls eine mobile Anwendung entwickelt wird, plattformspezifische Erinnerungen verwenden.

Risiken und Alternativen

In der folgenden Tabelle werden zusätzlich noch Risiken und dazu passende Alternativen aufgezeigt.

Auswirkung Risiko Alternative
hoch Messung des Wasserlevels ohne Wasserkontakt nicht einfach umsetzbar Messarten mit direktem Wasserkontakt erarbeiten, z.B. kann Widerstand eines Leiters im Hydrokulturgefäß bestimmt werden um daraus auf die Wasserhöhe zu schließen.
hoch Funkdatenübertragung von Sensor zu Verarbeitungseinheit schwer umsetzbar schwergewichtigere Funktechnologien verwenden, die keine hohe Energieeffizienz aufweisen bzw. Kabelübertragung als Zwischenlösung verwenden
mittel Verarbeitungsprogramm zum Empfang und Versand der Daten nicht voll funktionsfähig Multisensorfähigkeit vorerst außen vor lassen und zu einem anderen Zeitpunkt nachrüsten
niedrig Datenbereitstellung per MQTT nicht zielführend andere Nachrichtenprotokolle oder andere Verfahren zur Bereitstellung von Daten (Internetprotokolle) verwenden


Unterseiten

Fazit

Insgesamt ist das Projekt erfolgreich. Es sind alle Anforderungen erfüllt, außer die optionalen. Allerdings sind nicht alle Anforderungen getestet worden. Die Multisensorfähigkeit ist zwar implementiert, konnte aber aufgrund nur eines einzelnen vorhandenen prototypischen Sensors nicht getestet werden. Ebenso ist der Energieverbrauch lediglich prinzipiell gering gehalten. Eine genaue Messung und somit eine Aussage über die Batterielaufzeit ist nicht erstellt worden.

Auch wenn die Anforderungen erfüllt sind, sind einige Schwierigkeiten im Verlauf des Projekts aufgetreten, die hier näher erläutert werden:

Reedkontakte schalten nicht zuverlässig
Die verwendeten Reedkontakte schalten nicht zuverlässig, wenn der Magnet in ihrer Nähe ist. Besonders ist es aufgefallen, dass sie weniger oft schalten, wenn sich der Anzeiger mit steigendem/sinkendem Wasser bewegt. Wird der Anzeiger manuell verschoben, schalten die Reedkontakte häufiger. Dieser Aspekt bedarf einer näheren Untersuchung, da bisher keine schlüssige Erklärung für das Verhalten gefunden werden konnte.
Auswahl eines geeigneten Magneten
Die Auswahl eines geeigneten Permanentmagneten hat sich als schwierig herausgestellt, da der Magnet weder zu schwer, noch zu groß sein darf. Außerdem ist auf die Polung des Magneten zu achten.
Generic I/O Firmware unzureichend
Die Generic I/O Firmware hat im Vergleich zu spezialisierten Firmwares keine Möglichkeit des zyklischen Schlafmodus. Mit diesem wäre es möglich das Aufwachen und Einschlafen durch den Sensor zyklisch zu steuern. Der Sensor würde erwachen, seine Daten absenden und wieder einschlafen. Dadurch ist einerseits ein geringeres Risiko vorhanden den Sensor schlafen zu legen (dies wird durch die Verarbeitungseinheit getriggert) und andererseits sinkt dadurch auch der Energieverbrauch, da der Sensor kürzer im Wachzustand ist und weniger Daten senden und empfangen muss. Weiter ist es nicht möglich alle 4 Eingänge gleichzeitig abzufragen, was den Kommunikationsaufwand ebenfalls verringern würde.

Erst wenn die genannten Schwierigkeiten gelöst sind und es ausführliche Tests mit Hydrokultursystemen gegeben hat, ist ein Einsatz in realen Kundenumgebungen möglich. Die folgenden 3 Bilder zeigen das entwickelte System in einer realen Umgebung. Das 4. Bild zeigt den Anzeiger mit dem Sensor.

Ausblick

Das Projekt kann noch weitergeführt werden. Dazu sind verschiedene Aufgaben noch zu bewältigen.

Sensormethode überarbeiten
Es hat sich gezeigt, dass die Messung des Wasserstands mit Reedkontakten nicht sehr zuverlässig funktioniert. Daher ist eine andere Methode in Betracht zu ziehen. Um weiterhin eine Messung von der Seite vornehmen zu können und einen günstigen Anschaffungspreis zu gewährleisten, muss überprüft werden, ob Hall Sensoren, die Genauigkeit des Sensors erhöhen können. Für Hall Sensoren spricht auch, dass es eine spezialisierte Firmware für das XRF Modul mit einem Hall Sensor gibt. Aufbauend darauf kann das System robuster gestaltet werden. Falls Hall Sensoren die gewünschte Genauigkeit nicht hergeben, sind die anderen Methoden zu überprüfen.
Gehäuse entwerfen
Aktuell ist der Sensor noch ohne Gehäuse, die Schaltung liegt offen. Dafür ist, nicht nur aus ästhetischen Gründen, ein Gehäuse zu entwickeln. Ein weiterer Grund ist der Schutz vor Spritzwasser beim Gießen. Wird, wie im vorigen Punkt besprochen, die Hall-Sensor Methode verwendet, kann ein passendes Gehäuse vom XRF Hersteller bezogen werden. Andernfalls ist zu überlegen, ob bestehende Gehäuse von anderen Geräten verwendet werden können oder ob ein eigenes entwickelt werden muss. Sinnvoll ist auch eine Verkleinerung des Sensors durch eine kompaktere Bauweise.
Mehrsensorfähigkeit
Die Verarbeitungseinheit ist prinzipiell auf die Kommunikation mit mehreren Sensoren und die Verarbeitung aller Daten ausgelegt. Allerdings ist dieser Aspekt nicht getestet. Ein umfangreicher Test muss zeigen wie stabil dieses Feature ist und Erkenntnisse müssen in Verbesserungen einfließen.
Endanwendungen
Zur Nutzung der bereitgestellten Daten müssen Endanwendungen erstellt werden. Diese können verschiedene Aufgaben haben. Siehe dazu die Anforderung A30.
Weitere Sensorarten
Neben dem Wasserstand sind auch weitere Einflüsse für Hydrokulturpflanzen wichtig. Das kann die Temperatur, die Sonneneinstrahlung, die Luftfeuchtigkeit oder der pH-Wert des Wassers sein. Es sollte analysiert werden, ob diese Werte mit in den Wasserstandssensor integriert werden können oder ob separate Sensoren entwickelt werden müssen. Ebenso ist dann eine Erweiterung der Verarbeitungseinheit und der Endanwendungen notwendig.


Links

Hier sind einige weiterführende Links aufgeführt, die nicht unmittelbar im Text referenziert werden konnten.

Autor und Lizenz

Dies ist ein Projekt von Daniel Andrés López im Rahmen der Vorlesung Internet der Dinge (SS2014) im Master Studiengang Informatik der Hochschule Rhein-Main. Nutzung ist nur für Hochschulinterne Projekte erlaubt. Andere Nutzung, insbesondere kommerzielle Nutzung ist ausgeschlossen.