ESP WROOM 32 in Verbindung mit Sensor DS1820b

Was mir an deinem Code auffällt ist, dass er inzwischen so umfangreich und mit vielen unnötigen Zeilen gefüllt ist, die du für den Anfang gar nicht benötigst. Natürlich kann man das alles so machen, aber es erhöht das Fehlerpotential. Mein Vorschlag: Für die ersten Test nur die nötigsten Befehle. Wenn alles funktioniert, dann kannst du verfeinern.

Dann ist in deinem Log folgendes zu lesen:

Bist du dir ganz sicher, dass du den Sensor am richtigen Pin angeschlossen hast?

Mehr ist nicht drin als dieser Eintrag. Das andere ist “Validate” also die Überprüfung und nicht die YAML Datei.
Ja ich habe den richtigen PIN angeschlossen.

Ich bin mir nicht ganz sicher, ob deine Schreibweise zum Pin richtig ist. In der Doku von ESPHome steht es so:

one_wire:
  - platform: gpio
    pin: GPIOXX

Also nicht nur eine einfache Zahl.

Hab ich auch schon probiert. Mit Bezeichnung GPIO vorne dran und auch ohne.

Dann bin ich von meiner Seite auch ratlos. Einen anderen ESP32 oder einen anderen Sensor hast du sicher schon probiert, oder?

Wenn ich mich recht erinnere, dann hatte ich bei einem ähnlichen Projekt auch meine Probleme mit einem ESP32. Anfangs lief es, dann nach ein paar Tagen nicht mehr. Schlussendlich habe ich einfach mal einen D1 Mini probiert. Damit läuft es seit über einem Jahr problemlos. Vielleicht ist das für dich auch eine Alternative.

Ich hab mir jetzt 5x den Wemos D1 Mini bei AliExpress für 0,41 Cent pro Stück bestellt.
Hab keine Nerven mehr.

Die Aliexpress Adresse hätte ich gerne. :slightly_smiling_face: Ich hab noch nie einen D1 Mini unter 1,70 Euro bekommen. Ich hoffe, du hast nicht nur irgendein Versorgungskabel etc. angeklickt.

Ich weiss nicht was ich gemacht hab, aber der Sensor geht nun plötzlich.

[19:52:50][C][logger:185]: Logger:
[19:52:50][C][logger:186]: Level: DEBUG
[19:52:50][C][logger:188]: Log Baud Rate: 115200
[19:52:50][C][logger:189]: Hardware UART: UART0
[19:52:50][C][gpio.one_wire:020]: GPIO 1-wire bus:
[19:52:50][C][gpio.one_wire:021]: Pin: GPIO4
[19:52:50][C][gpio.one_wire:080]: Found devices:
[19:52:50][C][gpio.one_wire:082]: 0x7f3ce1d44335c528 (DS18B20)
[19:52:50][C][mdns:116]: mDNS:
[19:52:50][C][mdns:117]: Hostname: esphome-web-7b23cc
[19:52:51][C][esphome.ota:073]: Over-The-Air updates:
[19:52:51][C][esphome.ota:074]: Address: esphome-web-7b23cc.local:3232
[19:52:51][C][esphome.ota:075]: Version: 2
[19:52:51][C][safe_mode:018]: Safe Mode:
[19:52:51][C][safe_mode:019]: Boot considered successful after 60 seconds
[19:52:51][C][safe_mode:021]: Invoke after 10 boot attempts
[19:52:51][C][safe_mode:022]: Remain in safe mode for 300 seconds
[19:52:51][C][api:140]: API Server:
[19:52:51][C][api:141]: Address: esphome-web-7b23cc.local:6053
[19:52:51][C][api:145]: Using noise encryption: NO
[19:52:52][D][api:103]: Accepted 192.168.178.22
[19:52:52][D][api.connection:1446]: Home Assistant 2025.1.3 (192.168.178.22): Connected successfully

1 „Gefällt mir“

