Forum: Mikrocontroller und Digitale Elektronik ESP8266 mehrere Temperaturfühler mit Display


von Jan A. (jan_a415)


Lesenswert?

Hallo,

ich möchte mein erstes ESP8266 Projekt starten.
Es soll ein Kühlschrank mit 2 bis 3 Temperatursensoren überwacht werden.
Ein weiterer Sensor sollte frei in der Küche sein, um je nach Bedarf in 
Wasser oder Teig eingetaucht werden um die Temperatur zu bestimmen.

Auf einem Display sollen die einzelnen Momentanwerte ausgegeben werden.
Zusätzlich sollen die Messwerte online abgelegt und ein Temperatur 
Verlauf dargestellt werden.

Bei dem ESP8266 dachte ich an die NodeMcu Variante und beim Display an 
ein einfach OLED mit I2C Schnittstelle.

Bei den Sensoren bin ich mir nicht sicher. Sie sollten wasserfest sein 
und  einen Temperaturbereich von 0 °C bis 100 °C gut abdecken.

Es ist wahrscheinlich auch besser 4 identische Sensoren zu wählen.
Dachte entweder DS18B20 oder PT100.

Habt ihr Tipps dafür?
Auch wie die Schaltung mit 4 Sensoren realisierbar ist?

Vielen Dank schonmal

von Sebastian W. (wangnick)


Lesenswert?

Jan A. schrieb:
> DS18B20 oder PT100

DS18B20 ist viel einfacher. Alle vier Sensoren können an ein und 
denselben Bus. Gibt es auch in wasserdichter Tauchhülse.

LG, Sebastian

von Rahul D. (rahul)


Lesenswert?

Jan A. schrieb:
> einen Temperaturbereich von 0 °C bis 100 °C gut abdecken.

100°C im Kühlschrank?
Dein Eisfach dürfte auch mal unter 0°C haben...

von Gerald B. (gerald_b)


Lesenswert?

Ich würde die DS18b20 jeder an einen extra Pin legen. Wenn da mal 
irgendwann einer davon das Zeitliche segnet, dann kann es sein, das die 
neue ID sich dazwischen mogelt und sich dann die Reihenfolge der 
Sensoren ändert. Ob man dann nach Jahren noch den alten Quellcode findet 
und die dann aktuellen Libs noch zu einander kompartibel sind... das 
würde ich mir nicht freiwillig antun.
Man könnte auch die ID per Menü zugänglich im EEPROM hinterlegen, ist 
aber wieder Programmieraufwand.
Willst du wirklich OLED nehmen? zum einen isses klein und zum anderen 
haben die Dinger nich das ewige Leben. Bei Dauerbetrieb eher 
unpraktisch. Ich würde da ganz oldschool ein nicht zu kleines LED 
Display nehmen.

von Heinz R. (heijz)


Lesenswert?

nimm ein LCD wie dieses hier:

https://www.amazon.de/ILI9341-Display-Seriell-Arduino-Raspberry/dp/B07YTWRZGR/ref=asc_df_B07YTWRZGR

Zur Programmierung, das gibt es quasi fix fertig, incl. Weboberfläche
Du kannst auch 2 ESP per WLAN vernetzen
:

https://espeasy.readthedocs.io/en/latest/

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Jan A. schrieb:
> Auf einem Display sollen die einzelnen Momentanwerte ausgegeben werden.

Warum reicht nicht eine Anzeige der Momentanwerte auf dem Smartphone?

von Stephan S. (uxdx)


Lesenswert?

Gerald B. schrieb:
> Ich würde die DS18b20 jeder an einen extra Pin legen. Wenn da mal
> irgendwann einer davon das Zeitliche segnet, dann kann es sein, das die
> neue ID sich dazwischen mogelt und sich dann die Reihenfolge der
> Sensoren ändert.

Bringt gar nichts, es geht nicht nach irgendeiner "Reihenfolge", sondern 
die Sensoren werden nach ihrer ID identifiziert, auch dann wenn sie an 
einzelnen Pins hängen.

von Rainer W. (rawi)


Lesenswert?

Stephan S. schrieb:
> Bringt gar nichts, ...

Unsinn.
Wenn jeder Sensor an einem eigenen Pin hängt, kann einem die ID völlig 
egal sein. Der Sensor, der am Pin 1 antwortet, ist der im Gefrierfach, 
der am Pin 2 liegt im Gemüsefach - fertig.

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Man könnte auch alles an I2C hängen: Display und BME280 ...

von Frank G. (frank_g53)



Lesenswert?

Jan A. schrieb:
> Habt ihr Tipps dafür?
> Auch wie die Schaltung mit 4 Sensoren realisierbar ist?

Ich habe das mit einem ESP8266 realisiert.
Auf dem ESP8266 läuft ESP-Home.

Ausschnitt aus dem script:
1
# config sensor ds18b20
2
dallas:
3
  pin: D1
4
5
sensor:
6
  - platform: dallas
7
    address: 0x303caff649008028
8
    name: "Heizung Vorlauf"
9
    
10
  - platform: dallas
11
    address: 0xca3cd4f649df3328
12
    name: "Heizung Ruecklauf"
13
14
  - platform: dallas
15
    address: 0xf93c82f649808d28
16
    name: "Heisswasser EG"
17
    
18
  - platform: dallas
19
    address: 0x7f3cf3f649560928
20
    name: "Heisswasser OG"

OLED bekommst du damit auch leicht installiert:
https://esphome.io/components/display/ssd1306.html?highlight=oled

Verwendete Sensoren: 
https://www.az-delivery.de/products/1m-kabel-ds18b20-ohne-schrumpfschlauch

