NEWS
Einbindung eines Temperatursensors mit ESP 8266
-
vom Händler des Sensors kam erwartungsgemäß nichts mehr, zum Ausgleich ist aber der von Dir empfohlene Programmer heute eingetroffen.
Also, unter strenger Beachtung der 3,3V Versorgung den Programmer mit dem WLAN Modul verbunden und Rx und Tx kreuzweise verbunden wie es sich gehört.
Dann den Treiber für den Programmer installiert. klappte auch hervorragend, Port COM 3 wird benutzt.
Dann das online Programmiertool gestartet, den COM 3 ausgewählt und mal testweise die Standardauswahl Tasmota (englisch) selektiert. Dann kam die Meldung: „Fehler beim initialisieren“ verbunden mit der Empfehlung, beim Starten den Reset Button zu drücken.
Der sitzt aber auf dem Temperatursensor, den ich aber wegen der Programmierkabelage nicht aufstecken kann.
Das WLAN Modul hat nämlich keinen Reset Button.Was habe ich versucht:
Verschiedene Tasmota Images
Testweise Rx und Tx vertauscht
Aus dem Menu des Flashers heraus das Modul resettet
Flashen mit und ohne vorherigem LöschenUm sicherzugehen, dass das Modul nicht beschädigt wurde, habe ich es wie vorher mit dem Temperaturmodul mittels 5V von dem Programmer in Betrieb genommen.
Der AP spannt wie weiter vorne beschrieben sein eigenes WLAN auf, an dem ich mich ja nicht anmelden kann.
Also nix kaputt gegangen, alles ist wie vorher.Was nun?
Das einzige, was mir einfällt, ist den RST Pin des WLAN Moduls beim Einschalten auf Masse zu legen.
Wobei ich nicht weiß, ob die Verbindung während des Flashens bestehen bleiben kann.Gibt es dazu andere Meinungen, Erfahrungen oder bessere Ideen?
Ich würde mich über Tipps freuen.
Gruß
-
@opöl said in Einbindung eines Temperatursensors mit ESP 8266:
Was nun?
Das einzige, was mir einfällt, ist den RST Pin des WLAN Moduls beim Einschalten auf Masse zu legen.Hi,völlig normal und man muß bei den ESPs (nicht nur beim ESP01) den Chip in den Flashmodus bringen. Dazu gilt es beim Booten den GPIO0 auf GND zu haben. Wichtig ist der Zeitpunkt beim Booten, wenn Du kurz danach wieder die Verbindung GPIO0 und GND löst ist das fürs Flashen kein Problem.
Um einen EPS Chip zu booten, kannst Du entweder kurz den RST Pin auf GND ziehen und dann eben gleichzeitig GPIO0 mit GND verbunden haben oder du trennst einfach kurz die +3,3V/ Spannungsversorgung um das Booten auszulösen.
Der Rest klingt sehr gut und genau nachdem Verhalten was ich erwarten würde. Nur noch den Chip in den Flashmodus bringen.
RX/TX vom Flasher zum Chip kreuzen auch genau richtig.
Bzgl. des Webflashers: Die Reihenfolge: GPIO auf GND legen, dann Neubooten (Chip ist im Flashmodus) und dann auf Connect im Flasher klicken (Erase in dem Fall würde ich auch anhaken um alle Reste zu löschen).
Nach erfolgtem Flash den Chip ohne GPIO zu GND Verbindung neu booten und er ist fertig.Hier ein Beispiel (Abschnitt: "ESP01 in den Flashmodus bringen") wie "praktisch" das mit einem Flasher für den ESP01 funktioniert (dürfte bei Dir einfacher gehn):
https://fremdgesteuert.net/esp-01-esp8266-mit-einem-usb-programmer-flashen/ -
naja, Du hattest mal geschrieben, das das mit dem Programmer alles automatisch geht.
"Zum Flashen kann ich dir nur den Online Flasher empfehlen. Super Easy. Einen Browser verwenden der diese serielle Kommunikation unterstützt wie Chrome. Version/Sprache auswählen, dann verbinden und der Rest läuft alleine: https://tasmota.github.io/install/"Daher habe ich das mit dem Reset beim Booten für erledigt gehalten. Bisher hieß Reset für mich auch, den RST Pin auf Ground zu ziehen, der entscheidende Hinweis war, den GPIO0 auf GND zu legen und erst danach 3,3 V anzulegen. Dann war alles ganz einfach....
Tasmota ist also auf den beiden ESP 8266 drauf, das Einbinden ins WLAN ging wie gewohnt problemlos. MQTT läuft auch und iobroker hat die Datenpunkte angelegt.Aaaber, die Module zeigen weder im Web Interface noch im iobroker eine Temperatur an.
Nach der Anleitung: https://tasmota.github.io/docs/DS18x20/#wiring
sollte GPIO0 auch für den DS18B20 in der Konfig eingetragen werden. Das klappt bisher aber weder mit dem Standard Tasmota Image noch mit dem Sensors Image.
Ich könnte mir vorstellen, dass noch das passende Template fehlt:
Hat da vielleicht jemand eine Idee zu?
Gruß
-
Ich hab auch Widerstände im Konstrukt.
Musste nicht löten, lässt sich tatsächlich auch über
Wagoklemmen regeln.Hier habe ich die Verkabelung her welche ich mit Wagoklemmen umgesetzt habe
https://www.youtube.com/watch?v=jQrcybWapuA -
ich habe mich leider erfolglos an Deinem Setup orientiert.
Ich habe den ESP 8266, der hat ja nur GPIO 0-3 auf Pins geführt. Der GPIO0 sollte es nach meinem Kenntnisstand eigentlich bei mir sein. Mein Modul hat ja auch nur einen DS18B20, der fest verdrahtet ist. Hast Du denn das gleiche Modul?
Und hast Du auch das Tasmota Image „Sensors“ im Einsatz oder ein anderes?Gruß
-
Das normale Tasmota. Da gibt es ja meines Wissens das Template für die Sensoren.
Ich habe auch ein 8266.
Auf jedenfall wird in jedem Video und in jedem Schema mit Widerständen gearbeitet . -
@opöl said in Einbindung eines Temperatursensors mit ESP 8266:
naja, Du hattest mal geschrieben, das das mit dem Programmer alles automatisch geht...
Dann war alles ganz einfach....Naja, Notwendigkeiten auf Hardwarebasis werden üblicherweise nicht durch eine Software substituiert. Aber schön, dass es dann sofort geklappt hat.
Hat da vielleicht jemand eine Idee zu?
Ich vermute nicht, dass es an der Version von Tasmota liegt. Sobald DS18B20 auswählbar ist, sind die notwendigen Codeteile aktiv und sollten funktionieren.
Dass ein Widerstand (PullUp) fehlt, würde ich auch erst einmal nicht von ausgehen, da genau für diesen Zweck das Aufsteckmodul entworfen worden ist. Traut man dem Modul nicht würde ich einmal Nachverfolgen ggf Durchmessen was die Widerstände R1, R2 oder R5 für eine Position in der Schaltung und Werte haben. Müssen wir aber anfangen fertige Module aus China zu debuggen, dann haben wir noch andere Probleme....
Da du nur einen DS18B20 am ESP01 betreibst dürfte der Unterschied eines ESP01 zum ESP01S interessant sein. Der Letztere besitzt interne PullUp-Widerstände. Unter Tasmota kannst Du sie mit
setzen.Ich habe keinen DS18B20 an Tasmota laufen und kann Dir nicht sagen wie informativ Tasmota dbzgl. ist. Erste Anlaufstelle wäre für mich die Konsole und dort würde ich innerhalb der Lesefrequenz eine Meldung erwarten. Gibt es dort etwas bzgl. DS18B20? Hieraus könnte man etwas schließen.
Da das flashen so einfach war. Würde ich ggf zum Test mal ESPeasy flashen:
https://td-er.nl/ESPEasy/Passwort des Acces Points: configesp
Dort unter Devices einen DS18B20 anlegen und dabei im Menü gibt es eine Auswahl zur Adresse des DS18B20.
Darauf möchte ich hinaus. Siehst Du hier eine DS18B20 Adresse, dann wird Dein DS18B20 gefunden und er lebt schon mal grob und es kann weiter gehn.
-
-
Oja, defintiv GPIO2
Der externe Pullup ist ebenso bereits vorhanden (R5 =4,7kOhm)
Siehe Anhang:ESP-01S DS18B20 v1.0 sch.pdf
-
Hallo zusammen,
ich kann Vollzug melden. Mit diesen Einstellungen:
Kommt dann so etwas heraus:
Hier nochmal separat der komplette Template String (Menu: Configure Other):
{"NAME":"DS18B20","GPIO":[1,1,1312,1,1,1,1,1,1,1,1,1,1,1],"FLAG":0,"BASE":18}Und die Ausgabe auf der Konsole:
15:51:53.290 MQT: tele/tasmota_6F4C36/SENSOR = {"Time":"2024-07-22T15:51:53","DS18B20":{"Id":"3C01B556A05B","Temperature":30.2},"TempUnit":"C"}Die 5V für die Versorgung des Moduls habe ich temporär von dem Programmer genommen. Später kommt da eine gescheite Versorgung dran.
Der entscheidende Punkt war der GPIO2 wie in dem Beitrag von ralla66 beschrieben. Leider hatte ich den Beitrag in seinem Link (noch) nicht gefunden. Keine Ahnung, wo ich vorher Richtung GPIO0 abgebogen bin...
Ich hatte zwar alle GPIOs durchprobiert, muss aber jetzt sagen, es ist nicht zielführend, mehrere Pins blind gleichzeitig zu konfigurieren und darauf zu hoffen, dass der richtige schon dabei sein wird. Bei mir hat es halt nicht funktioniert.
Vielen Dank an alle, die hier so geduldig geholfen haben, insbesondere @ralla66 und @Dieter_P , mit deren Unterstützung ich es letztlich hinbekommen habe.
Wie schon weiter vorne angekündigt, werde ich das Ganze mal für die Nachwelt kompakt zusammenfassen, damit der nächste, der sich dieses Modul zulegt es ein wenig leichter hat.
(Und als Feedback für die Leute, die hier in diesem Forum ihr Wissen anderen täglich kostenlos zur Verfügung stellen.)Beste Grüße und einen schönen Abend noch
-
Hallo @Ralla66 , @Dieter_P , @All,
erst einmal hoffe ich, Ihr hattet alle erholsame Feiertage und ein schönes Weihnachtsfest.
Nachdem der Temperatursensor inzwischen ein halbes Jahr (immer noch provisorisch mit zwei Powerbanks, die im Wechsel eingesetzt werden) in Betrieb war muss ich noch einmal auf das Thema zurückkommen.
Am 2. Weihnachtstag hat der Sensor, der in einem Gehäuse, verbunden mit zwei externen DS18B20, die in Gefrier- und im Kühlteil untergebracht sind, seinen Dienst verrichtet hat, seine Funktion eingestellt.
Im Rahmen der Fehlersuche habe ich festgestellt, dass der Sensor keinen HW Defekt hat, sondern sich aus dem WLAN verabschiedet und wieder seinen Tasmota AP aufgespannt hat. Mit dem konnte ich mich verbinden und den Sensor wieder ins heimische WLAN einbinden aber nur um dann festzustellen, dass der Sensor seine gesamte Konfiguration vergessen hat, also WLAN, MQTT, Logging, Template und was es sonst noch so gibt.
Nach der Wiederherstellung der Konfiguration lief der Sensor dann wieder einen Tag, bevor das gleiche wieder passierte.
Die Temperatur des Moduls kann wohl eher nach 1/2 Jahr als Ursache ausgeschlossen werden. Wackler in der Energieversorgung kann ich wegen der provisorischen Verkabelung nicht gänzlich ausschließen, die sollten aber nach meinem Verständnis nur einen Reboot auslösen.
Kennt jemand das Phänomen und hat vielleicht jemand einen Lösungsansatz?
Vielen Dank und einen guten Rutsch
-
@opöl sagte in Einbindung eines Temperatursensors mit ESP 8266:
Wackler in der Energieversorgung kann ich wegen der provisorischen Verkabelung nicht gänzlich ausschließen, die sollten aber nach meinem Verständnis nur einen Reboot auslösen
Wenn Du das nicht gesondert konfiguriert hast, können solche "Wackler" nicht nur einen Reboot, sondern auch einen kompletten Reset auslösen. Nennt sich "Fast power cycle reset".
Lässt sich aber deaktivieren mitSetOption65 1
-
Danke, ich habe die Option mal gesetzt und werde das beobachten und mich zurückmelden.
Danke und Gruß