Füllstandsmessung der Zisterne mittels ESP8266 (NodeMCU) und Ultraschallsensor

Update vom 14.06.2020 hier

Heute nochmal ein Update bzw. eine vollständige Zusammenfassung zur Messung des Füllstands der Zisterne mittels Ultraschall. Ich habe den Sketch für den ESP8266 (den ich immer noch in Form eines NodeMCU betreibe) mal etwas aufgebohrt.

Zu den alten Artikeln geht es hier und hier.

Im folgenden werden alle notwendigen Schritte beschrieben um die Firmware auf den ESP8266 zu flashen und den Sensor in Betrieb zu nehmen.

Benötigte Hardware

Die benötigte Hardware besteht aus einem NodeMCU mit ESP8266 und einem HC-SR04 Ultraschallsensor. Die Beschaltung folgt weiter unten.

NodeMCU
HC-SR04 Ultraschallsensor

Dann noch ein mindestens vieradriges Kabel und ein Gehäuse zur Unterbringung des Ultraschallsensors in der Zisterne z.B. eine kleine Aufputzdose aus dem Baumarkt.

Firmware installieren

Zur Installation der Firmware auf dem ESP8266 muss zuerst die Arduino Software auf einem PC installiert werden. Diese ist für Linux, Windows und MAC unter https://www.arduino.cc/en/main/software verfügbar.


Um in der Arduino IDE den ESP8266 nutzen zu können, muss in den Einstellungen (Datei -> Voreinstellungen) in das Feld „Zusätzliche Boardverwalter URLs“ folgende URL eingetragen werden: http://arduino.esp8266.com/stable/package_esp8266com_index.json


Dann unter „Werkzeuge -> Board … -> Boardverwalter…“ nach „esp8266“ suchen und „esp8266 by ESP8266 Community“ installieren. Hiermit werden u.a. die Tools zum flashen der Firmware auf den ESP8266 installiert.


Herunterladen der aktuellsten Firmware für die Füllstandmessung der Zisterne www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin.


Den NodeMCU mit dem Rechner verbinden. In der Arduino IDE unter „Werkzeuge -> Port” den COM-Port des NodeMCU ermitteln. Das Flashen der Firmware funktioniert leider nicht direkt aus der Arduino IDE heraus. Hierfür muss die Kommandozeile bemüht werden:

Flashen des ESP8266 unter Windows

Unter Windows dazu die Kommandozeile öffnen (cmd.exe) und dort den folgenden Befehl eingeben:

%USERPROFILE%\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.8\esptool.exe -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp COMXY -cf Pfad_zur_Firmwaredatei

Wichtig: Die Versionsnummer des esptool kann ggf. abweichen, das Device hinter -cp (COMxy) muss entsprechend angepasst werden sowie der Pfad zur Firmwaredatei muss entsprechend angepasst werden.

Flashen des ESP8266 unter Linux

Auf der Kommandozeile folgenden Befehl ausführen:

~/.arduino15/packages/esp8266/tools/esptool/0.4.9/esptool -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp /dev/ttyxxxx -cf Pfad_zur_Firmwaredatei

Wichtig: Die Versionsnummer des esptool kann ggf. abweichen, das Device hinter -cp muss entsprechend angepasst werden sowie der Pfad zur Firmwaredatei muss entsprechend angepasst werden.

Anschluss des Sensors

Von HC-SR04 an NodeMCU:

Vcc an VU
Gnd an GND
Trig an D2
Echo an D1

Inbetriebnahme

Ist die Firmware auf den NodeMCU geflasht und der SR04-Ultraschallsensor angeschlossen, kann die Inbetriebnahme erfolgen. Dazu den Sensor mit Strom versorgen.


Der Sensor versucht sich mit einem konfigurierten WLAN zu verbinden. Funktioniert dies nicht (was bei der ersten Inbetriebnahme der Fall ist), erstellt der Sensor einen WLAN Accesspoint mit dem Namen „WLAN-Zisterne” der z.B. im Smartphone gefunden werden sollte. Mit diesem WLAN verbinden.


Nun im Browser des verbundenen Gerätes die Adresse http://192.168.4.1 aufrufen. Diese Adresse wird in der Regel auch in den Verbindungseinstellungen des verbundenen WLAN angezeigt und verlinkt. Es öffnet sich nun die Konfigurationsseite des Sensors.


Dort die SSID und das Passwort des Heim-WLAN eingeben und auf “Konfiguration speichern” klicken. Die weiteren Einstellungen können später erfolgen.


Der Sensor startet daraufhin neu und versucht sich mit dem Heim-WLAN zu verbinden. War dies erfolgreich ist der Accesspoint nicht mehr erreichbar und des Sensor sollte eine IP-Adresse im Netzwerk zugewiesen bekommen haben. Diese kann im Router nachgeschaut werden )in der Friztbox z.B. unter “Heimnetz -> Netzwerk“).


Ist der Accespoint „WLAN-Zisterne” weiterhin sichbar, war die Verbindung mit den Heim-WLAN nicht erfolgreich. Dann die obigen Schritte erneut ausführen.

Betrieb

