Übersetzungen dieser Seite:

Pflanzenbewässerung

Autor: Thomas Reininghaus
Titel: "IoT Austria Projekt Pflanzenbewässerung"
Status: Community Projekt
Projektstart: 2016.06.30

Publikationsziele

  1. Dokumente Quickstart, HowTo und Stückliste für eine einsatzfähige minimale Ansteuerung einer Pflanzenbewässerungsanlage
  2. OSD Wiki Eintrag mit Quickstart, HowTo und Stückliste
  3. OSD Wiki Eintrag mit optionalem Ausbau der Pflanzenbewässerung
  4. OSD Wiki Einträge mit konkreten Problemlösungen im Zusammenhang mit Pflanzenbewässerungsanlagen
  5. OSD Github Repository mit Beispielcode der die einzelnen Anwendungsfälle realisiert
  6. OSD Github Repository mit Code für eine Anwendung, welche die Anwendungsfälle benutzerfreundlich zusammenfasst

Lösungsziele

Vermeidung

  • Austrocknung Pflanzen
  • Überwässerung Pflanzen
  • Tauchpumpenprobleme
    • Fördert Luft (Wasser verbraucht oder Wasserstand zu niedrig)
    • Springt nicht an
  • Wasserschaden
  • Frostschaden

Sicherstellung

  • (Kinder)sicherheit/-festigkeit
    • elektronische Verriegelung Touch Pad
    • Dichtheit (IP54 oder mehr) für elektrische Isolierung der wasserführenden Teile

Community Projekt Events

KickOff Event „IoT Workshop June 2016: Pflanzenbewässerung Community Projekt“

am 22.06.2016 fand der KickOff Event „IoT Workshop June 2016: Pflanzenbewässerung Community Projekt“ statt siehe Meetup Event Seite inkl. Fotos

Hier gibt es die Slides zum Workshop

Die vier Teile des Workshops gibt es auch als Videos zum Nachschauen. Die Videos wurden von Michael Ebner (IoT Vienna) zur Verfügung gestellt.

Youtube Playlist mit allen vier Teilen

  • Teil 1: Thomas Reininghaus (IoT Austria) spricht über die neuesten Entwicklungen im Verein und die Vereinsprojekte im Zusammenhang mit dem Community Projekt Pflanzenbewässerung.

Workshop Video Teil 1

  • Teil 2: Thomas Reininghaus (IoT Austria) zeigt live den Entwicklungsstand der ersten Version der Bewässerung an Hand von zwei Hardware Versionen.

Workshop Video Teil 2

  • Teil 3: Wolfgang Sokol (Institut für Hydraulik und landeskulturelle Wasserwirtschaft, WAU, BOKU) präsentiert erste Resultate einer Messung des open Hardware Bodenfeuchte Sensors von Mic und es werden Ausbauvarianten der Bewässerung besprochen.

Workshop Video Teil 3

  • Teil 4: Johannes Dobler stellt seine Eclipse Windows IDE für Contiki als, ohne Installation lauffähiges, Archiv vor.

Workshop Video Teil 4

Workshop Nachfolge Event

Der Nachfolge Event im kleinen Rahmen (max. 12 Personen) findet am Fr 08.07.2016 14-18 Uhr im ersten Stock des Lokals „im Hof“ ohne Reservierung statt

Weyringergasse 36, 1040 Wien mail@im-hof.at T +43 (0)1 929 44 38 http://im-hof.at/

Es soll ein zwangloses Treffen sein um über eure Pläne und Projekte im Zusammenhang mit der Bewässerung zu sprechen. Ich werde meine Merkurboards und Programmer sowie die Ventilbox mit haben und an den im Workshop besprochenen Erweiterungen arbeiten. Jeder kann nur zusehen oder selbst an seinem Projekt arbeiten und meine Hilfe in Anspruch nehmen.

Anwendungsfälle und -szenarien

Vorführ-Szenario Community Projekt Workshop June 2016

Zur Zeit können die Anwendungsfälle mittels coap-client und folgende REST Resourcen auf der Kommandozeile bedient werden (wer möchte ein Mobile UI machen?).

