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.
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:
<?php
$fuellstand=$_GET["fuellstand"];
$abstand=$_GET["abstand"];
$vcc=$_GET["vcc"];
//*************************
// Werte in Datei schreiben
//*************************
$datum = date("d.m.Y H:i");
$handle = fopen ('zisterne.txt', 'a');
fwrite ($handle, $datum.",".$fuellstand.",".$abstand."\n");
fclose ($handle);
//****************************
//Werte in Datenbank schreiben
//****************************
$servername = "localhost";
$username = "benutzer";
$password = "passwort";
$dbname = "dbname";
$connection = new mysqli($servername, $username, $password, $dbname);
if ($connection->connect_error) {
die("Connection failed: " . $connection->connect_error);
}
$sql = "INSERT INTO zisterne (timestamp,fuellstand,spannung) VALUES (CURRENT_TIMESTAMP,$fuellstand,$vcc)";
if ($connection->query($sql) === TRUE) {
//echo "INSERT war erfolgreich";
} else {
echo "Error: " . $sql . "<br>" . $connection->error;
}
//***********************
//Werte an FHEM übergeben
//***********************
$fhemhost = "192.168.178.1";
$fhemport = 7072;
$fhemsock = fsockopen($fhemhost, $fhemport, $errno, $errstr, 30);
$fhemcmd = "set ZisterneFuellstand ".$fuellstand."\r\nquit\r\n";
fwrite($fhemsock, $fhemcmd);
fclose($fhemsock);
$fhemsock = fsockopen($fhemhost, $fhemport, $errno, $errstr, 30);
$fhemcmd = "set ZisterneSpannung ".$vcc."\r\nquit\r\n";
fwrite($fhemsock, $fhemcmd);
fclose($fhemsock);
?>
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
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
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
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!
Pingback: Homematik – Zisterne – bubuxblog
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…
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
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
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
Hallo Kai,
ist korrigiert.
Gruß Chris
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
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
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
Hallo Franz,
MQTT ist in Arbeit und kommt demnächst 🙂
Gruß
Chris
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
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
Moin,
ich würde auch gerne ein bisschen am Code rumschrauben und modifizieren, könntest du daher selbigen zugänglich machen?
Vielen dank und Gruß
merlo
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…
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
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
Hallo hast du da was bekommen ? ich würde gerne ein 2,8 zoll Display einbauen
das muss ja auch angeglichen werden
gruß
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.
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
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.
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
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
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
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.
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
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.
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
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
Hallo,
JSON wäre genial, dann könnte man den Sensor per openhab abfragen!
Hallo Sören,
ist schon fertig, muss aber noch getestet werden.
Schreib mir eine Mail und ich schick Dir den Link.
Gruß
Chris
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
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
Hi Chris,
super danke, habe auch schon gesucht und als ansatz folgende Webseite gefunden:
https://medium.com/diy-my-smart-home/esp-tipp-wifi-reconnect-einbauen-dc4a7397b741
Vielleicht hilft dir das weiter und dann auch mir 🙂
Grüße
Crispin
Danke! Schaue ich mir an.
Das Wetter dieses Wochende lädt zum programmieren ein.
Melde mich wenn es eine neue Version gibt.
Gruß
Chris
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
Hallo Chris,
ich bin voll begeistert über deine Arbeit zum Thema Füllstandsmessung.
Ich würde mir gerne eine ähnliche Software entwickeln – allerdings benötige ich für meinen Einsatzzweck im Pool einen anderen Sensor.
Gibt es die Möglichkeit, dass du mir die Original-Sourcen zukommen lässt?
Vielen Dank und viele Grüße
Andi
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
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?
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
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
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?
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
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.
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
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
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 …
Ich vermute es läuft jetzt, oder?
Chris
Ja. Muss an meinem WLAN gelegen haben. Mit einem anderen Access Point ging es auf Anhieb.
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?
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
Wow! Coole Sache. Da bin ich gespannt und warte.
Wie schließe ich das Display an?
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
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
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
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.
Pingback: Neue Version der Füllstandsanzeige Zisterne – bubuxblog
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?
Hallo Frank,
ich muss das prüfen. Eigentlich sollte da ein Button zum speichern sein…
Melde mich nochmal.
Gruß
Chris
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
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?
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
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!
Hallo Malte,
versuchen mal den ESP Easy Flasher. Ich hab das allerdings noch nie getestet.
Gruß
Chris
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!
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
Hallo,
ich versuche auch zur Zeit nach der tollen Anleitung zu flashen.
Leider finde ich bei meinem Win 10 nicht den richtigen Pfad.
Kann mir jemand weiter helfen?
Danke und VG
Dieter
Hallo Dieter,
versuch mal das hier: https://github.com/igrr/esptool-ck/blob/master/README.md oder hier https://github.com/Grovkillen/ESP_Easy_Flasher
Gruß
Chris
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
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
Hallo
super Projekt und Beschreibung. Danke dafür.
Jetzt hab ich folgendes Problem:
Im Einsatz ist ein AZDelivery D1 Mini NodeMcu mit ESP8266-12F, den hab ich nach Anleitung geflasht. Hat soweit funktioniert und manchmal seh ich sogar das WLAN-Zisterne…leider komm ich gar nicht erst soweit mich damit zu verbinden. Keine Verbindung möglich sagt mir Windows. Und dann ist das Wlan weg und unsichtbar…
Gibts dazu ne Lösung oder Idee?
Vielen Dank
Hallo Christian,
das Problem haben schon andere mit dem D1 Mini geschildert. Leider kann ich es mit meinem D1 nicht reproduzieren.
Habe da aktuell leider keine Lösung.
Gruß
Chris
Auch wenn es etwas spät ist für die Anwort, aber vielleicht hilft es andern die den Block lesen.
Ich hatte das WLAN Problem auch zunächst.
Ich hatte aus Unwissenheit YXPCARS 3 Stück NodeMcu WiFi Entwicklungsboard mit ESP8266 Chip ESP-12F bestellt. Dies zeigen sich als WLAN Zisterne und man kann auch die Wlan Daten eingeben und speichern, aber die Module buchen sich anschließend nicht ins eigene WLAN ein.
Habe dann ein AZDelivery NodeMCU Lolin V3 Module ESP8266 ESP bestellt, damit funktionierte es sofort.
Wer also das Projekt umsetzen möchte sollte auf die Hardware ein wenig achten.
Hallo Rainer
ich werde mir mal so einen NodeMCU besorgen und schauen ob ich das reproduziert und ggf. auch repariert bekomme.
Danke für den Hinweis!
Gruß
Chris
Hallo Chris,
wenn Du magst kann ich Dir gerne einen von meinen schicken, ich setze die sowieso nicht mehr ein.
Dann bitte per PN mailen wohin.
Übrigens wenn ich die SSID und PW per sketch auf die NodeMCU eintrage, buchen sie sich ohne Probleme in mein Home LAN ein.
Gruß
Rainer
Hallo Chris,
super Projekt, habe mir eben einen HC-SR04 bestellt. NodeMCU hab ich noch welche hier.
Gibt es eine max. Leitungslänge zw. Sensor und NodeMCU? Ich würde gerne nur den Sensor in die Zisterne hängen und den NodeMCU im Technikraum unterkriegen (ca. 4m Distanz).
Gruß Hannes
Hallo Hannes,
freut mich dass Dir das Projekt gefällt.
Die genaue maximale Leitungslänge kann ich Dir nicht sagen, da es wahrscheinlich abhängig von der Leitung etc. ist.
Aber meine ist Leitung zum Sensor ist länger als 4m und nur eine einfache dünne 4-fach-Leitung. Funktioniert ohne Probleme.
Gruß
Chris
Hallo Chris,
der HC-SR04 liegt mittlerweile hier auf meinem Schreibtisch und läuft super 🙂
Hast du denn irgendwelche Probleme mit Feuchtigkeit in der Zisterne? Lässt du den Sensor über den Winter in der Zisterne hängen (kann auf deinen Bildern nämlich keinen Stecker oder ähnliches sehen?)?
Gruß und danke
Hannes
Hallo Hannes,
ich hab den Sensor jetzt seit fast 3 Jahren durchgehend in der Zisterne hängen. Das Anschlusskabel ist am Sensor fest verlötet und der Sensor wie im Bild im Artikel mit Heißkleber “vergossen” (da ich damals nichts anderes hatte).
Bei dünflüssigeren Harzen o.ä. muss man aufpassen, dass das Harz nicht in die “Tönnchen” läuft die danach evtl. nicht mehr funktionieren. Da der Sensor nicht wirklich teuere ist, hab ich einen gewissen Schwund eingeplant. Bisher hält das alles aber sehr gut.
Gruß
Chris
Gruß
Christopher
Hallo Chris
Danke für deine Arbeit und deine super Beschreibungen. Der Nachbau hat – mit einigen Umwegen 🙂 bestens geklappt.
Bei einem meiner Umwege habe ich vermutlich die Ursache der “springenden” Anzeige gefunden und bei mir beheben können:
Idee war mit einem 230V/5V Spannungswandler die Speisung sicher zu stellen. Das ganze funktionierte wie beschrieben doch mit eben dieser “springenden” Anzeige.
Der zweite Anlauf war dann eine 9V Batterie mit einem Spannungsregler. Von da an war die Anzeige wie gewünscht.
Freue mich auf die nächste Weiterentwicklung deines Projektes.
Schöne Festtage, Hans-Peter
Hallo Hans-Peter,
schön, dass Dir das Projekt gefällt und auch die Umsetzung geklappt hat.
Danke auch für den Hinweis und ebenfalls schöne Festtage.
Gruß
Chris
Pingback: Füllstandsmessung der Zisterne mittels ESP8266 – UPDATE – bubuxblog
Hallo Freunde der Elektronik
Ich habe meine Solaranlage mit Raspberry PI3 (Victron Venus OS)+ SmartSolar & Batt.Wächter super am laufen.Im Menu kann ich noch ein Tank /Zisterne anzeigen lassen .Da würde ja dieses System ja super reinpassen.Müste dann aber auch über das eigene Netzwerk laufen da mein Tank auf der anderen seite des Hausen liegt. ca.20 Meter
https://github.com/physee/Victron.Arduino-ESP8266
Hier nur mal zur Info Rasp
https://github.com/victronenergy/venus/wiki/raspberrypi-install-venus-image
Hallo aus Kassel, ich bin gerade dabei die Füllstandsanzeige für meine smarte Gewächshausbewässerung einzurichten. Ich komme an einer Stelle nicht weiter. Wenn ich die Platine an den Rechner anschließe blinkt sie kurz blau auf. Dann versuche ich in der Arduino Software den Port zu ermitteln. Der ist aber ausgegraut. Wie kann ich den Port ermitteln? Habe ich da etwas falsch gemacht? Und wie flashe ich dann genau die Platine über die Eingabeaufforderung. Ich verstehe Deine Zusatzinfos leider nicht. Oder fehlt mir dazu die Info der Platine? Ich würde das Projekt gerne weiter bearbeiten. Ich freue mich über Deine Hilfe. Viele Grüße und vielen Dank Martin
Ich nochmal aus Kassel. Den COM Port habe ich rausgefunden. Ich habe die Platine einfach an einen anderen USB Steckplatz angeschlossen ;-). Nun finde ich den Teil des Links nicht
AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.8\esptool.exe
In meinem Ordner Tools habe ich nur einen Ordner: mklittlefs, mkspiffs, python2 und xtensa-lx106-elf-gcc. Der Ordner esptool und die Versionsnummer fehlt komplett an der Stelle. Wie bekomme ich die Datei auf meinen Rechner?
Viele Grüße
Martin
Gleiches Problem habe ich unter Mac OS. Den Ordner gibt es nicht.
Wie hat es letztendlich geklappt?
Ich bins schon wieder… Das Flashen hat jetzt doch endlich geklappt. Nun eine Schwierigkeit, die ich nicht lösen kann. Die Belegung der Platine heißt bei mir nicht wie bei Dir angegeben.
D1 und D2 habe ich zum Belegen. Auf der anderen Seite fehlt mir aber VU und ich habe zwei GND Pins. Wo gehe ich denn da ran? Viele Grüße Martin
Wie hast du das hinbekommen? Der Ordner ist bei mir unter MacOS auch nicht mit dem fraglichen Ordner gefüllt.
Ein letzter Kommentar… Ich habs geschafft. Ich habe ein paar zusätzliche Videos zur Belegung der Pins geschaut und nun läuft das System. Jetzt muss ich mir nur noch ein Gehäuse bauen. Dann ist meine smarte Gewächshaus Bewässerung fertig. Ich muss nur noch die Daten in mein Node Red reinbekommen. Aber da werde ich auch noch ein bisschen probieren. Vielen Dank für die tolle Idee!!! Viele Grüße aus Kassel Martin Biedenbach
Hallo Martin,
Du bist mir zu schnell 😉 Aber schön, dass es nun bei Dir funktioniert. Viel Spaß damit und der Gewächshausbewässerung.
Gruß
Chris
Ich würde dies gerne mit meiner Zisterne ausprobieren, aber irgendwie komme ich nicht weiter.
Unter ~\AppData\Local\Arduino15\packages\esp8266\tools fehlt mir der Ordner esptool. Auch finde ich keine Datei esptool.exe
Verwendet habe ich die aktuelle Version 3.0.0 der ESP8266
Ist danach unter Werkzeuge -> Board NodeMCU auszuwählen?
Oder soll unter \AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\tools\esptool esptool.py verwendet werden?
Wenn ist das Board per USB anschließe, bekomme ich zwar unter Werkzeuge viele Informationen angezeigt, Port ist aber ausgegraut.
Mit Tasmota lässt sich das auch sehr einfach umsetzten, hier ist ein Video dazu falls es jemand mit Tasmota umsetzten möchte.
https://youtu.be/weumMkfS3MU
Gruß
Peter
Hallo Peter,
danke für den Link auch wenn das Video etwas länglich ist.
Meine Lösung bietet halt den Vorteil der Autarkie wenn man keine “Zentrale” irgendwelcher Art hat.
Gruß
Chris
Hallo Chris,
die Spende habe ich gerne gemacht, erstens weil das ein Super Projekt ist und Du da sicher eine Menge Zeit und Know How reingesteckt hast und ich selber so etwas nicht hinbekommen würde. Vor allem aber weil ich es ganz Toll finde das Du die Spende an ein Kinderhospitz weitergibst !
Von der Grundfunktion läuft die Messung ( z.Zt. mit Ultraschall JSN-SR04T-2.0 ).
Ich sende die Daten über MQTT an meine Solaranzeige (Grafana). Daher finde ich Dein Projekt so genial, weil es MQTT kann.
Da meine Zisterne schmal und tief ist( 1-Meter Betonringe 2,50 ) habe ich aber viele Fehlmessungen. Werde daher mal versuchen mit den ToF Sensoren zu messen.
Habe mir einen VL53L0XV2 und einen VL53L1X (bis 4 Meter) besorgt und werde damit mal experimetieren.
Gruß
Rainer
Hallo Rainer,
Danke nochmal!
Meld dich dann mal was mit den ToF-Sensor raus kam. Ich nutze den selber nicht und bin gespannt ob das wie gewünscht funktioniert. Den VL53L1X müsste ich mir mal besorgen um zu schauen ob der analog dem anderen genutzt werden kann. Ich muss den Code nochmal durchschauen aber irgendwo erinnere ich mich an eine Konfig, in der der maximale Abstand angegeben werde musste…
Gruß
Chris
Hallo Chris,
ja mache ich. Die Funktionen sind hier gut beschrieben mit Beispielen:
https://wolles-elektronikkiste.de/vl53l0x-und-vl53l1x-tof-abstandssensoren
Die Parameter die man beinflussen kann / sollte sind diese:
distanceSensor.setROI(11,11);
//distanceSensor.setDistanceModeShort();
distanceSensor.setDistanceModeLong();
Mit dem ROI stellt man ein wie viele Segmente des Sensors man nutzt ( default = 16×16 = 27° Erfassungswinkel ; min = 4×4 = 15°)
Der short Mode erfasst bis 1,3 Meter, long bis 4 Meter
Ich werde erst mal versuchen den VL53L0X zum Laufen zu bringen und dann den L1X dranhängen und sehen wie er sich verhält.
Gruß
Rainer
Hallo zusammen,
ich habe irgendwie noch einen Bug im System. nach ein paar Monaten, gerade in der Übergangszeit mit Kondenswasser, steigt mein Sensor aus. Füllstand dann -417%…
hat jemand schon einmal mit einem wasserfesten Sensor probiert?
Hi
EDDY hat gerade heute ein Video mit seinen Erfahrungen geteilt. Hat den sensor aber erst 6-8 Wochen in Betrieb, also keine Langzeiterfahrungen.
https://youtu.be/KqWhiLXiZ7Q
Gruß Peter
Tach zesamme,
nach einer längeren Recherche zur Pegelmessung in einer Zisterne stieß ich erst vor zwei Wochen auf dieses Forum. Sofort habe ich die notwendigen Komponenten besorgt und bin begeistert. Seit ein paar Tagen läuft diese Lösung nun auch bei mir in der Zisterne (v1028) und ich bin gespannt auf die Langzeiterfahrung. Die Werte lese ich per json aus und nutze sie in einer openHAB Umgebung.
Zum Bespielen des NodeMCU ESP8266-12F habe ich übrigens NodeMCU-PyFlasher verwendet, eine nette GUI statt Kommandozeile. Mir hat es die Suche nach esptool.exe oder dem aktuellen Ersatz erspart.
Die US- und T/H-Sensoren sind mit einem ausgedienten 3,5m Netzwerkkabel verbunden. Derzeit kämpfe ich noch mit recht häufigen Fehlmessungen, ein 75-er Rohr zur “Blickwinkelkonzentration” liegt schon bereit.
Kleine Anregung: Ein vom Sensor übermitteltes Timestamp bei den Messdaten wäre gut, um Verbindungsabbrüche oder eine Fehlfunktion zu bemerken. Ein Wert für uptime (rel.) oder “letzter Systemstart” (abs.) könnte helfen, automatische Reboots festzustellen.
Hallo Carl,
freut mich das dir mein Projekt gefällt und hoffentlich auch gut funktioniert.
Zudem danke für die Anmerkungen und Tipps. Uptime hatte ich schon auf der Liste aber bisher keine Zeit es einzubauen.
Der Winter und somit wieder mehr Zeit für Bastelprojekte steht aber schon vor der Türe…
Gruß
Chris
Hallo und guten Tag
Ich habe auf der Suche nach einer besseren Lösung als meine derzeitige Variante deine Website gefunden. Dein Projekt ist schon fast so wie ich es mir vorgestellt habe und hat bei Tests auf anhieb ohne Fehler und Macken funktioniert. Leider verwendest Du aber Sensoren die ich nach mehrfachen Problemen mit Wasserschäden, an Ihnen, aus meiner Zisterne verbannt habe.
Hast Du schon mal den Ultraschallsensor DYP-A02YY PWM und den Temperatursensor Dallas DS18B20 in Betracht gezogen. Beide sind Wasserdicht und laufen bei mir seit 2 Jahren ohne Probleme.
Die Anbindung des Ultraschall ist gleich dem HC-SR04. Nur der Temperatur ist leider etwas anders als beim DHT22.
MfG Markus
Hallo Markus
danke für den Tipp. Wo bekommt man den DYP denn am besten her? Du sagst der ist anschlussgleich mit dem HC-SR04?
Bei dem Temperatur-Sensor bin ich leidenschaftslos. Der DHT war als erster griffbereit. Den DS und oder BME hab ich auf der Liste. Leider war das letzte halbe Jahr etwas anders als geplant und ich hatte keine Zeit. Werde mich da im neuen Jahr mal drangeben.
Bei mir läuft der HC-SR04 schon drei Jahre in der Zisterne. Vergossen mit Heißkleber in einer kleinen Aufputzdose. Bisher keine Probleme 🙂
Gruß Chris
Hallo Chris
Leider habe ich die DYP-A02YY PWM nur auf “banggood” und ebay (DYPA02YYxx Waterproof Ultrasonic) gefunden. Die Lieferung brauch dann auch ca. 14 bis 21 Tage.
Sie kommen gut verpackt an. Denn Peis von ca. 15 tEuro kann man als Neukunden (1,77€ … ) senken, zudem erspart man sich das 2jahrliche Austauschen der HC-SR.
Du kannst die DYP dann genauso anschließen und einbinden wie die HC-SR! Also wirklich kein Änderungen am Programm!
Abgesehen davon haben sie einen Blindbereich von 3cm, Messtoleranz von 0,3%, Temperaturbereich von -15 ° C bis +60 ° C und einen relativ kleinen Erfassungswinkel.
Beachte aber bei der Bestellung das Du die Variante mit PWM-Impulsbreite auswählst, da es selbige auch mit Serielle UART-Schnittstelle gibt. Preislich sind beide gleich !
MfG Markus
Ist der WLAN Empfang ausreichend? Stelle mir vor, wenn der Betondeckel drauf ist, dann ist das schlecht mit dem Empfang…
Danke
Hallo Eddie,
ich denke die meisten haben den ESP/NodeMCU/Wemos nicht direkt in der Zisterne sondern nur den Sensor, angeschlossen an einem (langen) Kabel.
Gruß
Chris
Hallo Eddie und Hallo Chris
Ich habe den Wemos D1 mini pro mit externer Antenne verbaut so das der D1 mit Netzteil in eine wasserdichten Verteilerdose sitzt, die Sensoren sind mit an dieser Dose angebaut.
Die externe Antenne wird über eine Verlängerung mit Stecker nach außen (der Zisterne) geführt. Alles zusammen ist an ein 20er (mm) Kabelrohr angebaut und mit doppeln Rohrklipps an der Zisterne befestigt. Das macht die ganze Wartungsfreundlich da man die Komplette Einheit an und ab Klipsen kann für Updates usw. (leider kann ich euch keine Bilder hier hochladen) Ich bin mit der Konstruktion voll zufrieden und alles läuft seit über 1,5 Jahren perfekt.
Mit freundlichen Grüß
Markus
Hallo Chris,
vielen Dank an dich und alle Beteiligten des Projektes. Ich wollte selber eine einfachere Zisternen Überwachung schreiben und habe dann glücklicherweise eure Variante gefunden.
Ich bin nämlich kein Ass im Programmieren ;-).
Eigentlich wollte ich noch ein paar Sachen an der Software anpassen aber ich bekomme sie in ArduinoIDE nicht kompiliert. Wie gesagt, kein Profi.
Da ich keine Möglichkeit habe die Überwachung mit festem Stromanschluss laufen zu lassen wäre ja super wenn man einige Parameter in der Weboberfläche Steuern könnte. Ich benötige nicht unbedingt alle 2 Sekunden einen neuen Sensorwert und hatte mir erhofft dass eine Umstellung auf z.b 5 Minuten Strom sparen könnte.
Prinzipiell wäre Deepsleep mit einem Timer interrupt natürlich noch sparsamer, aber da müsste man natürlich schon mehr am Programm ändern.
Vielleicht bekomme ich es irgendwann zum Laufen und schreibe es Mal um.
Ansonsten wäre ich schon dankbar wenn man die Parameter zu den Anfrageintervallen einstellen könnte.
Liebe Grüße
Max
Man könnte auch die Spannung am ESP noch als Parameter für die API bzw. mqtt verfügbar machen. Als Low Battery warning.
Hallo Chris,
vielen Dank an Dich für die Vorstellung Deines Projektes.
Ich frage mich, ob Deine Bin-Datei auch umgeschrieben werden kann, sodass ich folgende Bauteile verwenden kann.
1x D1 Mini Pro und 1x JSN-SR04T Ultraschallsensor.
Der Sensor hängt mit den vier Pins an.
Trigger = D1;
Echo = D2;
5 Volt;
GND;
Die beiden Bauteile hatte ich mir zugelegt, da ich das Projekt von https://arduino-projekte.info https://www.youtube.com/watch?v=VWEeJLC_i48, umsetzen wollte. Leider habe ich dies nicht zum Laufen gebracht.
Liebe Grüße aus Thüringen,
Lutz
Hallo Lutz,
den kompletten Code gibt es bei GIT Version 1030 der Zisternenmessung jetzt auf github.
Das fertige BIN sollte aber problemlos auch auf dem Wemos D1 Mini Pro laufen und auch der JSN-SR04 Ultraschallsensor ist kompatibel mit dem HC-SR04.
Gruß Chris
Hall Chris
Ich habe seit langen nichts mehr an meiner Füllstandsmessung der Zisternen gemacht.
Nun kommts >>> Hatte mal wieder viel Zeit (lange Krank) und habe dann wieder ein wenig gebastelt, das derzeitige Ende ist, das ich umstellen will auf ESP32s und LiDAR-Sensoren (ToF) .
Habe den Script auch schon soweit fertig, im Rahmen meiner Möglichkeiten, bin halt kein Programmierer und soweit läuft auch schon alles (relativ Stabil).
Nun zu meiner Frage: hättest Du mal Muße, Lust und Zeit mal drüber zu schauen, zum Zwecke der Korrektur und vielleicht auch Optimierung?
MfG Markus
Servus,
gibt es auch eine direkt Möglichkeit die Daten an Influx, Grafana oder Prometheus zu übergeben. Die entsprechenden Libraries sind ja verfügbar.
VG
Hallo Sascha,
schon vor ein paar Jahren dachte ich die Füllstandsmessung wäre ausgedacht 😉
Ich schau mir die Influx- und Prometheus-Bibliothekn mal genauer an. Auf den ersten Blick ist der Aufwand überschaubar.
Gruß
CHris
Hallo Chris,
habe zwei Fragen:
1. Ist es möglich dein Programm in ESP32 Dev Kit C V2 38 Pins reininstallieren?
2. Wie kann ich Backup durchführen von meiner Einstellung?
Habe dein Programm in ESP8266 installiert. Sehr gute Arbeit! Danke.
Gruß Pflug
Hallo,
nein, auf einem ESP32 läuft das nicht.
Ein Backup der Einstellungen gibt es aktuell nicht. Ich habe mir einen Screenshot gemacht weil ich mir die Daten der Zisterne nie merken konnte.
Gruß
Chris