Die Oberfläche des Sensor ist nun im Browser nach Eingabe der IP-Adresse verfügbar. Für den weiteren Betrieb müssen zuerst weitere Einstellungen vorgenommen werden. Dazu den Bereich “Sonstiges” aufklappen und auf “Konfiguration” klicken.

Einstellungen des Sensors

Unter “Abstand Sensor/Boden” muss der Abstand in Zentimeter zwischen Sensor und Boden der Zisterne angegeben werden. Unter “Abstand Sensor/Max. Höhe” muss der Abstand zwischen Sensor und Wasseroberfläche bei maximalen Wasserstand angebenen werden. Ist die Zisterne nicht voll, kann der Wert auch jederzeit korrigiert werden


Daten an eigene API übergeben

Die Daten des Sensors können an eine eigene Schnittstelle übergeben werden. Hierzu kann ein Server, Port und der Pfad angegeben werden. Die Sensordaten werden als Argumente in der URL angehangen. So kann z.B. ein PHP-Script auf dem Server aufgerufen werden welches die angehangenen Argumente empfängt und weiter verarbeitet (z.B. an FHEM übergibt oder in eine Datenbank schreibt.

Update 20.07.2019

Die URL für die eigene API kann mit zwei Variablen frei definiert werden. Dazu die Variablen “_abstand” und “_fuellstand” in einer beliebigen URL nutzen. Im NodeMCU werden die beiden Platzhalter durch die echten Werte ersetzt.

Zum Beispiel wird aus der konfigurierten URL:
/umwelt/zisterne_neu.php?abstand=_abstand&fuellstand=_fuellstand
beim Aufruf der eigenen API dann:
/umwelt/zisterne_neu.php?abstand=29&fuellstand=100.00&vcc=2.75

Hier ein Beispielscript welches das Schreiben der Werte in eine Textdatei und in eine MySQL-Datenbank vornimmt sowie die Übergabe der Werte an eine FHEM-Installation:


Daten an bubux.de übergeben

Steht kein eigener Server zur Historisierung der Daten zur Verfügung, können die gemessenen Werte an bubux.de gesendet werden. Dort ist (aktuell) eine Auswertung des letzten 30 Tage verfügbar und wird graphisch dargestellt. Nach der Aktivierung mittels der Checkbox ist ein entsprechender Link auf der Startseite des Sensors verfügbar.

Es werden der prozentuale Füllstand, die MAC-Adresse zur Zuordnung der Daten, die lokale IP des Sensors zur Verlinkung von der Webseite auf bubux.de zur Webseite des Sensors und die Version der Firmware übergeben.


Startseite des Sensors

Sind alle Einstellungen vorgenommen kann der Sensor genutzt werden. Auf der Startseite werden der prozentuale Füllstand und der aktuelle Abstand zwischen Sensor und Wasseroberfläche angezeigt.

Einbau

Da der Einbau je nach Zisterne individuell ist, will ich nicht viel Worte darüber verlieren. Nur soviel, das ich den Sensor in ein Baumarkt-Aufputzdose gepackt habe und mit Heißkleber “vergossen” haben. Harz wäre wahrscheinlich besser gewesen, aber der Sensor funktioniert bisher einwandfrei. Der Sensor hängt nach unten an einem Brett in der Zisterne. Der NodeMCU ist an ein etwa 6m langes Kabel angeschlossen und ist in einem Lagerräumchen untergebracht.

Ich würde mich über Rückmeldungen (Fehler, Verbesserungswünsche, …) bzgl. der neuen Firmwareversion freuen. Todo wäre noch die Daten per JSON abrufbar zu machen und z.B. ein Plugin für FHEM zu bauen.

Viel Spaß beim basteln!

Chris


68 Gedanken zu „Füllstandsmessung der Zisterne mittels ESP8266 (NodeMCU) und Ultraschallsensor

  • Avatar
    27. Februar 2019 um 12:53
    Permalink

    Hallo,
    sehr schönes Projekt.
    Ich bin auch gerade auf der suche nach so einer Füllstansanzeige. evtl noch mit einem Display.
    Das muss ich aber erst noch schauen.
    Zu deinem Scetch:
    Hättest du mir evtl den Orginal scetch (ino), da ich nicht die Ports verwenden kann die du angegeben hast.
    Außerdem möchte ich evtl ja noch ein Display dazwischen machen.
    Der erste Test lief gut bis das ich keine Werte vom Sensor erhalte , da ich die Pinns an der Feather HUZZAH Esp8266 nicht so habe.

    Danke Markus

    Antwort
    • Avatar
      15. April 2019 um 13:08
      Permalink

      Hallo auch von mir, wäre über eine Möglichkeit, die PUSH-Adresse zu ändern auch dankbar, da ich die Werte in PRTG einspielen möchte und der verlangt einen anderen Aufbau.

      beste Grüße

      Antwort
    • Avatar
      15. März 2020 um 13:50
      Permalink

      Hallo, ich hätte wennmöglich auch gern die .ino, da mein WemosD1 bei einem Neustart nicht hochfährt, wenn der Sensor an D1&D2 liegt. daher müsste ich die GPIO´s im Programm anpassen…

      Danke!

      Antwort
  • Pingback: Homematik – Zisterne – bubuxblog

  • Avatar
    15. März 2019 um 17:29
    Permalink

    Hi,
    Deine Beschreibungen hier kommen gerade recht, da ich ebenfalls gerade vom HM-SEN-WA-OD umsteige.
    Ich habe das auch soweit schon alles nachgebaut und es funktioniert auch.
    Ich würde aber gerne den selben ESP nehmen, um noch einen Regensensor zu betreiben.
    Dazu müsste ich natürlich den Code anpassen.
    In der vorherigen Seite hattest Du ja Teile davon gepostet. Nun ist noch die ganze Web-basierte Konfiguration dazugekommen. Damit kenne ich mich gar nicht aus.
    Könntest Du vielleicht (wie oben auch schon mal gewünscht) das ino-File posten und ggf. noch angeben wie man so ein Image erstellt.
    Das wäre super, danke!

    Ciao Stephan…

    Antwort
  • Avatar
    23. April 2019 um 20:02
    Permalink

    Hallo, sehr schönes Projekt! Ich bin ebenfalls gerade am basteln nach deiner Anleitung. Ich habe folgende Komponenten – Nodemcu Amica und den HC SR04 Ultraschallsensor. Strom für den Sensor nehme ich von Vin und GRD, dieser liegt auch mit knapp 5 V an Leider habe ich auch das Problem, dass ich keine Daten empfange, wenn ich wie in der Anleitung auf D1-Echo und D2- Trigger gehe. Kann man vielleicht das Script noch anpassen oder ändern? Über Hilfe oder einen Tip diesbezüglich würde ich mich sehr freuen. Vielen Dank schon mal

    Gruß

    Patrick

    Antwort
  • Avatar
    25. April 2019 um 15:32
    Permalink

    Moin Chris,
    vielen Dank für deine ganze Mühe, dieses Projekt so detailliert zu bebildern und beschreiben.
    Mein NodeMCU hat eine leicht andere Pin-Belegung (statt 5V ist ein reserved-Pin vorhanden), ich nehme mir daher auch die 5V vom V_in Pin.
    Meine Vermutung ist, dass Echo und Trigger evtl auch an einen anderen Pin müssen, hast du da Tips?
    Meiner ist so verdrahtet:
    https://cdn-reichelt.de/bilder/web/xxl_ws/A300/SBC-NODEMCU_PINOUT.png

    Antwort
  • Avatar
    8. Juni 2019 um 22:12
    Permalink

    Hallo,

    danke für Anleitung und Veröffentlichung der Lösung.
    Leider ist der Link zum Download der Firmware defekt.

    Wo oder wie könnte ich mit dir die Firmware herunterladen oder erstellen?

    Viele Grüße
    Kai

    Antwort
  • Avatar
    13. Juli 2019 um 20:22
    Permalink

    Hallo,
    ich finde den Ansatz, den Füllstand mittels Ultraschall zu messen super.
    2 Fragen hätte ich noch:

    -Sammelt sich nicht durch die hohe Luftfeuchtigkeit Wasser an dem Gitter des Ultraschallsensors?
    -Kann ich den Sensor auch direkt an meine Raspberry Pi3 – Homematic Zentrale einbinden?

    Danke und Lg,
    Alex

    Antwort
    • diefenbecker
      20. Juli 2019 um 10:04
      Permalink

      Hallo Alex,

      bis jetzt hab ich (und die anderen Bekannten die den gleichen Sensor nutzen) keine Probleme gehabt. Die Messungen sind meistens in Ordnung. Ab und an, wenn die Zisterne relativ leer ist, kommt mal eine Fehlmessung. Kann aber auch an meinem schiefen Einbau liegen. Das der Sensor irgenwann aufgrund der klimatischen Verhältnisse in der Zisterne das Zeitliche segnet ist für mich kein Problem da der Sensor nicht teuer ist. Bisher läuft alles seit 2 Jahren problemlos.

      Bestimmt kann der Sensor auch direkt an einen Raspi gehangen werden. Dafür habe ich aber keine Software. Nach Suche bei Google gibt es da aber verschiedene Ansätze z.B. in Python. Mein Raspi ist zu weit weg von der Zisterne, daher der Ansatz mit dem NodeMCU und WLAN.

      Gruß
      Chris

      Antwort
    • Avatar
      16. September 2019 um 11:27
      Permalink

      Hi,

      Ich weiß nicht ob das schon gewünscht wurde, aber super genial wäre eine MQTT-Anbindung, sodass der Sensor minütlich, stündlich, etc. einfach den Füllstand als eigenes Topic published und man die Werte dann auch in ein Dashboard integrieren kann. (Oder auch irgendwo anders im NodeRed vernudelt…)

      Super Arbeit!
      VG, Franz

      Antwort
      • diefenbecker
        16. September 2019 um 16:43
        Permalink

        Hallo Franz,

        MQTT ist in Arbeit und kommt demnächst 🙂

        Gruß
        Chris

        Antwort
        • Avatar
          7. Mai 2020 um 08:51
          Permalink

          Hallo Chris,

          ich möchte den Sensor in openhab via mqtt auslesen.
          Mit Sonoffs funktioniert dies einwandfrei.

          Kannst du mir die Befehle und verfügbaren Kanäle zur Verfügung stellen.

          Gruß und Dank

          Juergen

          Antwort
          • diefenbecker
            7. Mai 2020 um 19:45
            Permalink

            Hallo Jürgen,

            was meinst Du mit “Befehle” und “Kanälen”? Die kannst ein Topic angeben und dann wird als Payload der Wert des Füllstands gesendet.
            In der kommenden Version kann dann auch noch der Abstand Sensor/Wasseroberfläche an einen zweiten zu definierenden Topic gesendet werden.

            Gruß
            Chris

  • Avatar
    11. August 2019 um 18:21
    Permalink

    Hallo Chris,

    erstmal vielen Dank für Deine Mühe und die detaillierte Anleitung zum Nachbasteln. Auch mir als bisher Unbedarften in Sachen Arduino ist es damit nach kurzer Zeit gelungen, ein Testsystem zum laufen zu bekommen – genial!
    Was ich mir wünschen würde, wäre auch eine Anzeige in Litern – entweder über genaue Zisternendaten oder einfach über Eingabe Maximalbefüllung und dann Berechnung über den Prozentwert realisierbar.
    Eventuell wäre auch eine Ansteuerung eines TFT-Displays implementierbar, damit der Frauen-Akzeptanz-Faktor – kurz faf bzw. waf in Englisch – noch gesteigert werden kann…

    Antwort
    • diefenbecker
      19. August 2019 um 18:51
      Permalink

      Hallo Patrick,

      freut mich wenn Dir das Projekt gefällt!
      Ich schaue mal wie man das noch erweitern kann. Habe auch noch ein paar Ideen…

      Gruß
      Chris

      Antwort
  • Avatar
    18. August 2019 um 18:59
    Permalink

    Hallo Alex,

    ich muss erstmal sagen, dass du das richtig richtig gut gemacht hast. Chapeau!

    Gibt es vielleicht die Möglichkeit die INO-Datei zu bekommen? Ich würde das Script gern auf meine Belange ändern wollen. Tausend Dank im Voraus

    Axel

    Antwort
  • Avatar
    29. August 2019 um 17:51
    Permalink

    Er einmal großes Lob für das Projekt. Das ist genau das was ich gesucht habe. Ich habe noch eine Frage zur API. Kann ich auch die Werte requesten in so IP-des NodeMCU/?abs=_abstand&hoehe=_fuellstand oder habe ich da einen Denkfehler. Ich würde gerne aus EDOMI heraus die Werte zyklisch abfragen.

    Antwort
    • diefenbecker
      2. September 2019 um 20:49
      Permalink

      Hallo Christian,

      der NodeMCU kann über den Aufruf der URL nur Daten zu einem Server posten. Wenn ich Dich richtig verstehe willst Du den NodeMCU aktiv abfragen.
      Da wäre JSON das Mittel der Wahl, oder? Ich könnte das einbauen wenn Du das testen möchtest.

      Gruß
      Chris

      Antwort
      • Avatar
        4. September 2019 um 19:02
        Permalink

        Hallo Chris,
        das habe ich mir schon gedacht dass es so nicht funktioniert, mittlerweile habe ich einen workaround gefunden, damit bekomme ich aber nur einen Wert übertragen. Ich denke auch JSON wäre das richtige, da könnte ich auch gerne testen wenn es fertig ist.

        Antwort
  • Avatar
    6. September 2019 um 19:33
    Permalink

    Hallo.
    Erstmal großes Lob für deine Mühe. Ich habe die Füllstandsmessung nachgebaut. Grundsätzlich funktioniert sie einwandfrei. Allerdings habe ich das Problem, das wenn ich die Seite aktualisiere, jedes mal andere Messwerte angezeigt bekomme. Momentan ist meine Zisterne Leer ( habe nachgeschaut ), trotzdem bekomme ich 68% angezeigt. Beim nächsten mal 75%, dann wieder 52%, beim nachsten mal 29% usw. Irgendwann ist dann auch mal 0% dabei.
    Mein Kabel vom HC-SR04 zum Node MCU ist 8m lang. könnte das an dem langen Kabel liegen ?

    Viele Grüße
    Oliver

    Antwort
    • diefenbecker
      7. September 2019 um 09:33
      Permalink

      Hallo Oliver,

      das “Springen” hat mir der ein oder andere schon berichtet. Ich denke nicht das es an der Länge des Kabels liegt da meins auch recht lang ist.
      Wichtig ist das der Sensor rechtwinkling zur Wasseroberfläche steht und auch wegen dem Öffnungswinkel etwas Platz hat und kein Rohr oder Kabel in der Nähe ist.
      Ich kann das “Springen” bei mir auch beobachten wenn der Wasserstand recht tief ist. Wie ist denn der Abstand bei Dir (wenn die Zisterne voll ist)?

      Gruß
      Chris

      Antwort
      • Avatar
        7. September 2019 um 16:48
        Permalink

        Hallo Chris
        Das Springen habe ich bei jedem Pegel. Mein Maximaler Abstand beträgt 140cm. Der Mindestabstand bei voller Zisterne sind 20cm. Rohre oder Kabel sind keine in der Nähe, bzw. diese liegen alle noch höher. Ob der Sensor genau Rechtwinklig zur Wasseroberfläche ist, kann ich nochmal Nachprüfen, jedoch Augenscheinlich schon.
        Meine Vermutung war die Kabellänge oder ob man evtl. abgeschirmtes Kabel nimmt.
        Danke für die Info

        Viele Grüße
        Oliver

        Antwort
        • Avatar
          28. Mai 2020 um 21:25
          Permalink

          Ich habe meinen Sensor heute eingebaut, Zisterne ist leer, und meiner springt auch von 1%, 2% auf 112%, dann wieder auf 0%. Im Weg ist nichts. Etwas seltsam. Ich werde mal versuchen, die ungültigen Werte in FHEM zu verwerfen.

          Antwort
          • diefenbecker
            29. Mai 2020 um 18:16
            Permalink

            Hallo Sascha,

            wie groß ist denn der Abstand zwischen Sensor und Boden? Ich merke immer dass je leerer die Zisterne wird und damit auch die Entfernung größer, der Sensor bei der Entfernungsmessung etwas mehr schwankt. Ich denke das liegt evtl. damit zusammen das der Sensor nicht genau senkrecht eingebaut ist und auch weil es in der Zisterne vielleicht “hallt”. Schau mal ob es besser wird wenn die Zisterne voll(er) ist. Regnet ja nur leider aktuell nicht…

            Gruß
            Chris

          • Avatar
            29. Mai 2020 um 18:45
            Permalink

            Der Abstand vom Sensor zum Boden beträgt 2,80m. Genau, ich warte jetzt auf Regen 😉

            In FHEM hab ich das nun so gelöst, dass unsinnige Werte (über 100%) ignoriert werden.

          • Avatar
            1. Juni 2020 um 09:54
            Permalink

            Hallo diefenbecker,

            als erstes möchte ich dir ein großes Kompliment aussprechen. Ich bin absoluter Neueinsteiger was NodeMCU betrifft. Mit deiner Anleitung ist es mir sehr schnell gelungen das Teil nach zu bauen. Und es läuft prima. Zumindest in der Werkstatt. In die Zisterne muss ich es erst noch einbauen.
            Zum Thema was Sascha beschreibt. Springen der Werte. Hier ist mir heute aufgefallen etwas aufgefallen.
            Für den ersten Test habe ich die Leitungen schnell an die Stifte gelötet -> Werte Springen gelegentlich.
            Danach habe ich die Stiftleisten entfernt und die Leitungen direkt und sehr kurz an die Platine gelötet. Das verwendete Kabel ist ein altes Netzwerkkabel (geschirmt und 2 Meter lang). Seit dem habe ich keine Schwankungen mehr.
            Evtl. hilft es ja weiter.

            @diefenbecker: Einen kleinen Verbesserungsvorschlag hätte ich noch. Eine tägliche Email mit Füllstand wäre eine tolle Funktion. Das macht es auch für die Frau leichter 🙂

            Viele Grüße
            Stefan

          • diefenbecker
            1. Juni 2020 um 10:36
            Permalink

            Hallo Stefan,

            freut mich dass Dir das Projekt gefällt und alles problemlos funktioniert.
            Danke für den Hinweis mit dem Anschluss.

            Eine Info per Mail ist schon in Arbeit. Info mittels Pushover ist auch noch geplant.

            Gruß
            Chris

  • Avatar
    9. September 2019 um 13:34
    Permalink

    Hallo,
    JSON wäre genial, dann könnte man den Sensor per openhab abfragen!

    Antwort
    • diefenbecker
      9. September 2019 um 16:56
      Permalink

      Hallo Sören,

      ist schon fertig, muss aber noch getestet werden.
      Schreib mir eine Mail und ich schick Dir den Link.

      Gruß
      Chris

      Antwort
  • Avatar
    22. Oktober 2019 um 21:43
    Permalink

    Moin Chris,

    ich habe ein Problem das wenn sich meine Fritzbox schlafen legt und am morgen wieder aufwacht der ESP keine neue Verbindung mehr aufbaut und somit über MQTT auch keine daten mehr rein kommen. Hast du vielleicht eine Idee für mich?
    Grüße

    Crispin

    Antwort
    • diefenbecker
      29. Oktober 2019 um 19:08
      Permalink

      Hi Crispin,

      das ist tatsächlich noch ein Punkt den ich nicht bedacht hatte und auch bei mir passiert wenn das WLAN mal nicht verfügbar ist.
      Ich werde ein reconnect einbauen. Versuche mich zu beeilen 😉

      Gruß
      Chris

      Antwort
    • diefenbecker
      1. November 2019 um 16:35
      Permalink

      Danke! Schaue ich mir an.
      Das Wetter dieses Wochende lädt zum programmieren ein.
      Melde mich wenn es eine neue Version gibt.

      Gruß
      Chris

      Antwort
  • Avatar
    2. April 2020 um 14:37
    Permalink

    Hi Chris.
    vielen Dank für dein tolles Projekt, bin gerade am Nachbau dran.
    Wäre es möglich die .INO Datei zu bekommen um es direkt in der Arduino SW zu machen ?
    leider schaffe ich es einfach nicht mit dem esptool.
    Bekomme immer die Meldung “ModuleNotFoundError: No module named ‘serial'”.
    Vielen Dank
    Schöne Grüße Mathias

    Antwort
  • Avatar
    4. Mai 2020 um 16:56
    Permalink

    Moin Chris,

    vielen Dank für dieses geile Projekt. Habe es gerade mal umgesetzt und klappt soweit super, im Gast-WLAN(!).
    Allerdings habe ich eine Problem die NodeMCU in mein “Privat”-WLAN zu bekommen.
    Das Eingabefeld für das WLAN-Passwort sieht nur max 30 Zeichen vor, das WPA2-Passwort darf max 63 Zeichen haben. Wie kann ich dies ändern, übersehe ich hier etwas???
    Gruß Andreas

    Antwort
  • Avatar
    7. Mai 2020 um 20:57
    Permalink

    Hallo Chris,

    vielen dank für deine Mühe! Ich habe versucht dein Programm auf einem D1 mini ans Laufen zu bekommen, leider bekomme ich keine Werte vom Sensor. 🙁

    Ich habe verschiedene Sensoren ausprobiert sowohl HC-SR04 und JSN-SR04T-2.0 aber die werte bleiben bei 111% stehen. Kannst du mir einen Tipp geben, oder muss ich mir einen anderen ESP kaufen?

    Antwort
    • diefenbecker
      9. Mai 2020 um 08:31
      Permalink

      Ich habe leider keinen D1 mini um das zu testen und auch bisher immer nur NodeMCUs im Einsatz.
      Werde mir mal einen zum testen kaufen.

      Gruß
      Chris

      Antwort
  • Avatar
    13. Mai 2020 um 11:31
    Permalink

    Hallo Chris,

    auch ich würde das Ganze gerne auf einem D1 mini laufen lassen und auch für mich wäre die ino (oder in Atom oder sonst wie) interessant. 🙂
    Es haben ja schon einige gefragt… möchtest du die lieber nicht veröffentlichen?

    Wenn du magst, kann ich dir einen D1 schicken. Bin sehr günstig an ein paar ran gekommen… 😉

    VG
    Jens

    Antwort
  • Avatar
    24. Mai 2020 um 10:29
    Permalink

    Hallo,
    ich bin gerade dabei eine digitale Türklingel mit einem DFPlayer Mini und einem Wemos D1 zu bauen. Dieser liesst auch noch über einen 433 MHz Empfänger die Sensoren meines Froggit Wettersystems ein und sendet Alles über MQTT.
    Nun wollte ich über einen weiteren D1 und dem HC-SR04 den Füllstand meiner Regenwassergrube einbinden.
    Wird der Sensor über 3,3V versorgt oder 5V und wenn mit 5V wie verträgt sich das mit dem ESP?

    Antwort
    • diefenbecker
      24. Mai 2020 um 20:32
      Permalink

      Hallo Jürgen,

      meines Wissens wird der HC-SR04 mit 5V betrieben.
      Das ist auch ein Grund, warum ich meistens einen NodeMCU verwende.
      Der hat einen Standard-USB Anschluss zur Stromversorgung und somit auch 5V Pins (und 3,3V Pins).

      Gruß Chris

      Antwort
      • Avatar
        26. Mai 2020 um 10:45
        Permalink

        Hallo Chris,

        und genau das ist das Problem, weshalb viele MCU’s welche mit 3,3V laufen, zerstört werden.
        Die Eingänge vertragen nämlich normalerweise nur als Pegel die Betriebsspannung, also 3,3V als H-Pegel. Wenn der Sensor aber mit 5V betrieben wird, liefert er auch 5V an seinem Ausgang und das ist meist zuviel, man muss dann einen Levelshifter nehmen. Ich hoffe also, dass bei dir auf Dauer kein Schaden am NodeMCU entsteht.

        Antwort
        • diefenbecker
          26. Mai 2020 um 18:56
          Permalink

          Hi Jürgen,

          ich hab die Höhe des Pegels noch nie gemessen und das Datenblatt gibt auch nix genaues her (zumindest habe ich es nicht gefunden).
          Mein NodeMCU läuft mittlerweile schon über 2 Jahre mit dem SR04. Ich habe auch andere Installationen mit gleichem Setup aufgebaut die bisher auch problemlos laufen.
          Scheint dem NodeMCU nichts auszumachen. Aber trotzdem Danke für die Info falls ich mal Probleme an der Ecke habe.

          Gruß
          Chris

          Antwort
          • Avatar
            27. Mai 2020 um 09:14
            Permalink

            Hi Chris,
            ja, ich bin da immer etwas vorsichtiger, sind ja “nur” 1,8V was da mehr anliegt.
            Ich kenne leider nicht den inneren Aufbau der Eingänge, vielleicht sind sie intern mit 3,3V Z-Dioden geschützt, wenn ja sind die Eingänge zwar sicher, ziehen aber auch etwas mehr Strom, was, wenn das Teil nicht über Batterie versorgt wird, auch nicht so wichtig ist.

            Grüsse
            Jürgen

  • Avatar
    27. Mai 2020 um 14:57
    Permalink

    Ich habe erfolgreich die Firmware aufgespielt und sehe auch das Zisterne-WLAN. Auf der Web-Oberfläche zeigt er mir auch, dass er mein eigenes WLAN sieht. Ich tippe dann die SSID und das Passwort ein, speicher die Konfiguration … aber er verbindet sich nicht mit dem WLAN. Bin jetzt etwas ratlos …

    Antwort
      • Avatar
        29. Mai 2020 um 18:43
        Permalink

        Ja. Muss an meinem WLAN gelegen haben. Mit einem anderen Access Point ging es auf Anhieb.

        Antwort
  • Avatar
    3. Juni 2020 um 15:53
    Permalink

    Erst einmal ein riiiiieeesen Lob für den Artikel. An einer kostengünstigen und verlässlichen Lösung für meine Zisterne suche ich bereits seit ca. 4 Jahren. Ein Killer-Feature würde ich mir noch wünschen, vielleicht kann mir da jemand helfen. Also mein Sensor und der ESP8266 befinden sich in der Zisterne. In der Wohnung würde ich gern ein kleines Display haben, wo ich den Füllstand ablesen kann. Somit muss ich nicht umständlich das Handy etc. nutzen. Aktuell verwende ich MQTT um die Daten an meinen Homey zu pushen. Habt ihr/du Ideen?

    Antwort
    • diefenbecker
      3. Juni 2020 um 17:33
      Permalink

      Hallo Maik,

      Danke! In der nächsten Version, die schon in den Startlöchern steht, werden Displays integriert werden (Danke an Patrick!).
      Aktuell funktioniert schon ein einfaches 1602 LCD mit I2C.
      Zudem habe ich den Abstand noch als Topic für MQTT hinzugefügt und eine tägliche Pushover-Notification und viele kleine Anpassungen.

      Ich hoffe dass die neue Version so in 2 Wochen fertig ist. Gibt dann einen neuen Artikel im BLog.

      Gruß
      Chris

      Antwort
      • Avatar
        4. Juni 2020 um 16:36
        Permalink

        Wow! Coole Sache. Da bin ich gespannt und warte.

        Antwort
        • diefenbecker
          13. Juni 2020 um 09:18
          Permalink

          Hallo Leon,

          eine Unterstützung von Diplays kommt erst mit der kommenden Version. Die ist aber in den letzten Zürgen und die Tage fertig.

          Gruß
          Chris

          Antwort
  • Avatar
    8. Juni 2020 um 15:30
    Permalink

    Hallo,

    ich möchte demnächst deine Füllstandsmessung aufbauen, jedoch nutze möchte ich einen wasserfesten Ultraschallsensor (SR04T) verwenden. Ist das so ohne weiteres möglich?
    Grüße
    Ray

    Antwort
    • diefenbecker
      11. Juni 2020 um 09:52
      Permalink

      Hallo Ray,

      grundsätzlich sind die beiden Sensoren kompatibel und der SR04T kann auch am ESP genutzt werden. Es gibt aber wohl ein paar Unterschiede im Detail. Schau mal hier. Kannst ja mal Deine Erfahrungen hier schreiben.

      Gruß
      Chris

      Antwort
  • Avatar
    10. Juni 2020 um 07:20
    Permalink

    Hallo, Danke für deine super Anleitung. Ich hatte allerdings auch das Thema, dass ich die Messung in einem Brunnen durchführe, und der Sensor damit nicht zurecht kam. Immer generelle Fehlmessungen und extrem springende Werte. Ich bin dann auf diesen Sensor gestoßen : JSN-SR04T
    https://www.amazon.de/JSN-SR04T-Waterproof-Ultrasonic-Measuring-Integrated/dp/B072L3ZKWZ/
    Wenn man bei den Kundenrezensionen schaut, gibt es dort Bilder, wo mit einem “Trichter” der Abstrahlwinkel eingeschränkt wird. Ich habe das mit diesem Sensor nachgebaut, und es funktioniert einwandfrei :-). Einzig scheint es noch auf das Material des Trichters drauf an zukommen. Derzeit erziele ich nur mit einem Trichter aus Papier 100% Ergebnisse. Aber die Messung im Brunnen (Durchmesser 1 Meter, Tiefe 2 – 2.5m) passt jetzt genau 🙂
    Die Werte frage ich dann per JSON ab, speichere sie in einer RRD Datenbank, zeige sie mit Highcharts an.

    Antwort
  • Pingback: Neue Version der Füllstandsanzeige Zisterne – bubuxblog

  • Avatar
    21. Juni 2020 um 13:52
    Permalink

    Hallo, ich bin gerade dabei die Steuerung nachzubauen. Nun hänge ich schon bei der Inbetriebnahme. Und zwar komme ich auf die Seite um mein Wlan einzurichten, jedoch fehlt mir der Button um die Wlan Einstellungen zu speichern. Habe es mit dem Handy und mit dem Pc versucht, bei beidem fehlt der Button um die Einstellung zu speichern. Übersehe ich diesen oder was mache ich falsch?

    Antwort
    • diefenbecker
      22. Juni 2020 um 16:54
      Permalink

      Hallo Frank,

      ich muss das prüfen. Eigentlich sollte da ein Button zum speichern sein…
      Melde mich nochmal.

      Gruß
      Chris

      Antwort
  • Avatar
    21. Juli 2020 um 17:40
    Permalink

    Top Beschreibung – tolles basteln

    Kleine Anmerkung, da sich im Tool was geändert hat und es nun bei der Windows Version keine esptool.exe mehr gibt – diese in den Ordner des files esptool.sy reinkopieren.
    Runterladen kann man die .exe hier: https://github.com/igrr/esptool-ck/releases

    Der Pfad zum falschen ist auch gut anders
    C:\Users\Mat\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2\tools\esptool\esptool.exe

    Somit lautete bei mir alles
    %USERPROFILE%\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.8\esptool.exe -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp COM4 -cf d:\zisterne_aktuell.bin

    Zum Anschluss der Stromversorgung einfach ein altes Handy Netzteil an Vin und g löten

    Antwort
  • Avatar
    14. September 2020 um 08:20
    Permalink

    Hallo zusammen,
    eine tolle Anleitung! ich habe mir gerade NodeMCU, Sensor und Display bestellt….
    Wie regelt ihr denn die Stromversorgung?
    Meine Idee wäre, alles in einem wasserdichten GEhäuse unterzubringen und mit einem Akku zu versorgen.
    ..und dann mit 1s LiFePo.
    oder habt ihr euch in der Zisterne noch eine Stromversorgung via USB Netzteil abgezwackt?

    Antwort
    • diefenbecker
      26. September 2020 um 10:04
      Permalink

      Hallo Malte,

      ich hab den Sensor an der langen Leine in der Zisterne hängen und den NodeMCU direkt über ein Netzteil angeschlossen wie einige andere Bekannte.
      Kenne aber auch welche die Strom die Zisterne gelegt haben.

      Zu dem Betrieb am Akku kann ich Dir leider nichts sagen. Evtl. wäre hier aber ein Tiefschlaf des Sensors besser.
      Ich schaue mal ob ich den Deepsleep optional aktivierbar in die nächste Version einnaue.
      Falls Du es mit dem Lipo jetzt schon testest, kannst Du ja mal Deine Erfahrung teilen.

      Gruß
      Chris

      Antwort
  • Avatar
    18. September 2020 um 22:10
    Permalink

    Hallo zusammen,
    leider bekomme ich die Firmware nicht auf den NodeMCU… das esptool wird mit dem arduinoIDE bei mir (win10 app) oder v1.8.13 nicht installiert.
    Hat jemand einen Tipp für mich?
    Danke!

    Antwort
    • diefenbecker
      26. September 2020 um 10:19
      Permalink

      Hallo Malte,

      versuchen mal den ESP Easy Flasher. Ich hab das allerdings noch nie getestet.

      Gruß
      Chris

      Antwort
      • Avatar
        26. September 2020 um 10:47
        Permalink

        Moin Chris,
        Ich hab’s geschafft… im Blog den richtigen Hinweis gefunden.
        Die Frage mit dem Netzteil / Akku probiere ich jetzt.
        In der Zisterne gibt es ja Strom, die Pumpe ist über eine Steckdose versorgt. Spannend wird nur die Frage nach der Dauerhaftigkeit in der feuchten Umgebung.
        Nächstes spannendes Thema: reicht das wlan durch die Betonzisterne….
        ich werde berichten!

        Antwort
        • diefenbecker
          26. September 2020 um 11:02
          Permalink

          Freut mich zu hören. Ja, das mit dem WLAN im dem Betonding unter der Erde war bei mir ausschlaggebend den Mikrocontroller woanders unter zu bringen.

          Gruß
          Chris

          Antwort
  • Avatar
    8. Oktober 2020 um 18:08
    Permalink

    Hi Chris,

    möchte deine Lösung auch gerne umsetzen, scheitere aber beim abspeichern meines WLAN’s. Ich gebe die SSID des Accesspoints ein (hängt 2 Meter links von mir – super Dämpfung) und das Passwort ein, scrolle nach unten und gehe auf “Konfiguration speichern” – weiter komme ich nicht, das Scheißerchen bucht sich einfach nicht in mein WLAN ein. Ich habe jetzt bestimmt schon 20 Mal versucht in mein WLAN zu kommen aber nach jedem Reset des NodeMCU sehe ich wieder die SSID “WLAN-Zisterne” ! Kann man denn da überhaupt etwas falsch machen?

    Ich habe übrigens die neueste Firmware geflasht.

    Grüße
    Klaus

    Antwort
    • diefenbecker
      16. Oktober 2020 um 17:06
      Permalink

      Hallo Klaus,

      hast Du einen NodeMCU oder einen Wemos?
      Einige mit Wemos haben das gleiche Problem wie Du. Ich habe mir deshalb auch einen Wemos D1 Pro zugelegt, bekomme das Problem aber nicht reproduziert.

      Gruß
      Chris

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.