Hast ihn wie vorher geflasht ?
Yaml würde mich interresieren
Hatte vor deinem post mit der ali bestellung bisschen was zu alternativer flash methode vorbereitet, aber dann erst mal liegen lassen…
Grüße
Rolo

Oder shelly oder oder oder
Oder gleich knx…
Fahradkette usw…
In der Vergangenheit gab es wohl immer wieder mal Probleme mit diesem Sensor und esp32 - siehe google

Keine Ahnung woran es lag und er nun plötzlich geht. Habe jetzt an einem GPIO Port 4 Sensoren angeschlossen. Heizung Vor & Rücklauf und Fußboden Vor & Rücklauf. Bei Thingiverse gibt es coole DS1820b Rohrhalterungen für jeden Durchmesser um die Sensoren zu montieren.

1 „Gefällt mir“

Die sind nach meinem Dafürhalten Unsinn. Sie sind aus Kunststoff mit relativ geringer Dichte und leiten Wärme entsprechend schlecht und sie tragen unnötig dick auf, so dass man an isolierten Rohren die Isolierung nur noch schwer drüber geschoben bekommt. Der Sensor hat dann nur geringen Kontakt zum Rohr und die Werte werden durch die Umgebungstemperatur um Rohr und Sensor herum verfälscht sein.

Man muss meines Erachtens auch keine Wärmeleitpads o.ä. kaufen, sondern kann den Sensor an das Rohr legen und umwickelt das dann mit etwas Alufolie. Anschließend die Folie an den Sensor anpressen - besonders an die Kerbe pressen, die sich zwischen den beiden Rohren ergibt. Dann wieder Isolierung drüber schieben. Kostet praktisch nichts und Aluminium hat eine exzellente Wärmeleitung, weshalb es typischerweise für Kühlkörper zum Einsatz kommt.

1 „Gefällt mir“

Ich hab die Sensoren direkt an die Rohre mit einem Kabelbinder befestigt. Dort drüber hab ich mir eine normale Heizungsrohr Isolierung gemacht.

Ich bin auch am verrückt werden. Hast du jetzt externe Pullup- Widerstände dran?

Ja. Ich musste einen 4,7kOhm Widerstand dazwischen machen. Habe 4 Sensoren an einem Widerstand.

1 „Gefällt mir“

Hallo Ich sehe gerade es hat sich schon jemand damit beschäftig. Ich habe mir einen ESP32-wroom sowie ein Wasserdrucksensor 0-5 Bar bei 5V bestellt, dieser hat drei Kable dran Daten, Plus und Ground.
Ich würde diesen gerne über den 5 V Ausgang an den ESP32 anschliessen, da dieser das ja kann.
Meine Frage wäre, benötige ich noch wiederstände für den Dateneingang und den ground ?
ich habe glesen das die eingänge nur bis 3,3 V können, brauche ich dann für die Datenleitung 10K und Ground 20K wiederstand oder nicht ?
schon mal vielen Dank
Jörg

Durch einen Fehler betreibe ich einen ESP8266 auf einem Entwicklerboard (D1 Mini) seit Monaten mit 5V an den GPIOs. Ein mit 5V betriebener PCF8574 hat die Signalspannung an den GPIOs auf 5 V hochgezogen. Bis heute hat er es überlebt aber ich habe ein ungutes Gefühl dabei. Die Datenblätter sagen klar, dass man die GPIOs nur mit 3,3V betreiben soll. Bei der nächsten Überarbeitung werde ich einen Levelshifter einbauen.

Ich würde dir davon abraten 5V an die GPIOs deines (teureren) ESP32 anzulegen.

Zusätzlich muss der Stromverbrauch der angeschlossenen Komponenten berücksichtigt werden. Soweit ich mich erinnern kann, verträgt ein GPIO Pin eines ESP32 kurzzeitig maximal 40 mA Strom (bei einer Wasserleitung wäre die Spannung der Druck und der Strom die Wassermenge) und sollte langfristig unter 20mA betrieben werden. Aus allen GPIO Pins zusammen darf man 120mA ziehen.