Läuft seit über einem Jahr zuverlässig zur Erfassung der Vor- und 
Rücklauftemperaturen der Heizung.

Visualisierung läuft über Homeassistant.

: Bearbeitet durch User
von Hardy F. (hflor)


Lesenswert?

Sind das echte Messwerte? Wenn ja ist die Differenz von Vor- und 
Rücklauf viel zu klein.

von Ralf X. (ralf0815)


Lesenswert?

Hardy F. schrieb:
> Sind das echte Messwerte? Wenn ja ist die Differenz von Vor- und
> Rücklauf viel zu klein.

Klar, und die Heisswasserwerte sind auch zu niedrig.. 😁

von Helmut -. (dc3yc)


Lesenswert?

Frank E. schrieb:
> Man könnte auch alles an I2C hängen: Display und BME280 ...

Wie willst du mit einem Luftdruck- und Luftfeuchtesensor die Temperatur 
messen?

von Stephan S. (uxdx)


Lesenswert?

Helmut -. schrieb:
> Wie willst du mit einem Luftdruck- und Luftfeuchtesensor die Temperatur
> messen?

https://www.mouser.com/datasheet/2/783/BST-BME280-DS002-1509607.pdf

Seite 2, 3.Zeile

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Hardy F. schrieb:
> Sind das echte Messwerte? Wenn ja ist die Differenz von Vor- und
> Rücklauf viel zu klein.

Blöde Frage - warum sollen die Werte nicht echt sein. Es kommt immer 
noch auf den Betriebszustand der Anlage an. Die Umwälzpumpe wird wohl 
abgeschaltet sein. Heißwasser bei 17,5 bzw. 18,8°C sollte dir mindestens 
genauso unpassend vorkommen.

: Bearbeitet durch User
von Helmut -. (dc3yc)


Lesenswert?

Stephan S. schrieb:
> https://www.mouser.com/datasheet/2/783/BST-BME280-DS002-1509607.pdf
>
> Seite 2, 3.Zeile

Wieder einer, der sich vom Marketing blenden lässt! Steht sogar ein paar 
Seiten weiter:

The integrated temperature sensor has been optimized for lowest noise 
and highest resolution. Its
output is used for temperature compensation of the pressure and humidity 
sensors and can also be
used for estimation of the ambient temperature.

Der Temperatursensor ist erst mal nur für die Temperaturkompensation von 
Feuchte und Druck da, weil er die Chip-Temperatur misst. Und, wie weiter 
geschrieben, für die ABSCHÄTZUNG der Umgebungstemperatur. Wenn du mit 
3-5° Differenz zufrieden bist, dann kannst du das machen. Für mich ist's 
zu ungenau! Da sind die chinesischen DS18B20-Nachbauten viel besser!

von Bernhard S. (b_spitzer)


Lesenswert?

NodeMCU mit ESP8266 ist zu groß. Da sind viele nicht nutzbare Pins dran. 
Nimm eher den D1 mini (original oder Clone), da sind genau die nutzbaren 
Pins rausgeführt. Wenn das Gerät später schlechten WLAN-Empfang haben 
könnte (Aufstellort, Metallgehäuse etc.) dann nimm besser die Version 
mit Antennenbuchse und externer Antenne.
DS18B20 bekommt man günstig mit Edelstahl-Hülse und Kabel. Optional auch 
gleich mit 3-Poligem XH-Stecker (2.54mm Raster, geht auch auf Pinleiste) 
oder 2,5mm Klinkenstecker. z.B. 
https://de.aliexpress.com/item/1005006069030980.html

Für die Software kann man, wenn es schnell gehen soll, ESP-Home oder 
Tasmota flashen. Tasmota unterstützt per default bis zu 8 DS18B20 
Sensoren pro Pin und 4 Pins für 1-Wire Sensoren.

Das Projekt ist aber auch super als einfacher Einstieg in Arduino 
geeignet. In der Bibliothek "DallasTemperature" gibt es ein Beispiel 
"Multiple" für mehrere Sensoren an einem Pin und das Beispiel 
"Multibus_simple" für mehrere getrennte Busse. In beiden Fällen werden 
die Messwerte erst mal im Terminal ausgegeben.
Erweiterung mit einen Display: entweder ein OLED (das hat aber Probleme 
mit Dauerbetrieb, häufig genutzte Pixel verblassen) oder ein einfaches 
16x2 Character-LCD mit I2C Adapter. Da kann man auch mehrere 
Temperaturen anzeigen lassen.
Danach MQTT oder eine Web-Page und der Kühlschrank ist im Netz ;-)

von Bernhard S. (b_spitzer)


Lesenswert?

Ergänzung... für ein Gerät in der Küche muss auch der WAF stimmen, siehe 
https://de.wikipedia.org/wiki/Woman_acceptance_factor ;-)
Es gibt für recht wenig Geld** bei AZ-Delivery das AZ-Touch Wandgehäuse 
mit 2,8" Farb-Touch-Display. Integrierter DCDC-Wandler, man kann also 
ein beliebiges Netzteil verwenden.
Das Display ist etwas schwieriger für den Einstieg, aber es gibt eine 
ganze Reihe an Beispielen, die man anpassen kann.

** 35€ klingt erst mal viel, aber schaut mal, was ein nacktes 
Wandgehäuse kostet. Dazu gibt es die Basisplatine für den ESP32/D1 Mini 
und das Display. Manchmal sind die Teile auch im Angebot. Wer 
Primus-Kunde bei der Amazone ist, bekommt das (Verkäufer AZ, Versand 
durch die Amazone) zur Zeit sogar günstiger und auch noch ohne 
Versandkosten...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.