Automatische Balkonbewässerung - Füllstandsensor

Nachdem nun sowohl der Temperatursensor als auch die Schaltsteckdose für die Pumpe in FHEM eingebunden sind, fehlt noch eine Möglichkeit, den Füllstand des Wasserbehälters in FHEM zu erfassen und entsprechend zu verhindern, dass die Pumpe trocken läuft.

Von den möglichen Lösungen wird hier die Einbindung eines Ultraschall-Distanzsensors vorgestellt. Im Vergleich zu Lösungen wie dem ELV Homematic HM-Sen-Wa-Od1 welcher eine Mindesthöhe des Behälters von 1,1m voraussetzt oder anderen ‘fertigen’ Sensoren ist hier etwas Bastelaufwand erforderlich.

FHEM bietet eine gute Unterstützung der OpenSource Sensoren des MySensors Projekts2 welche auch hier zum Einsatz kommen. Im FHEM Wiki3 findet sich ein umfangreicher Guide zu MySensors und u.a. auch dessen Vor- und Nachteilen.

Der eigentliche Sensor ist ein preiswerter HC-SR044 welcher an einen Arduino Nano5 angeschlossen ist. Damit dieser keine Kabelverbindung zum Raspberry benötigt wird zusätzlich noch ein nRF24L016 Funkmodul benötigt.

Als Empfänger der Signale dient ein weiterer Arduino, welcher dann über Ethernet mit FHEM kommunizieren kann.

Der Übersichtlichkeit halber beschreibe ich den Zusammenbau der beiden Module in extra Blog-Posts:

Einkaufsliste

Neben diversen Kleinteilen werden die folgenden Bauteile benötigt:

AnzahlModulLink
2Arduino NanoOriginal oder Nachbau
2nRF24L01AZDelivery 3x nRF24L01
1HC-SR04COM-FOUR HC-SR04
1Wiznet W5100XCSource W5100

Optional kann man sich das löten des Sensors sparen wenn man ein passendes Board kauft (z.B. ein SunFounder Servo Control Board, beim Gateway kommt man leider nicht um eine extra Platine herum.

Nach dem Zusammenstecken muss bei dem Board nur noch durchgemessen werden, welches die benötigten digitalen Pins sind, als 5V Quelle kann der ICSP Anschluss genutzt werden (Pin 2)

Sowohl bei den Arduinos als auch den nRF24L01 sollte man aufpassen, keine zu billigen Nachbauten zu kaufen, hier hatte ich bereits einige nicht funktionsfähige erwischt.

Theoretisch kann man die Nanos auch durch günstigere Modelle (z.B. Arduino Mini7) ersetzen, dann benötigt man aber zusätzlich noch einen USB-Serial Adapter zum programmieren und debuggen.

Integration in FHEM

Zur Einbindung in FHEM muss zuerst das Gateway definiert werden. Hierbei wird die statische IP benötigt:

defmod mySensors MYSENSORS 10.0.9.19:5003
attr mySensors autocreate

Alle anschließend in Betrieb genommenen Sensoren werden nun automatisch von FHEM erkannt und angelegt, so auch der Distanzsensor:

Falls es an dieser Stelle Probleme gibt hilft es, sowohl den Sensor als auch den Gateway neu zu starten und ggf. mittels serieller Konsole die Ausgabe des Sensors zu überprüfen.

Footnotes

Related Posts