Mit der Software guh ist geplant ein Browser basiertes Benutzerinterface auf einem Handy/Tablet zur Verfügung zu haben.

  • done: Ich will einen Bewässerungsvorgang jetzt vor Ort (hier bei den Pflanzen) starten/stoppen
  • done: Ich will einen Bewässerungsvorgang jetzt ortsunabhängig starten/stoppen
  • done: Ich will, falls ich vergessen habe den manuell gestarteten Bewässerungsvorgang zu stoppen, dass die Bewässerung das automatisch nach einer einstellbaren Zeit tut
  • Ich will den Touch Button Sensor aktivieren/deaktivieren (dient als Kindersicherung)
  • done: Ich will die Uhrzeit für den Start des zeitgesteuerten (täglich einmaligen) Bewässerungsvorganges einstellen
  • done: Ich will die Laufzeit in Sekunden für einen manuell oder zeitgesteuert gestarteten Bewässerungsvorgang einstellen
  • Ich will den automatischen zeitgesteuerten Bewässerungsvorgang aktivieren/deaktivieren
  • done: Ich will ortsunabhängig nachsehen, ob gerade ein Bewässerungsvorgang läuft
  • Ich will ortsunabhängig nachsehen, wann die letzten Bewässerungsvorgänge gelaufen sind

externe Voraussetzungen

zeitabhängige Wassermenge

Derzeit wird von einem nicht regelbaren Ventil zur Wasserfreigabe ausgegangen. Das heisst, dass das Ventil beim Start ganz geöffnet wird und nur die Wasserzufuhr durch ihren Leitungsdruck und die angeschlossenen Schlauchsysteme mit ihren Durchmessern, Längen, eventuellen Verzweigungen und Öffnungen die pro Zeiteinheit austretende Wassermenge bestimmen (wie bei der klassichen Tröpfchenbewässerung). Somit wird die gesamte bei einem einzelnen Bewässerungsvorgang freigegebene Wassermenge von der Zeit zwischen Start und Stop bestimmt. Reguliert wird daher durch die Änderung der Bewässerungsdauer eines Bewässerungsvorgänges und/oder durch die Änderung der Anzahl der Bewässerungsvorgänge.

Benutzerinterface Ideen

Der Mensch hat ein gutes Gefühl für seine Pflanzen und ihre Bedürfnisse. Daher wird ausgehend von einer ungefähren Zeitangabe für die Regulierung der Wassermenge nur ein großer Drehregler zur Verfügung stehen, um die Wassermenge zu erhöhen oder zu verringern. Je nach angeschlossener Sensorik, kann das System die eingehenden Informationen benutzen um die vom Menschen gewünschte Wassermenge unter den, von den Sensoren gemessenen und als real angenommenen, Bedingungen auch tatsächlich zu erreichen.

Die weiteren möglichen Ausbaustufen:

Weitere Eingriffsmöglichkeiten sollen dahingehend bestehen, dass die Anzahl der Gießvorgänge pro Zeitintervall (z.B.: täglich/wöchentlich…) und die bevorzugten Tageszeiten (z.B.: nach Sonnenaufgang/vor Sonnenuntegang/Nacht…) angegeben werden kann.

Ausnahmen sollte der Mensch immer machen können. Daher soll man die nächsten paar, in die Zukunft vorgeschlagenen Gießvorgänge, jederzeit individuell stornieren können.

Bestandteile

Fixe Bestandteile:

  • dichte Box mit Steckernetzteil zur Stromversorgung
  • Ventil
  • Ventilsteuerung
  • Merkur Board
  • Relaisboard (Powerboard)
  • 230V Anschluss über Steckernetzteil

Optionale Bestandteile:

  • Tauchpumpe
  • Heizung

Sensoren/Aktoren:

  • Touch Pad Sensor
  • Bodenfeuchte
    • „sich verbrauchende“
    • Kapazitive
  • Luftfeuchte
  • Regen
  • Temperatur (f. Frostwächter, kann der Temperaturfühler am Merkurboard dafür verwendet werden?)
  • Wasserstand (im Brunnen/Regenfass)
  • Durchflusszähler (Erkennung Leckage oder Ventilschaden/Fehlöffnung)
  • externe Web Sensoren
    • e.g. ZAMG Werte (Feuchte/Regen/Gewitter)
    • Astronomic Timer z.B.: zur Erkennung von Sonnenaufgang/Untergang
  • Uhrzeit
    • interne Uhr synchronisiert über coap und REST Resource
    • Echtzeituhr (z.B.: DCF77 Funkuhr)
    • NTP Synchronisation

