Quellcodes für Arduino, ESP8266, ESP32, (Ethernet / WiFi / LoRaWAN): Github-Projekt-Repository
Das IoT-Dashboard mit Ihrer Hardware können Sie hier ausprobieren: HTTPS IoT Dashboard

Projekt zur Wasserstandsüberwachung



Steuerungshardware - kompatible Mikrocontroller AVR / ESP



Übertragungstechnik Module - Ethernet / Sigfox IoT LPWAN



Kompatible Ultraschall-Distanzsensoren



Pegelmesser - Wasserstandswächter im Brunnen


Das IoT-Dashboard für den Füllstandmesser (Watmonitor) bietet eine benutzerfreundliche Weboberfläche als zentrales Steuerungselement für die Visualisierung von Messdaten. Über diese Webanwendung können präzise Informationen zum Wasserspiegel in einem Brunnen gesammelt werden, indem ein Sensorknoten (Mikrocontroller) mit Ultraschallsensoren wie HC-SR04 oder der wasserdichten Variante JSN-SR04T eingesetzt wird. Die aktuelle Programmumsetzung ermöglicht auch die Verwendung anderer Sensoren wie RCW, US-XXX, IOE-SR0X, SR0X, HC-SR0X, HY-SRF0X, DYP-MEXXX, Parallax PING)))™ mit Trigger-/Echosignalen. Der Sensorknoten führt alle 5 Minuten 10 Messungen mit dem Ultraschallsensor durch und sendet den gemittelten Wert über verschiedene Schnittstellen wie WiFi, Ethernet, IoT-Netzwerk (LoRaWAN, NB-IoT, Sigfox) an den Server. Das Dashboard zeigt dem Nutzer aktuelle Wasserspiegelinformationen inklusive Umrechnung auf das Brunnenvolumen und die Tendenz im Vergleich zur vorherigen Messung. Historische Daten zur Wasserspiegelhöhe sind in tabellarischer oder grafischer Form mit Liniendiagrammen verfügbar. Die responsive Weboberfläche passt sich flexibel an verschiedene Bildschirme wie Smartphones, Computer, Tablets und Smart TVs an. Im Backend werden die empfangenen Daten korrigiert, um den gemessenen Wasserstand an die tatsächliche Brunnen tiefe anzupassen, da der Sensor nur den Differenzwasserstand übermittelt. Basierend auf der tatsächlichen Wasserspiegelhöhe und dem Brunnen-Durchmesser kann die Webschnittstelle auch das Brunnenvolumen in Litern berechnen.


Das Funktionsprinzip von Ultraschallsensoren basiert darauf, ein Triggersignal mit einer Dauer von 10 μs (Mikrosekunden) auszusenden, das von der Wasseroberfläche reflektiert wird und als Echo zum Empfänger zurückkehrt. Durch die Time-of-Flight-Methode wird die Zeit zwischen dem Aussenden und Empfangen des Signals berechnet, um die Entfernung des Wasserstands vom oben auf dem Brunnen platzierten Sensor zu ermitteln. Die Umrechnungsformel berücksichtigt eine Schallgeschwindigkeit von 343 m/s bei einer Temperatur von 20 °C. Ein entscheidender Parameter für Ultraschallsensoren ist die Strahlbreite, welche die Detektionscharakteristik beeinflusst. Der HC-SR04-Sensor weist eine 15°-Erkennungscharakteristik auf und eignet sich daher auch für schmalere Brunnen und Tanks. Allerdings ist dieser Sensor nicht wasserdicht und birgt bei feuchten Bedingungen im Brunnen ein erhöhtes Korrosionsrisiko. Daher wird empfohlen, den HC-SR04-Sensor oberhalb des Brunnens zu platzieren, um die Auswirkungen der Luftfeuchtigkeit zu minimieren. Im Gegensatz dazu hat der wasserdichte Sensor JSN-SR04T eine Erfassungscharakteristik von 60°, was seine Verwendung in engen Brunnen einschränkt. Die Breite des Strahls nimmt mit zunehmender Entfernung zu, wodurch ein Brunnen mit einem Durchmesser von mehreren Metern erforderlich ist (z. B., 6 Meter Durchmesser bei einer Brunnen tiefe von 4,5 Metern für eine reflexionsfreie Messung). Ultraschallsensoren erfordern keine regelmäßige Wartung. Beachten Sie jedoch, dass der JSN-SR04T-Sensor eine Steuerelektronikplatine enthält, die nicht Feuchtigkeit und Wasser ausgesetzt werden sollte. Die maximale messbare Höhe der Wasseroberfläche (Niveau) beträgt etwa 400 bis 450 cm für diese Sensoren.

