NEWS
Wasserstand - kapazitiv (kein Ultraschall)
-
Hi
sorry dann habe ich mich missverständlich ausgedrückt. WLAN ist ausreichend vorhanden, meine Frage ist, ob ich am ESP8266 Board oder am LOLIN32-Board (http://amzn.to/2nI0KKo) zwei Sensoren gleichzeitig anschließen kann (dann spare ich mir Board und Stromanschluss einmal).
Und damit zusammenhängend … wie lang dürfen die Kabel A und B sein ... also wie lang darf das 4adrige Kabel vom Sensor bis zum Board maximal sein?
ODER
"Muss" ich das so machen wie in Variante 2 .... also pro Sensor ein Board?
Variante 1:
~~![](</s><URL url=)http://up.picr.de/32827734ew.jpg" />
Variante 2:
~~![](</s><URL url=)http://up.picr.de/32827737dq.jpg" />
Und die andere Frage betrifft den Sensor … wenn die Zisterne bzw. der Schacht in dem das Wasser ist ... nur einen Druchmesser von 1 Meter hat und 6 Meter tief ist ... muss ich dann beim anbringen des Sensors drauf achten dass er 100% grade ist? oder hab ich da Spielraum? also wie exakt MUSS ich da arbeiten?
Danke~~~~
-
Hi,
ein ESP für zwei Sensoren müßte auch gehen. Hierbei muß man aber den Sketch umschreiben. Es gibt genügend Beispiele was man anpassen könnte.
Dies würde ich aber zum Schluß machen. Versuche erst mit einem Sensor! Zwei Sensoren machen die Sache noch komplizierter. :roll:
Um deine Frage mit der Kabellänge zu beantworten…. Ich würde die Kabel so kurz wie möglich halten. Die ESP´s oberhalb des Wasser-Beh. installieren um die Wlan -Verbindung nicht zu stören. Den Sensor mittig einbauen. Je genauer die Ausrichtung, desto genauer werden die Messergebnisse.
Welche Kabellänge müßtest Du haben? 5m Klingeldraht als Leitung ist da kein Problem. Habe ich selbst so hier zu Hause an meinem Gaszähler so gelöst!
Und bevor Du den Strom dahin legst, Du kannst es vorerst mit minimaler Aufwand auf Funktion testen (Batterie tut es für die Testzwecke auch!).
Erst wenn alles richtig läuft, werden die Kabel fest verlegt.
Das wichtigste aber ist dein Ultraschallsensor. Da habe ich etwas bedenken. Ein JSN-SR04T geht max 6m weit bei einem Abstrahlwinkel vom 75 Grad.
Bei einem Durchmesser von einem Meter bei 6m Tiefe ist es mir schwer zu sagen ob der Sensor plausible Werte liefern kann.
Bei einer Zisterne geht es ohne Probleme, Du hast leider etwas anderes (Schacht, Rohr)?
-
Hi,
Entfernung vom Sensor zur Hauswand wären 6-7 m und zwei Sensoren an einem Board würde 1mal das zweite Board einsparen, und die Stromversorgung vereinfachen wie auch WLAN Empfang usw.
ja das ist richtig, es ist ein Schacht (rund) von einer Drenage-Entwässerung.
Welchen Sensor würdest du ansonsten empfehlen?
Alternativ (aktuelle Messung aber analog!) wäre es 6 Drähte in den Schacht zu hängen und sie auf verschiedenen Höhen abzuisolieren.
Auf dem untersten (im Wasser) ist dann z.B. alle 2min Strom drauf, und ich muss schauen auf welcher "Höhe" also mit welchem weiteren Draht ein "Kurzschluss" entsteht.
Und diese analogen Kurzschlüsse mit verschiedenen Drähten müsste man dann digitalisieren. Wie würde man das denn machen? auch mit einem ESP8266? und wie konkret?
-
Nur so am Rande, es gibt mittlerweile auch Wasserdichte Sensoren, die sicher besser für den Einbau geeignet sind.
Bin auch schon lange am überlegen sowas in meine Zisterne einzubauen.
Du musst nur aufpassen, der Sensor benötigt 5V, der ESP verträgt nur 3,3V. Geht mit einem Spannungsteiler (2 Widerstände) problemlos.
LG
-
Nur so am Rande, es gibt mittlerweile auch Wasserdichte Sensoren, die sicher besser für den Einbau geeignet sind.
Bin auch schon lange am überlegen sowas in meine Zisterne einzubauen.
Du musst nur aufpassen, der Sensor benötigt 5V, der ESP verträgt nur 3,3V. Geht mit einem Spannungsteiler (2 Widerstände) problemlos.
LG `
welchen Sensor meinst Du genau? Den passenden Sensor haben wir nicht gefunden. Und ein JSN-SR04T was hier im Thread erwähnt ist läuft mit 3-5.5V DC. Und es ist auch laut Beschreibung wasserdicht…
-
@knopers1: Asche üner mei Haupt - hab ich mal wieder überlesen
Ja den hab ich eh gemeint
Ich hab trotzdem noch was diesbezüglich gefunden:
https://www.youtube.com/watch?v=N42Y-QOqwtA
Offenbar gibt es unterschiedliche Varianten.
Funktioniert deiner (JSN-SR04T) also direkt mit dem ESP ohne 5V Versorgung? In den Beschreibungen auf Amazon und Aliexpress hab ich überall nur 5V gefunden.
Hast du das Teil auch mal mit Tasmota verwendet? In den neueren Versionen wird da nämlich auch der HC-SR04 unterstütz - ob der aber kompatibel zum JSN-SR04T ist weiß ich aber nicht
Tschuldigung wenn ich den Beitrag unnötig verkompliziert habe.
LG Schubi
-
oder den hier an einen Homematic 0-10V Aktor:
https://shop.loxone.com/deat/ultraschallsensor.html
etwas teurer, aber dafür fix und fertig inkl. Messumformer …
Beste Grüße
-
So inzwischen alles vorbereitet um es einzubauen.
Das Kabel zwischen Sensor und NodeMCU kann recht lang sein, das hat beim Testen wunderbar geklappt, von daher werden die Sensoren vor Ort eingebaut, und dann jeweils ein 4-adriges Kabel bis zur "zentralen" NodeMCU gelegt.
Derzeit versuche ich den Sensor an den ioBroker anzuschließen per MQTT aber das will noch nicht wirklich:
Hier die Passage aus dem Code:
Serial.print("Attempting MQTT connection..."); // Create a random client ID String clientId = "ESP8266ClientDistanzmessung"; //clientId += String(random(0xffff), HEX); // Attempt to connect if (client.connect(clientId.c_str(),userName,passWord)) //if (client.connect(clientId.c_str())) { Serial.println("connected"); //once connected to MQTT broker, subscribe command if any client.subscribe("OsoyooCommand"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); // Wait 6 seconds before retrying delay(6000); }
Bekomme immer den Fehlerstatus "rc=-2" keine Ahnung was das bedeutet. Der mqtt-Broker/Server auf dem ioBroker läuft.
Weiteres "Projekt" wird dann die Fähigkeit den NodeMCU über html zu updaten, damit ich nicht mehr mit dem Laptop hin muss.
P.S. eine Frage noch … aktuell ist der HC-SR04 an D1/D2 (Trigger&Echo) angeschlossen, GND-GND und Vcc<->Vin? (letzteres verstehe ich nicht, dachte ich kann Vcc(Sensor) an 3V am NodeMCU anschließen?
-
Bei Vin liegt, wenn du die NodeMCU via USB mit Spannung versorgst, normalerweise keine Spannung an.
Nach den Meldungen in diesem Post müdste der Sensor ja eh mit 3.3V funktionieren!
Passieren kann da nichts! -Außer das es nicht geht.
An 5V darfst du das Teil nicht anschließen, das wird die NodeMCU nicht aushalten! - nur mit Spannungsteiler!
-
Bezüglich der Verbindung mit MQTT - ich hab folgenden Code für eine Drehzahlmessung verwendet.
Bin gerade unterwegs - das Editieren ist etwa mühsam, deshalb der gesamte Code.
Die Bemerkung, dass der Broker nicht publishen darf - war nur bei mir, wegen der zeitkritischen Aufgabe erforderlich!
Ich verwende auch nicht den Standardport!
/ #include <arduino.h>#include <esp8266wifi.h>#include <pubsubclient.h>void callback(char* topic, byte* payload, unsigned int length); WiFiClient espClient; PubSubClient client("192.168.0.221", 1888, callback, espClient); volatile unsigned long RPM_T2, RPM_Count; unsigned long RPM , RPM_T1; unsigned long i; //char* message_buff; void callback(char* topic, byte* payload, unsigned int length) { // handle message arrived } //ioBroker darf keine States senden!!!! WWWIIIICCCCHHHTTTTIIIIGGG !!!!!!!! void unterbrechung () { RPM_Count++; RPM_T2 = millis(); // Serial.println("Interrupt"); }; void setup() { pinMode(14, INPUT_PULLUP); RPM_T1 = 0; RPM_T2 = 0; RPM_Count = 0; attachInterrupt ( digitalPinToInterrupt (14), unterbrechung, FALLING); Serial.begin(9600); WiFi.begin("Schubi", "XXX"); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.print("Connected, IP address: "); Serial.println(WiFi.localIP()); Serial.println("Start erfolgreich!"); if (client.connect("Engine_1")) { Serial.println("Connected to MQTT broker");} } void loop() { if (RPM_T2 > RPM_T1) { RPM = (unsigned)(long)(60000 * RPM_Count / (RPM_T2 - RPM_T1)); RPM_T1 = RPM_T2; RPM_Count = 0; } else { RPM = 0; } noInterrupts(); client.publish("Engine_1/Drehzahl/", String(RPM).c_str()); interrupts(); //i++; //Serial.print("Drehzahl= "); //Serial.println(RPM); delay(500); }</pubsubclient.h></esp8266wifi.h></arduino.h>