Die 5V Versorgungsleitung des ESP32 verträgt ebenfalls nur eine begrenzte Strommenge. Du solltest nachlesen wie viel Strom dein Sensor maximal zieht.

Ich verwende bisher meist D1 Mini Boards und versorge viele durch Anschließen von 5V am 5V Versorgungspin (habe gehört das der ESP32 dort lieber eine höhere Spannung, so 6V haben möchte, meine laufen aber auch mit 5V an diesem PIN). Die Versorgung größerer 5V Verbraucher klemme ich immer parallel an diese Versorgungsleitung an, so dass der benötigte Strom nicht über das ESP32/ESP8266-Board läuft, sondern direkt vom Netzteil kommt. Bei einer Versorgung über USB würde der Strom über die Reglungsbauteile des ESP-Boards laufen.

Es gibt Elektronikkomponenten, die 5V Versorgungsspannung benötigen aber mit 3,3V Datenleitungen an den GPIOs arbeiten. Andere ziehen die Spannung an den Datenleitungen ebenfalls auf 5V hoch. Informationen darüber findet man in den Datenblättern oder bei der Beschreibung im Shop.

Wenn bei dem Sensor nicht dabei steht „benötigt 5V Versorgung, kann aber mit 3,3V an den Datenleitungen betrieben werden“, dann würde ich einen Levelshifter oder Spannungsteiler verwenden.

Die hier in diesem Artikel behandelten DS1820 Sensoren ziehen irgendwo um 1mA Strom, da braucht man sich um die Strombelastung keine Sorgen zu machen…

schon mal vielen dank für die Antwort.
Mein Sensor habe ich leider noch nicht, ich habe mir einen von “SEAFRONT” gekauft, habe aber eben in den Kommentaren gelesen das viele diesen ohne Einschränkungen auch mit 3,3 V betreiben an einen ESP32 oder D1 betreiben. Das würde ja bedeuten ich benötige keine Widerstände sondern schliesse die die drei Ports an 3,3V, Ground und in Datenport an oder ?
müsste dann nur die Berechnung auf 3,3V machen.
Ich habe leider noch nicht so viel mit den ESP gemacht und weiss damit auch nicht was ich benötige wenn ich keinen Anschlussplan sehe ( also Wiederstände andere Spannungsversorgungs usw… )

Am Dienstag soll der Sensor kommen, da ich erst wieder Freitag zurückbin schaue ich das ich einen Probeaufbau bis Samstag hinbekomme.

Es stellt sich auch die Frage, was für ein Signal der Sensor liefert. Wenn es ein analoges Signal ist, dann kann der ESP nur 0 bis 3,3V messen (siehe AD-Wandler von WeMos D1 mini nutzen [lazyzero.de] was zu tun ist). Es müssen dafür spezielle PINs am ESP verwendet werden.
Alternativ könntest du zum Beispiel einen Analog-Digital-Wandler wie z.B. ADS1115 (gibt es für 1,79€ das Stück bei Aliexpress) an den ESP anschließen und darüber die Spannung (genauer) messen.

Liefert der Sensor digitale Signale (gewünschter Druck erreicht=1, sonst 0), dann siehe hier: https://www.youtube.com/watch?v=OIbofbFCcv4

Analoge Sensoren, siehe: https://www.youtube.com/watch?v=WH-Pv2e6ZsI

1 „Gefällt mir“

Ich würde sagen meine ist ein analoger Sensor, denn er gibt an den Datenpunkt die Spannung raus und diese ist dann der Barwert also 0V ist 0 bar und 3,3V wäre dann 5Bar.
Da ich diesen ja wohl doch mit 3,3 V am ESP betreiben kann würde ich ja auch kein Widerstand benötigen.
Also wäre doch mein Anschluss
Rot Port am ESP 3,3V
Schwarz am ESP ground
Daten am ESP GPIO 34