Ich bin endlich mal dazu gekommen und habe die ganzen Sourcen für die Zisternmessung mit dem ESP8266 mit einer ordentlichen readme auf github gestellt. Die Version 1030 ist dort auch als Release bereits für den NodeMCU und Wemos D1 vorkompiliert verfügbar.
Hier findet ihr das Github-Repository: https://github.com/diefenbecker/zisternenmessung
Aber auch bei den Funktionen gibt es Neuigkeiten. Die Version 1030 unterstützt jetzt einen schaltbaren Ausgang an D4 mit dem z.B. eine Pumpe über eine Relais-Platine angesteuert werden kann. Gesteuert wird das über zwei prozentuale Werte die in der Konfigurationsseite zu finden sind.
Hier die bin-Datei zum direkten Download:
http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin
Viel Spaß damit! Das kommende Wochende verspricht wettertechnisch ja den Einsatz der Zisterne…
Gruß
Chris
Hallo,
so hab jetz mal wieder meinen Sensor aktiviert 🙂
War tot durch die Feuchte.
wie geht das mit dem OTA Update? hast ja schon mal gemacht bei mir 🙂
Mac ist
oderm muss ich komplett flaschen
Aktuelle Version ist V1022
gruß Markus
Hallo Markus,
grundsätzlich funktioniert das OTA auch vom 1022 auf die aktuelle Version. Allerdings kann es sein, dass vorhandenen Konfigwerte überschrieben werden. In eine der alten Versionen hatte ich mal einen Fehler reingeknödelt, weiß aber nicht mehr in welche…
Schick mir bitte nochmal Deine MAC-Adresse des Sensors per PN dann kann ich das OTA antriggern.
Gruß
Chris
Ich bin aktuell bei 1027. Kannst du auch bei mit das OTA Update anschieben? VG Maik
Servus Chris,
das schaut fein aus! Werd ich mir sobald ich wieder Zeit hab gleich mal flashen!
Ist es viel Aufwand einen weiteren Ausgang schalten zu lassen?
Denke da gerade an zwei Anwendungsfälle wie bspw. Abschalten der Pumpe bei zu geringem Wasserstand oder Schalten eines Relais für eine Filterreinigung.
Filterreinigung könnte man Schalten wenn bspw. der Füllstand um 3% gestiegen ist, oder nach Zeit, bspw. 1 x alle x Wochen für Zeitspanne von 20 Sekunden.
Auf jeden Fall -wie schon mal erwähnt – ein Hammerprojekt, danke für deinen Grips der da reinfliest! 🙂
Lg,
Martin
Hallo zusammen
Hat einer von Euch einen script für Homematic CCU3 um die Werte in Systemvariablen einzulesen?
Ich habe jetzt schon soviel Foren durch gelesen, aber eigentlich nichts funktionierendes gefunden.
Grüße Lois
Bei Daten an eigen API senden trägst du bei Server die IP der ccu ein. Port ist 80 und Intervall nach belieben.
In der ccu legst du eine Systemvariable an.
Dann rufst du folgende Adresse auf ( ip gegen die deiner ccu tauschen) http://192.168.178.99/config/xmlapi/sysvarlist.cgi
Wenn da nichts erscheint musst du auf der ccu erst xmlapi installieren
Such deine erzeugte Systemvariable und schaue welche ise_id ihr zugeordnet wurde.
In der Füllstandsanzeige gibt du nun bei Pfad folgende ein (ise_id tauscht du gegen die deiner Systemvariable)
/config/xmlapi/statechange.cgi?ise_id=42595&new_value=_fuellstand
Hallo Chris,
zunächst herzlichen Dank für die Bereitstellung und das Upgrade der Software. Habe jetzt über ein halbes Jahr noch die Vers. 1024 genutzt und bin jetzt auf erst auf V 1030 umgestiegen – never chance a running system. Ich nutze die wasserdichte bzw. gekapselte Version des SR – Sensors. Hat den Vorteil, dass durch die ausreichende Zuleitung die gesamte Elektronik im Keller verbleiben kann.
Probleme beim Umstieg auf die neue Version gab es dennoch: Gefühlt macht mir jetzt aber die Reichweite fürs Wlan Probleme. Habe einen original NodeMCU (V3) geflasht, da musste ich gegenüber früher die Positionierung des Kleinrechners verändern. Keine Besserung der Erreichbarkeit gab es durch die Verwendung eines Wemos D1.
Wurde von Dir eine andere Bibliothek für das Wlan verwendet?
Und was mir auch einiges Kopfzerbrechen anfangs bereitet hat:
Nach dem Upload der *.bin-Datei sind die freien Felder in der Konfigurationsoberfläche (Wlan SSD, PW, MQTT etc.) mit Hieroglyphen gefüllt – erst mit dem Anklicken kann man diese Löschen. Das war beim NodeMCU wie auch dem Wemos D1 der Fall.
Verwendet wird für das Flashen der bewährte NodeMCU Py-Flasher. Ich weiß, das ist „Jammern auf hohem Niveau“ – was jedoch Deiner hervorragenden Arbeit keinen Abbruch tun soll.
Toll finde ich die Funktion zum Schalten eines externen Relais, das eröffnet dem Füllstandssensor noch weitere Verwendungsmöglichkeiten. Ich bin dran, das Schalten externer Verbraucher wie Pumpe etc. mittels MQTT zu realisiern, ich habe den Füllstandssensor in meine ioBroker-Umgebung implementiert.
Nochmals danke für die große Mühe und gelungene Umsetzung.
mfg
Michael
Hallo Michael,
an der WLAN-Komponente habe ich nichts geändert. Evtl. ist das den zwei kleinen Grafiken geschuldet die ich mit der 1030 eingebaut habe. Da ist die Weboberfläche etwas zickig geworden. Ich weiß aber noch nicht warum genau, bin aber dran.
Mit der Konfig das ist bekannt. Da hatte ich irgendwann mal eine Änderung in den Speicheradressen gemacht (wartum auch immer), so das alte Werte überschrieben wurden.
Evtl. war das von Version 1024 auf größer. Ist aber danach nicht mehr passiert da ich aufpassen 😉
Gruß
Chris
Hallo Chris,
tolle Arbeit die du dir da gemacht hast, der Ultraschall-Sensor funktioniert auch wunderbar alles gut.
AAAber der TOF VL53L0X in dreifacher Ausführung sowie der VL53L1X funktionieren bei mir überhaupt nicht 🙁 .Ich habe mehrere Node MCU´s , und D1 ausprobiert immer das gleiche.
Es werden utopische Werte angezeigt aber nichts gemessen.
Hast du vielleicht noch eine Idee was die Ursache sein könnte??
Ich möchte sehr ungern das Project in die Tonne werfen.
Vielen Dank für die mühe die du dir dafür gegeben hast.
mfg Michael G.
Hallo Michael,
bei mir funktionieren beide Sensoren problemlos. Hast Du mal in einem seriellen Monitor geschaut was der ESP so an Debug-Infos ausgibt?
Welche VL53 hast Du genau, also Hersteller der Platine mit dem eigentlichen Sensor? Evtl. gibt es ja da Unterschiede.
Ansonsten ist eine Ferndiagnose leider schwer…
Gruß
Chris
Moin!
Sehr schönes Projekt! Ich überlege das ganze bei mir und meinen beiden IBC-Containern einzusetzen. Bestünde die Möglichkeit auch zwei Sensoren (multiplexing?) an einem ESP zu betreiben?
Grüße,
Dennis
Hallo Dennis,
ich schreib es mal auf die Liste. Aber aktuell habe ich keine Zeit.
Vielleicht forkt ja jemand das Github-Projekt und baut das ein.
Gruß
Chris
Hallo Chris,
vielen dank für deine Arbeit, dies war genau das was ich gesucht habe.
Jetzt habe ich jedoch noch eine kleine Herausforderung mit dem MQTT im IOBroker.
Aktuell baut der ESP jede Sekunde eine neue Verbindung mit dem MQTT Adapter, dies ist im Log zu erkennen. “ Client [esp8266-40:91:51:4F:97:C7] reconnected. Old secret 1661158830460_7820. New secret 1661158830460_7820″ . Ich kann den Intervall zwar hochsetzten dann habe ich aber keine konstante verbindung. Hast du mir ein Tipp oder Idee wie ich das umgehen kann?
Viele Grüße
Andy
Hallo Andreas,
ich muss gestehen, dass ich nicht verstehe was genau Deine Frage ist.
Gruß
Chris
Hallo Chris,
die MQTT wird immer geschlossen und neu aufgebaut, je nachdem wie der Intervall eingestellt ist. Kann man die Verbindung auch permanent aktivieren?
mqtt.0
2022-09-18 12:24:07.189 info Client [esp8266-40:91:51:4F:97:C7] connected with secret 1663496647188_2129
mqtt.0
2022-09-18 12:23:38.510 info Client [esp8266-40:91:51:4F:97:C7] connection closed: timeout
mqtt.0
2022-09-18 12:23:15.994 info Client [esp8266-40:91:51:4F:97:C7] connected with secret 1663496595993_9571
mqtt.0
2022-09-18 12:22:38.500 info Client [esp8266-40:91:51:4F:97:C7] connection closed: timeout
mqtt.0
2022-09-18 12:22:15.982 info Client [esp8266-40:91:51:4F:97:C7] connected with secret 1663496535982_2909
mqtt.0
2022-09-18 12:21:38.487 info Client [esp8266-40:91:51:4F:97:C7] connection closed: timeout
mqtt.0
2022-09-18 12:21:15.971 info Client [esp8266-40:91:51:4F:97:C7] connected with secret 1663496475970_8700
mqtt.0
2022-09-18 12:20:38.475 info Client [esp8266-40:91:51:4F:97:C7] connection closed: timeout
mqtt.0
2022-09-18 12:20:15.961 info Client [esp8266-40:91:51:4F:97:C7] connected with secret 1663496415960_829
mqtt.0
2022-09-18 12:19:38.473 info Client [esp8266-40:91:51:4F:97:C7] connection closed: timeout
mqtt.0
2022-09-18 12:19:15.953 info Client [esp8266-40:91:51:4F:97:C7] connected with secret 1663496355953_4147
mqtt.0
2022-09-18 12:18:38.458 info Client [esp8266-40:91:51:4F:97:C7] connection closed: timeout
mqtt.0
2022-09-18 12:18:15.940 info Client [esp8266-40:91:51:4F:97:C7] connected with secret 1663496295939_7908
Hallo Andreas,
ich grätsche hier mal rein: Nach meinem Verständnis ist das normal, dass sich ein MQTT-Client beim Broker (Server) permanent ab- und anmeldet. Clients senden dem Server nach Verbindungsaufbau Nachrichten mit einem Topic, welches die Nachricht hierarchisch einstuft. Nach dem Empfang beendet der Brocker die Verbindung, bis der Client wieder mit der nächsten Meldung kommt.
Ich habe die hervorragende Umsetzung der Zisternenmessung von Chris bei mir im ioBroker integriert und sehe hier im Protokoll ebenso das ständige An- und Abmelden – ebenso wie andere MQTT-Temperatur- und Ereignissensoren.
Als Spielerei wird der aktuelle Zisternen-Füllstand noch über eine externe Laufschrift (LED-Matrix) angezeigt.
VG Michael
Hallo,
erstmal möchte ich sagen das mir das Projekt sehr gut gefällt!
Habe allerdings ein riesen Problem mit Kondenswasser an meinem Sensor.
Habe schon den HC-SR04 , VL53L0X und den JSN-SR04T probiert.
Verbaut in einem IBC Container (Im Deckel)
Funktioniert jeweils nur ein paar Stunden.
Jetzt war mein Gedanke einen Drucksensor über den Anlogen Eingang zu verwenden.
Gibt es da eine Möglichkeit das in die Software einzubringen?
Gruß
Sebastian
Hallo Sebastian,
das hört sich tatsächlich nach einem großen Problem mit Kondenswasser an wenn Dir alle Sensoren kaputt gehen. Mein Ultraschall-Sensor werkelt seit Jahren ohne Probleme in der Zisterne.
Aber egal, hilft Dir nicht. Einen Drucksensor zu integrieren geht bestimmt. Kennst Du einen Typ? Ich hab keinen hier und habe mich damit auch noch nicht befasst.
Gruß
Chris
Hallo Chris,
Habe ihn schon eingebaut und läuft schon mit Tasmota.
Ist ein 5V Drucksensor der mir bei 1 Bar an Analog0 den Wert 230 und bei 0 Bar 70 ausgibt.
Wäre super wenn du das in deine Software einbinden könntest. Also eine Auswertung des Analogeingangs mit Wert max und Wer min würde ja reichen anstelle des Abstands Zum Wasser. Oder?
Gruß
Sebastian
Hi,
erst mal wieder super das Update! Danke an Euch.
Habe eine liegende runde Zisterne und habe gerade Deine Rechnung dafür ausgewählt. Für D = 220 cm, L=115 cm. Ergebnis: 2147483647 l !!?? Habe dann auf github in Deine Formel geschaut:
volumen=radius*radius*laenge*(acos((radius-wasserhoehe)/radius)-(radius-wasserhoehe)*(sqrt(2*radius*wasserhoehe-(wasserhoehe*wasserhoehe))/(radius*radius)))/1000
Kann es sein das die Formel wie folgt aussehen muss:
V=(l∗(r*r∗acos((r−h)/r)−(r−h)sqrt(2rh−h*h))/1000
Gruss Markus
Hallo Markus,
das ist bei mir lange her mit dem Matheunterricht 😉
Ich schaue es mir an. Kann gut sein das da ein Fehler drin ist.
Gruß
Chris
Hallo Markus,
ich habe die Formel geprüft und Deine getestet. Meine Version rechnet auch richtig und die Werte sind gleich
Was hast Du für Abstände des Sensors angegeben?
Gruß
Chris
Hallo Chris,
zuerst vielen Dank für das tolle Projekt. Ich bin absoluter Neuanfänger und wollte dein Projekt mit der neuesten Version der Arduino IDE Umgebung übersetzen. Leider habe ich Probleme die richtigen Bibliotheken zu finden und bekomme das Projekt nicht übersetzt. Gibt es eine Liste mit den verwendeten Bibliotheken?
Gruß
Werner
Hallo Werner,
guter Punkt! Ich werde das im GIT ergänzen und mich kurz bei Dir melden zum Testen.
Wird aber erst am Wochenende weas werden.
Gruß
Chris
Hallo Chris,
ich komme bis zur Registerkarte „ota.ino“. Das bekomme ich aber nicht übersetzt. Anbei die Fehlermeldung. Scheinbar stimmt mit der Bibliothek etwas nicht. Anbei die Fehlermeldung vom Arduino IDE 2.0.0.
Gruß
Werner
/Users/Werner/Documents/Arduino/opencistern-main/zisterne/ota.ino: In function ‚void checkForUpdates()‘:
/Users/Werner/Documents/Arduino/opencistern-main/zisterne/ota.ino:40:68: error: no matching function for call to ‚ESP8266HTTPUpdate::update(String&)‘
40 | t_httpUpdate_return ret = ESPhttpUpdate.update( fwImageURL );
| ^
In file included from /Users/Werner/Documents/Arduino/opencistern-main/zisterne/zisterne.ino:8:
/Users/Werner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h:114:25: note: candidate: ‚t_httpUpdate_return ESP8266HTTPUpdate::update(WiFiClient&, const String&, const String&)‘
114 | t_httpUpdate_return update(WiFiClient& client, const String& url, const String& currentVersion = „“);
| ^~~~~~
/Users/Werner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h:114:25: note: candidate expects 3 arguments, 1 provided
/Users/Werner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h:115:25: note: candidate: ‚t_httpUpdate_return ESP8266HTTPUpdate::update(WiFiClient&, const String&, uint16_t, const String&, const String&)‘
115 | t_httpUpdate_return update(WiFiClient& client, const String& host, uint16_t port, const String& uri = „/“,
| ^~~~~~
/Users/Werner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/libraries/ESP8266httpUpdate/src/ESP8266httpUpdate.h:115:25: note: candidate expects 5 arguments, 1 provided
exit status 1
Compilation error: no matching function for call to ‚ESP8266HTTPUpdate::update(String&)‘
Hallo Chris,
wichtig wäre genau die Bibliotheken zu benennen, welche man im Arduino IDE hinzufügen muss, um dein Projekt zu übersetzen.
Gruß
Werner
Daran scheitere ich gerade auch. Finde weder für LiquidCrystal_I2C.h noch für Pushover.h die richtige Library.
Hallo Thomas,
ich habe die readme auf github aktualisiert. Schau mal bitte ob es hilft.
Gruß Chris
Hallo Chris,
konntest du schon Zeit für eine Zusammenstellung der Bibliotheken finden? Wichtig wäre die genaue Bezeichnung, da manche den selben Includefile verwenden. Eine Auflistung der Includefiles hilft nicht.
Gruß
Werner
Hallo Werner,
ich habe die readme auf github aktualisiert. Hoffe das gilft.
Sag bescheid falls noch was fehlt.
Gruß
Chris
Hallo Chris,
zuerst vielen Dank. Leider gelingt es mit immer noch nicht, Dein Projekt zu übersetzen. Kann das an der Version der Bibliothek liegen? Es wäre super, wenn Du im ReadMe-File die jeweilige Version der Bibliothek mit angeben könntest. Ich habe mir die aktuellen vom GitHub geholt.
Gruß
Werner
In file included from /Users/Werner/Documents/Arduino/libraries/DHT-sensor-library-master/DHT_U.cpp:15:
/Users/Werner/Documents/Arduino/libraries/DHT-sensor-library-master/DHT_U.h:36:10: fatal error: Adafruit_Sensor.h: No such file or directory
36 | #include
| ^~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: exit status 1
Hallo Werner,
ich mache regelmäßig Updates der installierten Bibliotheken. Beim Adafruit DHT nutzte ich die Version 1.4.4.
Die hat allerding snoch eine abhängikeit => Adafruit Unified Sensor. Vielleicht fehlt die ja noch.
Die Adafriuit für den DHT Bibliothek findet man übrigens auch direkt in der Arduino IDE.
Gruß
Chris
Hallo Chris,
dein Tip bezüglich der Adafruit Unified Sensor Bibliothek war richtig, die hat gefehlt. Ich kann aber trotzdem das Projekt nicht übersetzen. Ich laufe genau in den selben Fehler, wie am Anfang. Die Übersetzung bleibt im File ota.io in der Zeile 40 hängen. Scheinbar kennt mein System die Funktion nicht.
function for call to ‚ESP8266HTTPUpdate::update(String&)‘
40 | t_httpUpdate_return ret = ESPhttpUpdate.update( fwImageURL );
Ich habe folgende Boardverwaltungs-URL hinzu gefügt.
http://arduino.esp8266.com/stable/package_esp8266com_index.json
https://dl.espressif.com/dl/package_esp32_index.json
Fehlt da noch ein Eintrag?
Gruß
Werner
Hallo, ich habe die OverTheAir Update Funktion aktiviert.
kannst du mir sagen wann das jeweils bereit gestellt wird ?
Vielen Dank.
MfG
Hallo Chis,
bin etwas weiter gekommen. Wenn ich den Inhalt der Funktion checkForUpdates() im File ota.ino auskommentiere, kann ich das Projekt übersetzen. Ist vielleicht im Github noch eine alte Version vom ota.ino eingecheckt oder fehlt noch eine Bibliothek?
Gruß
Werner
Hallo Chris,
einfach genial, auch dass ein liegender Zylinder ausgewählt werden kann 🙂 ! Ich habe nun endlich Zeit gefunden, dieses Projekt hier fertigzustellen.
Falls es mal ein Update geben sollte (ich hoffe bald), kannst du da die Option einbauen: Anzahl verbundene Zisternen !? Ich z.B. hab zwei Stk. á 6800l mit einem Bodenrohr parallel geschaltet. D.h., ich hab alles doppelt. Kann ich im Kopf bzw. nachgelagert (z.B. mit Fhem oder per Script) berechnen, aber direktes Ablesen wär schon geil! 🙂
Gruß
Tobias
Hallo Chris,
vielen Dank für das tolle Projekt ! Ist es möglich, noch zu integrieren, dass nach der Programmierung über den Browser die Wlan Verbindung „weggejumpert“ werden kann ?
An der Stelle des Geschehens sucht der ESP vergebens nach Wlan.
Gruß
Jörg
Hallo Jörg,
kannst Du das bitte nochmal genauer erklären?
Ich weiß nicht genau was Du meinst…
Gruß
Chris
Hallo Chris,
also das Einrichten erfolgt ja über das Netzwerk, das funktioniert problemlos. Nur wenn jetzt kein Netzwerk mehr vorhanden ist, dann steht im Display „(IP unset)“ und da bleibt es eben stehen. An dem Einsatzort ist kein Netzwerk vorhanden, mit dem sich der ESP verbinden kann. Daher die Frage, ob es möglich ist, einen autarken Betrieb zu machen.
Gruß
Jörg
Hallo Jörg,
jetzt hab ich´s auch verstanden 😉
Funktion kommt auf die Liste.
Gruß
Chris
Pingback: Gasverbrauch mit ESP8266 messen – bubuxblog
Hallo Chris,
bin gerade zufällig auf das tolle Projekt gestoßen- eigentlich genau was ich brauche, um den Stand meines Heizöltanks zu visualisieren und überwachen.
Ich habe ein bisschen im Code gestöbert, inwieweit beim Ultraschall die Temperatur und Luftfeuchtigkeit einfließt und ob ich evtl. noch halb-cm Schritte herauskitzle, weil der Tank eine sehr große Grundfläche hat. Dabei bin ich bei der Code Section zum auslesen des Ultraschallsensors (abstand = (dauer / 2) / 29.1; ) etwas stutzig geworden. Worauf basiert der Faktor 29.1 ? Hast Du da irgendwelche Temperatur/Luftdruch und Feuchte Kompensation reingerechnet? Ich nehme an Du rechnest auch intern alles in cm/s ?
Gleitender Mittelwert (so 5. Ordnung) wäre auch noch interessant, um Fehlmessungen zu glätten.
Gruss
Jochen.
Hallo Jochen
ich lasse die Temperatur nicht mit in die Messung einfliessen. Mit einer Näherungsformel könnte man das aber tun: Ausbreitungsgeschwindigkeit (in Luft) ~ 331,5 + (0,6 * T)
Ich schreib es in die Issues vom GIT.
Die 29,1 kommen daher, dass durch die angenommene Schallgeschwindigkewit der Puls 29,1µs für 1cm benötigt und das ganze hin und zurück daher nochmal der Faktor 2.
Die Bibliothek für den Ultraschallsensor würde das gleiche rechnen.
Gruß
Chris
Ich nutze den Sensor (ESP8266) bereits seit 3 Jahren in meiner Zisterne, jedoch kommt es immer wieder zu Verbindungsabbrüchen. Hat jemand von euch eine Idee, wie ich den WLAN-Empfang verbessern kann? Gibt es Lösungen, ohne groß basteln und löten zu müssen? Hat jemand Erfahrung mit dem Wemos D1 Pro?
Hi Maik,
also ich hatte gar keinen Empfang in meiner Zisterne und habe folgende Lösung relativ einfach umgesetzt.
„externe Antenne aus Koaxkabel“
https://www.stall.biz/project/verbesserte-wlan-konnektivitaet-mit-externen-antennen-fuer-wiffi-weatherman-und-andere-module-mit-esp8266/
Mein Koaxkabel ist sogar 2m lang um es aus der Zisterne herausführen zu können. Geht problemslos und der Umbau ist in weniger als 1 Stunde erledigt.
Genutzt habe ich folgendes Kabel (2 Kabel mit je 2m im Set, nicht von den 20cm irritieren lassen):
https://www.amazon.de/sourcing-map-Verlustarm-Koaxialkabel-Verbindung/dp/B07TD9Y3Q5/ref=sr_1_7_sspa?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=koax+kabel+rg-179&qid=1692881287&sr=8-7-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9tdGY&psc=1
Grüße,
Chris
Pingback: Gasverbrauch graphisch darstellen – bubuxblog
Hallo Chris,
vielen Dank für das tolle Zisternen-Projekt. Ich habe die Software auf einem ESP8266 D1 Mini und auch auf einen NodeMCU, jeweils mit einem HC-SR04 Ultraschallsensor erfolgreich seit ein paar Tagen am laufen. Da sich aber im Ultraschallsensor Kondenswasser sammelte, habe ich mir einen wasserdichten JSN-SR04T bestellt. Geliefert wurde mir leider ein AJ-SR04M -2.0. Wenn ich diesen 1:1 wie den HC-SR04 anschließe bekomm leider keine Messung. Nun habe ich in Netz gelesen, dass beim AJ-SR04M -2.0. der Trigger-Impuls anstatt 10µs auf 20µs lang sein soll. Nun habe ich mir die Software von Github heruntergeladen und die entsprechende Änderung vorgenommen. Leiden kann ich diese aber nicht fehlerfrei kompilieren. Die IDE und die Bibliotheken sind aktuell. Mit der Fehlerbeschreibung komme ich leider teilweise nicht weiter.
Die zweite Überlegung wäre ein Spannungsteiler 2x 1K-Ohm für das Echosignal zu verwenden.
Hast du Erfahrungen mit dem AJ-SR04M -2.0 ? Soll ich mir lieber nach einem JSN-SR04T besorgen?
Gibt es noch weitere Lösungsvorschläge? Mit welcher IDE-Version bzw. welche Bibliotheken wurden bei Dir verwendet?
Gruß Herbert
Hallo Herbert,
entschuldigung für die späte Antwort. Ich benutzer die Version 2.2.1 oder auch die Version 1.8.19. Mit beiden läßt sich der Code bei mir fehlerfrei kompilieren mit der Einschränkungen der einen Funktion (ESPhttpUpdate.update) beim Ota was ich aber in meiner aktuellen Version schon geändert habe aber noch nicht eingecheckt ist. Soll ich Dir mal eine Version mit 20µs beim Trigger-Impuls bauen oder hat sich das Problem mittlerweile erledigt? Ich nutze seit Jahren nur den HC-SR04 und habe daher nie einen anderen Ultraschall-Sensor getestet. Anscheinend ist es in unserer Zisterne nicht so feucht.
Gruß
Chris
Hallo Chris, ich hatte ja auch den HC-SR04 im Einsatz. Leider bekam ich da nach ein paar Monaten auch wirre Ergebnisse. Ich habe das Projekt dann über ein Jahr erstmal auf Eis gelegt, da der Zugang zur Zisterne schwierig ist (bzw. ich muss den Sensor tief rein hängen, da erstmal 1m Schacht nach unten führt). Ich stieß jedenfalls dann auf den JST-Sensor, den ich einfach runter hängen kann so gesehen und der auch richtig wasserdicht sein soll. Das kam also wie gerufen. Ich bestellte also wie Herbert einen JST-SR04T…ich habe ewig gebraucht um zu verstehen, warum ich KEINE Messergebnisse erhielt obschon alles korrekt verkabelt war. Dann stieß ich auf diesen Kommentar…und siehe da…tatsächlich steht auf dem Sensor AJ-SR04M…ich denke also ich habe genau das gleiche Problem wie Herbert.
Soll ich versuchen auf gut Glück einen SR04T zu bekommen – in der Hoffnung, dass mir dann der richtige geliefert wird? Oder hast du die Möglichkeit das anzupassen? Vielleicht dass man kurzfristig eine individuelle Kompilierung nutzt – und eventuell langfristig gezielt auch die JSN-Sensoren M und T in der Oberfläche auswählen kann?
Wenn das alles zu umständlich ist, versuch ich einfach den T zu kommen.
Danke und viele Grüße!
Hallo Gino,
wo hast Du den Sensor her? Ich würde mir mal einen kaufen um das Problem zu reproduzieren und den Sensor ggf. zu integrieren.
Gruß
Chris
Hallo Chris, in dem Fall via Amazon https://www.amazon.de/dp/B07MKQ7VQF?psc=1&ref=ppx_yo2ov_dt_b_product_details – Habe grade frisch einen neuen rein bekommen…wieder dieser SR04-M…statt des T…:( Interessanterweise hatte ich vorher auch schon einen SR04-T von einem anderen Verkäufer via Amzon gekauft, gleiches Spiel. Angekommen ist dann wieder dieser SR04-M
Kleines Update an dieser Stelle. Der mir gelieferte AJ-SR04M scheint einige interessante Modi zu kennen wie der Abstand berechnet wird. Insgesamt scheint er – wenn ich denn Messwerte angezeigt bekäme – für meine Zwecke dennoch gut geeignet zu sein: https://tutorials.probots.co.in/communicating-with-a-waterproof-ultrasonic-sensor-aj-sr04m-jsn-sr04t/
Hallo Chris,
hier noch der Fehler beim Kompilieren
C:\Users\herbe\Desktop\opencistern-main\zisterne\zisterne.ino: In function ‚void setup()‘:
C:\Users\herbe\Desktop\opencistern-main\zisterne\zisterne.ino:201:14: error: ‚ladekonfig‘ was not declared in this scope ladekonfig();
Hallo Chris,
ich möchte nachfragen, ob du meine Anfrage per Mail auf einen einfachen Sketch schon lesen konntest?
Hallo Chris,
ich bin durch Zufall auf Dein Zisternenprojekt gestoßen und möchte mich für die perfekte Umsetzung bedanken. Ich habe mir für die IBCs und eine Säulenwassertonne jeweils eine Messung mit JSN-SR04T aufgebaut und in IObroker integriert. Läuft alles Bestens.
Was mir noch zu meinem Glück 😉 fehlen würde ist die Nutzung eines DS18B20 (wasserdicht) um somit auch gleich die direkte Temperatur in Wassernähe zu messen. In diesem Zusammenhang wäre auch noch Dein geplanter Ausgang D5 für mich ein Bonus und alles wäre perfekt.
Noch einmal – Vielen Dank
Gruß
Hartmut
Hallo Hartmut,
schön das alles gut läuft.
Der DS steht ja schon länger als Platzhalter in der Konfig aber ich kam noch nicht dazu ihn zu integrieren.
Wenn ich mal Zeit finde ist es oben auf der Liste.
Gruß
Chris
Hallo Chris,
ich bin auf dein Projekt gestoßen, da ich den vl53l1x als Sensor für meine Zisterne benutzen möchte. Nun habe ich leider die Version 1028 (vorher war Tasmota drauf) geflasht und nicht die 1030.
Könntest du das OTA evtl. von Ferne anstoßen?
BG
Kevin
Hallo Kevin,
schick mir die MAC-Adresse deines Sensors per PN dann schubs ich das mal an.
Gruß
Chris