Ventil

  • 230V Magnetventil (Sicherheitsbox notwendig aber trotzdem nicht kindertauglich)
  • 24V Wechselstrom Magnetventil (Hunter oder Gardena in der Box mit 24V AC Netzteil an 230V extern)
  • solarbetriebene Versionen einer Balkon/Terassen-Tröpfchenbewässerung
    • Das motorbetriebene Heizungsventil mit Merkurboard aus dem Projekt "HeizLux" von Marcus Priesch
    • Das 9V Magnetventil von Gardena mit dem Merkurboard in der Box (Ansteuerung mittels PWM über den Chinch Stecker)

Steuerungsvarianten

  • Manuell gesteuert
    • Start (Ventil öffnen) und Stop (Ventil schliessen)
    • ortsunabhängig: Rest Ressource für Start und Stop
    • vor Ort: Einbindung Touch Pad als Wechselschalter für Start/Stop
  • Zeitgesteuert
    • automatischer Timeout nach manuellem Start
    • Regelmäßig Z.B.: Zwei tägliche Intervalle mit Start und Stop Zeit
  • Regengesteuert
  • Bodenfeuchtegesteuert
    • geigneten Kapazitiven Sensor finden

Projektvarianten

Gartenbewässerung:

Voraussetzungen: Alles muss frostsicher ausgelegt sein, 230V an der Pumpe vorhanden Als Pflanzenerde können alle Arten von Erden vorkommen (Lehm, Torf, Humus, Sand…)

Optionen: Brunnenbewässerung mit Tauchpumpe

Terassen(Balkon)bewässerung:

Voraussetzungen: Alles bis auf das Bewässerungsventil und das ansteuernde Relaisboard kann im Innenraum betrieben werden und muss daher nicht frosticher sein und kann ohne Aufwand mit Netzstrom versorgt werden.

Als Pflanzenerde kommen überwiegend Humusartige Topfpflanenzenerden zum Einsatz

Optional:

Auch das Bewässerungsventil und das ansteuernde Relaisboard können im Winter abgebaut werden und müssen nicht frostsicher sein.

Optionen: Regenfassbewässerung mit Tauchpumpe

Innenraum-taugliche Topfpflanzenbewässerung:

Mit einer kleinen Aquariumpumpe, Batterien/Solarpanel und mit einer Flasche/Schläuchen und einem Schlauchverteiler könnte man mehrere Zimmerpflanzen mit dem Merkurboard versorgen.

Tests

Heizungstest in der Tiefkühltruhe mit Schockgefrierprogramm

Vorführ-Anlage Community Projekt Workshop June 2016

Realisierungsziele

So wie das OSDomotics Haus blinken muss, muss die Pflanzenbewässerung sprudeln. Die einfachsten Anwendungsfälle sollen vollständig gezeigt werden.

Anwendungsfälle

Bestandteile Hardware

  • Autonome Steuerung
    • Abzweigdose IP54/65 für PowerBox8
    • Schutzkontaktkupplung Gummi 230 V Schwarz IP20 für Anschluss Aquariumpumpe
    • PowerBox8 bestehend aus

Relay Board 8 Bezugsquelle 1 (last accessed 09.07.2016)

Relay Board 8 Bezugsquelle 2 (last accessed 09.07.2016)

  • Minicomputer als Boarder Router und Datenlogger bestehend aus
  • Netzwerkkomponenten für die Verbindung zur Aussenwelt
    • WLAN Access Point
    • Switch
  • (optional) Android Device als WLAN Bediengerät
  • Vorführinstallation Tröpfchenbewässerung (Herbert Bucheggers Spezialanfertigung)
    • Aquariumpumpe 230V
    • Tröpfchenbewässerung Schlauchsystem mit zwei manuellen Austrittsreglern
    • Gastro Servierbehälter transparent
    • Zwei Stück „unzerstörbare“ plastik Aquariumpflanzen für Dauertests der Bewässerung

