Module
Füllstand der Zisterne[Bearbeiten]
Der Füllstand der Zisterne wird mit einem VL53L1X Time of Flight (ToF) Laser Ranging Sensor Module gemessen. Dieser misst die Entfernung bis zur Wasseroberfläche. Damit kann dann der Füllstand und damit dann wiederum das vorhandene Volumen berechnet werden.
Software[Bearbeiten]
ESPEasy[Bearbeiten]
- ESPEasy Plugin
- ESPEasy zur Messung der Entfernung
- Deep Sleep, damit die Messung nur alle drei Stunden erfolgt: unter Config "Sleep awake time" auf 20 sec (Messzeit), "Sleep time" auf 10800 sec (3 Stunden) und im Device 1 sec einstellen
Alternativ kann Deep Sleep auch über Rules aktiviert werden
Tasmota[Bearbeiten]
Tasmota hat den Treiber für den VL53L1X nicht in der Sensor-Binary, deshalb muss eine eigene kompiliert werden.
#define USE_I2C #define USE_VL53L1X
#define I2CDRIVERS_0_31 0x00000000 #define I2CDRIVERS_32_63 0x00400000 // enable only device 54, the VL53L1X #define I2CDRIVERS_64_95 0x00000000
Genaues Vorgehen:
- Projektseite von TasmoCompiler
- Dort auf "link to Gitpod"
- Mit Git-Account anmelden und den Compiler laden
Einstellungen für TasmoCompiler v9.0.1:
- Hardware: Wemos/NodeMCU
- Funktionen:
- Abstandssensoren
- Regeln
- Web Interface
- Zusätzliche Parameter:
#define I2CDRIVERS_0_31 0x00000000 #define I2CDRIVERS_32_63 0x00400000 // enable only device 54, the VL53L1X #define I2CDRIVERS_64_95 0x00000000
Dann eine stabile Version compilieren.
Wenn beim Update nicht genug Speicher angezeigt wird:
Zuerst die minimale Version installieren:
http://ota.tasmota.com/tasmota/release/tasmota-minimal.bin.gz
Dann die neue Vollversion installieren
DeepSleep[Bearbeiten]
Die DeepSleepTime kann über MQTT geändert werden. Wenn der ESP schläft, kann er keine Nachricht empfangen. Retain auf true setzen hilft hier nicht, denn die Nachricht wird dann zwar bei jedem Aufwachen erneut gesendet und verarbeitet, DeepSleep wird dann jedoch von Tasmota sofort verarbeitet, BEVOR die Sensordaten gesendet werden. Die Nachricht mit der neuen DeepSleepTime sollte deshalb mit Retain false gesendet werden, wenn der ESP die Sensordaten gerade geschickt hat.
Console[Bearbeiten]
- Rule1 ON Power1#Boot DO Power on ENDON
- Rule1 1
- DeepSleepTime 3600
Modulkonfiguration[Bearbeiten]
- GPIO12 (D6) I2C SDA
- GPIO13 (D7) I2C SCL
- GPIO15 (D8) Relay
- GPIO17 (A0) ADC Range
{"NAME":"Zisterne","GPIO":[0,0,0,0,0,0,0,0,640,608,0,224,0,4864],"FLAG":0,"BASE":18}
| Item | Wert |
|---|---|
| Host | 192.168.1.1 |
| Port | 1883 |
| client | Zisterne |
| Benutzer | SaTanca |
| topic | Zisterne |
| full topic | wasser/%prefix%/%topic%/ |
Die Übermittlung der Daten an den Server kann direkt durch ein Kabel erfolgen, oder per WLAN mit einem ESP über MQTT. Allerdings ist die Länge des Kabels für I2C begrenzt.
I2C Kabel:
- https://hackaday.com/2017/02/08/taking-the-leap-off-board-an-introduction-to-i2c-over-long-wires/
- CAT5: all stripe wires are ground. Solid colors for vcc, sda, scl. Last pair are both ground.
- Node für Node Red
- Range Extender für I2C
WLAN:
Hauptventil und Durchflussmesser[Bearbeiten]
Der Durchflussmesser basiert auf einem ESP-01 mit Relais Modul. Er bekommt per MQTT die Wassermenge, die er abgeben soll, öffnet entsprechend lange das Hauptventil, sendet regelmäßig den aktuellen Durchfluss, schließt das Hauptventil wieder und sendet einen ready-Status.
ESP-01 Modul[Bearbeiten]
- Herstellerseite
- wissenswertes
- Tasmota Konfiguration
- ESPEasy Konfiguration
- fertiges Mega Build von ESPEasy für ESP-01 Relais
YF-S201 Wasserfluss Durchfluss Sensor[Bearbeiten]
Dieser Durchfluss-Sensor ermöglicht die Bestimmung von Flüssigkeitsmengen zwischen 1 bis 30 Liter pro Minute.
Technische Daten:
Messbereich: 1 bis 30 Liter/Minute
Sensorart: Hall-Sensor
Signalausgang: Frequenz (Hz) = 7,5 * Flussrate (l/min)
450 Pulse/Liter
Stromaufnahme: 15 mA @ 5 V
Spannungsversorgung: 3 bis 18 V DC
Toleranz: ±10%
Pinbelegung:
schwarz: GND
gelb: analoges Signal
rot: Vcc
Anschluss: 1/2 Zoll
Maximaler Hydrostatischer Druck: 1,75 MPa
Betriebstemperatur: -25 bis 85 °C
Kabellänge: 15 cm
Sensor Type: Hall effect
Output Type: 5V TTL
Working Humidity Range: 35%-80% RH
Output duty cycle: 50% +-10%
Output rise time: 0.04us
Output fall time: 0.18us
Flow rate pulse characteristics: Frequency (Hz) = 7.5 * Flow rate (L/min)
Durability: minimum 300,000 cycles
1/2" nominal pipe connections, 0.78" outer diameter, 1/2" of thread
Größe: ca 6,3cm x 3,5cm x 3,5cm
- ESPEasy installieren
- mit neuem WLAN verbinden (192.168.4.1)
- Passwort: configesp
GPIO2 muss beim booten auf high gezogen werden. Wenn der Durchflussmesser zufällig auf low ist, bootet der ESP-01 nicht. Deshalb besser in ESPEasy die serielle Ausgabe deaktivieren und GPIO3 (RX) als Eingang nehmen. Dann bootet der ESP-01 auch zuverlässig.
An den GPIO3 einen Spannungsteiler schalten, um die 5V vom Durchflussmesser auf 3.3V zu regeln: Signal Durchflussmesser -> 4.7k -> GPIO3 -> 10k -> Masse.
Relais-Boards[Bearbeiten]
Ein 4-er Relais kann bis zu 5 Pflanzen bewässern, wenn alle 4 Ventile Durchgangsventile sind. Die Zentrale Steuerung muss entsprechend den Zweig komplett abschalten. Für das 2-er Relais gilt das entsprechend. Gleichzeitig kann ein Modul bis zu 4 Feuchtigkeitssensoren auslesen. Dafür wird ein I2C-Modul mit 4 analogen Eingängen angeschlossen. Das Relais-Modul muss mit der Sensor-Firmware von Tasmota geflasht sein, damit I2C nutzbar ist (tasmota-sensors.bin.gz). Der Anschluss erfolgt an RX und TX mit RX = SDA und TX = CSL. Dafür muss unter "Configure Logging" "Serial log level" auf "None" eingestellt werden. Die anderen freien GPIOs funktionieren leider nicht mit I2C, warum auch immer... Der AD-Wandler wird erkannt, aber alle Messwerte sind 0.
- 2-er Relais von LC Technology esp12f_relay_x2
- 4-er Relais von LC Technology esp12f_relay_x4
- I2C-Modul
- RX/TX für I2C
- Tasmota Konfiguration 2-er
- Tasmota Konfiguration 4-er
Akku mit Solarladung[Bearbeiten]
Micro USB 5 V 1A 18650 TP4056 Lithium-Batterie-Ladeg-Modul[Bearbeiten]
Technische Daten:
Länge ca. 27,9 mm Breite ca. 17,2 mm Eingangsspannung: 4,5-5,5 V Vollladung Spannung: 4,2 V Max Ausgangsstrom: 1A voreingestellt kann durch den Austausch von R3 geändert werden. Power Anzeige: rot steht für Laden, Blau steht für voll aufgeladen. Eingangsschnittstelle: Micro USB Schnittstelle oder Lötpads. Achtung: Bei längeren Laden mit maximalem Strom kann der Lade-IC eine Temperatur von 60°C erreichen!
| Widerstand R3 | Akku Ladestrom |
|---|---|
| 10 kΩ | 130 mA |
| 5 kΩ | 250 mA |
| 4 kΩ | 300 mA |
| 3 kΩ | 400 mA |
| 2 kΩ | 580 mA |
| 1,66 kΩ | 690 mA |
| 1,5 kΩ | 780 mA |
| 1,33 kΩ | 900 mA |
| 1,2 kΩ | 1000 mA |
MOSFET FQP27P06[Bearbeiten]
Low-Drop Spannungsregler HT7333[Bearbeiten]
https://www.kollino.de/elektronik/low-drop-spannungsregler-ht73xx/