Andere Arten von Wasserstandsaufzeichnungssensoren, die integriert werden können (erforderlich, um eine eigene Firmware zu erstellen):
  • Laser (LiDAR) – (DFRobot DTOF LD19 LIDAR, DFRobot ToF Laser ...)
  • Hydrostatisch (tauchbar) – (LMK307, DPT200, PT20eco, HDL300 ...)
  • Elektrostatisch (kapazitiv / induktiv) – XKC-Y25-NPN
  • Druck (Differenz / mit Atmosphärendruckkompensationssensor)
  • Optisch – (GP2Y0A02YK0F, YD-02F, FS-IR02 ...)
  • Mechanisch (Schwimmer)
  • Magnetisch (Hall) – (VCL9, Sen-Hz41wa ...)
  • Mikrowelle (Radar) – (CS476, CS475A-L, SP69, WLR 8/15/30 ...)
  • Ultraschall - (A01NYUB, URM37) oder andere, die Option eines Industriebusses für die Ausgabe (RS-485, Stromschleife 4-20 mA, Modbus RTU, M-Bus, PROFINET)
  • Hinweis: Wenn die Neuberechnung der Höhe des Wasserspiegels vom Boden auf der Seite des Mikrocontrollers durchgeführt wird, ist es notwendig, die Tiefe des Brunnens auf der Weboberfläche auf 0 cm einzustellen.

  • Videodemonstration des Webinterface - Watmonitor:



    Ultraschallsensoren sind geeignet für:


  • Ausgehobene Brunnen
  • Klärgruben und Senkgruben
  • Bäche und Seen
  • Regenwassertanks aus Kunststoff
  • Stärke (Messung der Massenfüllung)
  • Behälter (Abfallüberwachung, Sammelbehälterbefüllung)
  • Kessel (Überwachung von Holz, Pellets, Kohle, Hackschnitzel)
  • Schächte und Keller (Grundwasserüberwachung)
  • Produktion (Erkennung von Produkten, deren Höhe und Menge, Höhe des gewickelten Materials)
  • Parkplätze (Erkennung von freien und belegten Parkplätzen)

  • Ultraschallsensoren sind nicht geeignet für:


  • Gebohrte Brunnen (aufgrund von Erkennungsmerkmalen - breitstrahlend)
  • Rohre und Röhren (aufgrund von Erkennungsmerkmalen - breitstrahlend)
  • Zu Brunnen mit Nebenfluss (turbulente Oberfläche dämpft Ultraschall, Messung ist unmöglich / schrittweise)
  • An Orten mit einer plötzlichen Temperaturänderung (die Temperatur beeinflusst die Zeit der Schallausbreitung, sodass sogar der stationäre Pegel zu schwanken scheint)
  • Vakuumtanks (Messung nicht möglich)

  • Funktionsprinzip des Füllstandsmessers - Blockschaltbild


    Hladinomer do žumpy, septiku, studne, princíp merania - ultrazvukový senzor vzdialenosti

    Das Webinterface nutzt Trigonometrie, um die maximal messbare Tiefe eines Bohrlochs bei bekanntem Durchmesser abzuschätzen, was einen weiteren Parameter zur Berechnung des Bohrlochvolumens darstellt. Benutzer können mithilfe des Webinterfaces berechnen, bis zu welcher maximalen Tiefe jedes Sensors aufgrund seiner Eigenschaften geeignet ist. Das Projekt ist benutzerfreundlich, auch für Laien, die möglicherweise nicht wissen, welcher Sensor für ihren Brunnen am besten geeignet ist. Der Mikrocontroller spielt eine entscheidende Rolle im System. Das Projekt unterstützt die Verwendung der Arduino-Plattform (Uno/Mega) in der Revision R3 mit identischer Pinbelegung, die über ein Ethernet-Shield kommunizieren kann. Es besteht auch die Möglichkeit, Ethernet-Module direkt mit den Hardware-SPI-Pins des Mikrocontrollers zu verbinden. Unterstützte Ethernet-Module umfassen Wiznet W5100, W5500, USR-ES1 und ENC28J60 von MicroChip. Alle Ethernet-Module bieten HTTP-Konnektivität mit dem Webserver. WiFi-Mikrocontroller von Espressif Systems, wie ESP8266 und ESP32, werden ebenfalls unterstützt. Die Mikrocontroller bieten verschiedene Betriebsmodi, darunter StandBy, StandBy + OTA mit der Möglichkeit des Remote-Firmware-Uploads über das LAN-Netzwerk und den Deep-Sleep-Modus für ULP-Anwendungen. Der Schlafmodus erfordert beim ESP8266 einen physischen Jumper zwischen GPIO16 (WAKE) und RST, wie im Schaltplan dargestellt. ESP-Mikrocontroller ermöglichen auch die Implementierung von HTTPS (verschlüsselt)-Konnektivität mit dem Webserver. Der ESP32 kann mit dem PHY-Ethernet-Modul LAN8720 über die RMII-Schnittstelle verwendet werden und unterstützt HTTP- und HTTPS-Verbindungen. Beide Plattformen verwenden die Root-CA, die ein Zertifikat für die Webserverdomäne ausgestellt hat. Das Zertifikat ist im Flash-Speicher des Mikrocontrollers (PROGMEM) eingebettet, um den RAM-Speicher nicht zu belasten. Das Zertifikat der Zertifizierungsstelle hat eine Gültigkeitsdauer von 10 bis 20 Jahren, erfordert also keine häufige Erneuerung. Informationen zum aktuellen Wasserstand und Wasservolumen im Brunnen stehen im JSON-Format über das Webinterface zur Verfügung. Das Projekt kann das Level-Meter-Projekt über MQTT in die Hausautomation (Hassio, Domoticz, Loxone) integrieren, um den Wasserstand in einem eigenen Dashboard, z.B. Grafana, anzuzeigen.

    Softwareimplementierungen für Arduino, ESP8266, ESP32 (erfordert Bibliotheksinstallation): Hier verfügbar

    Verfügbare Bibliotheken für Mikrocontroller (Arduino / ESP)


    Bibliotheksarchiv (.zip) erweitern auf C:/Users/[User]/Documents/Arduino/libraries
    Name der Bibliothek Bibliotheksfunktion Herunterladen
    NewPing

    Bibliothek für AVR-Mikrocontroller (ATmega) Arduino Uno / Nano / Mega. Es ermöglicht Messungen mit Ultraschall-Distanzsensoren US-02X, IOE-SR0X, HC-SR0X, HY-SRF0X, JSN-SR0XT, DYP-ME007.

    Herunterladen
    NewPingESP8266

    Bibliothek für ESP8266- und ESP32-Mikrocontroller. Es ermöglicht Messungen mit Ultraschall-Distanzsensoren US-02X, IOE-SR0X, HC-SR0X, HY-SRF0X, JSN-SR0XT, DYP-ME007.

    Herunterladen
    VL53L1X

    Bibliothek für Arduino-, ESP8266- und ESP32-Mikrocontroller. Ermöglicht ToF-Messungen mit STMicroelectronics VL53L1X-Lasersensoren.

    Herunterladen
    Ethernet2

    Bibliothek für AVR-Mikrocontroller (ATmega) Arduino Uno / Nano / Mega. Es ermöglicht die Kommunikation mit dem Ethernet-Modul Wiznet W5200 bis W5500 über die SPI-Schnittstelle.

    Herunterladen
    Ethernet3

    Bibliothek für AVR-Mikrocontroller (ATmega) Arduino Uno / Nano / Mega. Es ermöglicht die Kommunikation mit dem Ethernet-Modul Wiznet W5500 V2 - USR-ES1 über die SPI-Schnittstelle.

    Herunterladen


    Abdeckung Deutschlands durch das LPWAN IoT Sigfox Netzwerk:


    Abdeckung von Deutschland IoT LPWAN durch Sigfox-Netzwerk - Füllstandsmesser zum Brunnen Abdeckung von Austria, Switzerland IoT LPWAN durch Sigfox-Netzwerk - Füllstandsmesser zum Brunnen

    Sigfox-Backend-Callback-Setup für Webanwendungstests

    Pegelmesser:
  • Callbacks --> Custom --> New
  • In "Benutzerdefinierte Payload-Konfiguration" schreiben wir: cislo1::uint:16
  • Wir werden das "URL-Muster" hinzufügen: https://hladinomer.eu/data.php (oder eine andere URL Ihres Webservers, auf dem das Projekt ausgeführt wird), die Möglichkeit, HTTPS zu verwenden
  • Bei der HTTP-Methode wählen wir: POST
  • Wir werden zum Body (Nachrichtentext) hinzufügen:
  • hodnota={customData#cislo1}&token=123456789
  • Bei "Content-Type" wählen wir die Option: application/x-www-form-urlencoded

  • Screenshots der Webapp zur Wasserstandsüberwachung


    Meter für Webanwendungsprojektebene. Es visualisiert den Wasserstand und das Wasservolumen im Brunnen mit automatischer Wiederherstellung der Messdaten. Meter für Webanwendungsprojektebene. Historische Daten in tabellarischer Darstellung mit der Möglichkeit, den Datensatz zu löschen. Meter für Webanwendungsprojektebene. Alarmvisualisierung des maximalen und minimalen Füllstands im Brunnen für den aktuellen Tag, Woche, Monat. Meter für Webanwendungsprojektebene. Darstellung des Wasserstands über der Zeit durch Liniendiagramme. Geschichte bis zu einem Jahr zurück. ESP32 - FreeRTOS - ESP-IDF - Ultraschallsensormessung und Datenübertragung zum Webserver über HTTP, POST-Übertragungsverfahren ESP32 - FreeRTOS - ESP-IDF - Ultraschallsensormessung und Datenübertragung zum Webserver über HTTPS, POST-Übertragungsverfahren Unterstützte Hardware für das Pegelmesserprojekt - Arduino - Ethernet - WiFi - ESP8266 - ESP32 Ultraschall-Distanzsensoren – HC-SR04 und JSN-SR04T mit Hardware für Watmonitor