Bestandteile Software

  • REST Resourcen
    • Event Resource Touch Button Sensor mit der Methode GET
    • Event Resource Remote Button Sensor für Fernschaltung mit den Methoden GET und POST
    • Firmware Information, bestehend aus Version und Name mit den Methoden GET
    • Hardware Information, bestehend aus Model mit den Methoden GET
    • Bewässerungsdauer (gleichzeitig Timeout) als rebootfeste EEPROM Variable mit den Methoden GET und POST
    • Bewässerung tägliche Startzeit hh:mm als rebootfeste EEPROM Variable mit den Methoden GET und POST
    • Aktor Relais 1-4 zum abfragen und schalten mit den Methoden GET, POST und PUT
    • Aktor LED zur Anzeige, ob die automatische Bewässerung aktiv/inaktiv ist mit den Methoden POST und PUT
    • Aktor LED Wechselschalter mit den Methoden GET, POST und PUT
    • Sensor CPU Temperatur für eventuelle Frostwächterfunktion mit der Methode GET
    • Sensor Batterie für eventuelle Batterie- oder 230V Netzüberwachung mit der Methode GET
    • aktuelles Datum und Uhrzeit um die interne Zeit des Merkurboards zu setzen mit den Methoden POST und PUT
  • Contiki Erbium CoAP server
  • Contiki Main Loop mit Event Dispatcher

Alternativ (optional)

  • Arduino Sketch mit Main Loop
  • Arduino Resourcen
    • Sensor Grove Touch Button

Fernsteuerung der Anlage

Hier ein Beispiel Script für mein Ubuntu Notebook um die Anlage zu erreichen

#!/bin/sh
# ideen:pflanzenbewaesserung, Thomas Reininghaus
# Vorbereitung für coap client Aufrufe zur Steuerung der Pflanzenbewässerung
# IPv6 Netz für die beiden Merkur Boards (Boarder Router und Powerbox)

# Ohne IPv4 Adresse klappt's auf meinem Ubuntu nicht daher
ip addr add 192.168.0.100/24 dev eth0:0
# Dem Notebook eine passende IPv6 Adresse geben
ip addr add abbb::ba27:ebff:fed5:4242/64 dev eth0
# Route zur Sarahbox legen
ip route add default via abbb::ba27:ebff:fed5:438a

Hier ein Beispiel Script um die Anlage zu initialisieren. Ohne das Script ist die Bewässerungsdauer auf 0 Sekunden gestellt.

# Jetzt die Anlage auf aaaa::221:2eff:ff00:343c initialisieren
# Datum und Uhrzeit setzen
date +%s | coap-client -t text/plain -f-  -m put 'coap://[aaaa::221:2eff:ff00:343c]:5683/clock/timestamp'
# Bewässerungsdauer auf 10 Sekunden setzen
coap-client -m POST -e time=10 coap://[aaaa::221:2eff:ff00:343c]:5683/a/wat_dur
# Start Uhrzeit der automatischen Bewässerung setzen
coap-client -m POST -e tods=11:55 coap://[aaaa::221:2eff:ff00:343c]:5683/a/wat_tods

Hier ein Beispiel für die Fernsteuerung: Den Touch Button remote auslösen

~$ coap-client -m POST coap://[aaaa::221:2eff:ff00:343c]:5683/a/remote_button

Well Known Resources

~$ coap-client -m get coap://[aaaa::221:2eff:ff00:343c]:5683/.well-known/core
</.well-known/core>;ct=40
</a/wat_dur>;title="Watering durationsec., POST time=XXX";rt="Control"
</a/wat_tods>;title="Watering start time of day, POST tods=hh:mm";rt="Control"
</a/relay>;title="RELAY: ?type=1|2|3|4, POST/PUT, POST/PUT mode=on|off";rt="Control"
</p/model>;title="model";rt="simple.dev.mdl"
</p/sw>;title="Software Version";rt="simple.dev.sv"
</p/name>;title="name";rt="simple.dev.n"
</s/button>;title="Irigation Start/Stop Button";obs
</a/remote_button>;title="Remote button";rt="simple.act.rbutton";obs
</a/led>;title="LED: POST/PUT mode=on|off";rt="simple.act.led"
</a/toggle>;title="Red LED";rt="Control"
</s/battery>;title="Battery status";rt="Battery"
</s/cputemp>;title="CPU Temperature";rt="simple.sen.tmp"
</clock/timestamp>;title="Time";rt=UCUM:"s";ct="0 5"
</clock/localtime>;title="Local time";rt=UCUM:"formatted time";ct="0 5"
</clock/utc>;title="UTC";rt=UCUM:"formatted time";ct="0 5"

de/projekte/pflanzenbewaesserung.txt · Zuletzt geändert: 2017/03/06 16:48 von zundero