Arduino Lektion 58: ESP-01S Temperatur & Luftfeuchtigkeitssensor Shield

Das ESP-01S DHT11 Sensormodul ist in Verbindung mit einem ESP-01 (ESP8266) eine sehr kleine Lösung zum messen der Temperatur und der Luftfeuchtigkeit.

DHT11 Shield für den ESP-01S
DHT11 Shield für den ESP-01S

Leider hat der DHT11 nicht die beste Genauigkeit, jedoch reicht diese für den „Hausgebrauch“ völlig aus.

DHT11 Shield mit montiertem ESP-01S
DHT11 Shield mit montiertem ESP-01S

Bezug

Das Modul kann über ebay.de oder amazon.de für ca. 3,5€ bezogen werden. Obwohl hier ebay.de die besseren Preise hat, ist die Versandzeit bei amazon.de deutlich kürzer. Daher muss man abwägen was einem besser passt.

Technische Daten des ESP-01S DHT11 Shields

  • Betriebsspannung 3,7V bis 12V
  • Messbereich
    • Luftfeuchtigkeit 20 % – 90 %
    • Temperatur 0 °C bis 50 °C
  • Messgenauigkeit
    • Luftfeuchtigkeit ± 5 %
    • Temperatur ± 2 °C

Montage des ESP-01 Moduls

Auf dem DHT11 Modul befindet sich ein kleiner, weißer Pfeil dieser gibt die Richtung an wie man das ESP-01S Modul aufsteckt.

Pfeil zur richtigen Montage des ESP-01S auf dem DHT11 Shield
Pfeil zur richtigen Montage des ESP-01S auf dem DHT11 Shield

Wenn beide Module verbunden sind wird die Stromzufuhr angeschlossen. Ich wähle hier ein Universal Netzteil welches man für ca. 8€ auf ebay.de finden kann.

Bei Netzteilen achte ich besonders darauf das diese aus Deutschland kommen, denn somit hat man die Gewissheit das diese den Mindestnormen für elektrische Geräte entsprechen.

Da die Universalnetzteile jeweils über Steckeradapter verfügen muss man sich noch einen zusätzlichen Adapter besorgen damit man + & – vom Stecker bequem abgreifen kann.

Hohlstecker auf Schraubadapter
Hohlstecker auf Schraubadapter

Diesen Adapter kann man für ca. 4€ auf ebay.de erwerben.

Programmieren des ESP-01

Um den ESP-01 zu programmieren benötigt man einen Adapter, bedingt durch den Aufbau der Pins am ESP-01 kann man diesen nicht auf ein Steckbrett stecken und von dort mit Breadboardkabeln mit einem FTDI Modul verbinden.

Adapter zum Programmieren

Es gibt 2 verschiedene Adapter für den ESP-01 einmal zum zusammenlöten und für das Steckbrett (hier wird zusätzlich ein FTDI Modul benötigt) und einmal komplett & bequem als USB Adapter.

ESP-01 Adapter und Shields
ESP-01 Adapter und Shields

Der Adapter (oben im Bild) wird leider ohne die benötige Brücke ausgeliefert. Warum dieses ist, erschließt sich mir nicht, da diese Brücke für das Programmieren des ESP-01 benötigt wird.

Erzeugen der Brücke 

Also erzeugen wir uns zuerst die Brücke damit wir den ESP-01S programmieren können.

Wir benötigen dazu:

  • einen Lötkolben,
  • Lötzinn,
  • eine Zange,
  • eine Pinzette
  • zwei Lötstifte im Rastermaß 2,54mm
  • einen Jumper

Den Jumper habe ich mir von einem alten Motherboard genommen, hier lohnt es sich immer ein kleines Lager mit alten Geräten anzulegen. 

Die Lötstifte werden an der Unterseite des USB Programmers wie im Bild zusehen angelötet.

Erzeugen einer Brücke am USB Programmer für den ESP01S
Erzeugen einer Brücke am USB Programmer für den ESP01S

Dabei muss man aufpassen das, man keine Brücke zu anderen Pins erzeugt.

Wenn dieses erfolgt ist, brauchen wir nurnoch den Jumper auf die Lötstifte stecken und schon haben wir unseren USB Programmer fertig.

Jumper auf der Brücke
Jumper auf der Brücke

Wenn wir den ESP01S einmal nur über USB betreiben möchten so entfernen wir den Jumper und wenn der ESP01S programmiert werden soll wird dieser wieder drauf gesteckt.

Einrichten der Arduino IDE

Soweit noch nicht geschehen muss die ESP Bibliothek der Arduino IDE hinzugefügt werden. Diese Bibliothek bringt verschiedene Features für die ESP8266 Microcontroller mit.

Installieren der ESP Bibliothek

Die ESP Bibliothek wird über den Boardverwalter installiert, um diesen zu öffnen navigieren wir über das Menü „Werkzeuge“ > „Board: xyz“ > „Boardverwalter…“. Im nun geöffneten Dialog suchen wir nach dem Begriff „esp“. Hier wählen wir den Eintrag „esp8266 by ESP826 Community“ und wählen aus der Auswahlliste (1) die Version 2.4.1 (oder neuer) (2) danach nurnoch auf die Schaltfläche „Installieren“ (3) klicken.

ESP8266 Bibliothek
ESP8266 Bibliothek

Nachdem die Bibliothek installiert wurde kann der Boardverwalter über die Schaltfläche „Schließen“ geschlossen werden.

Einstellungen für den ESP01S setzen

Den ESP-01S gibt es in verschiedene Ausprägungen, d.h. ggf. muss du in den Einstellungen etwas anderes setzen, für den ESP-01S welchen ich über ebay.de bezogen habe muss ich folgende Werte setzen.

  • Board  – Generic ESP8266 Module
  • Flash Mode – QIO
  • Flash Size – 1M (no SPIFFS)
  • Debug port – Disabled
  • Debug Level – Keine
  • IwIP Variant – v2 Lower Memory
  • Reset Method – ck
  • Crystal Frequency – 26 MHz
  • VTables – Flash
  • Flash Frequency – 40 MHz
  • CPU Frequency – 80 MHz
  • Builtin Led – 2
  • Upload Speed – 115200
  • Erase Flash – Only Sketch

Hier hat mich ein Arbeitskollege Florian W. unterstützt welchen ich für den Einsatz besonders danken möchte.

Der Port muss individuell eingestellt werden, diesen siehst du erst wenn der ESP-01S über einen Programmer mit dem PC Verbunden ist. 

Upload eines Sketches

Wenn nun der ESP-01S mit einem Programmer am PC angeschlossen ist und die oben genannten Einstellungen gesetzt wurden dann kann ein erster Sketch hochgeladen werden. Da der serielle Port des EPS-01S belegt ist, entfällt das „Hello World!“ und wir wollen einfach die „Buildin Led“ zum blinken bringen.

Bei meinem ESP-01S liegt die Buildin Led auf dem Port 2 hier gibt es Module welche einen anderen verwenden, wenn also nix blinken sollte, einfach mal einen anderen Wert für Buildin Led setzen.

Quellcode

Video

ESP-01S einfaches Sketch

DHT11 Shield ansteuern

Nachdem wir also nun unseren ersten Sketch auf den ESP-01S hochgeladen und betrieben haben, wollen wir nun das DHT11 Shield verwenden. Es ist jedoch bauartbedingt nicht möglich die Daten des DHT11 auf die serielle Konsole auszugeben, daher erzeuge ich eine kleine Webseite auf welche die Daten abgelesen werden können.

Wie man so eine Webseite erstellt habe ich bereits im Tutorial WEMOS D1 – WLAN Thermometer mit DHT11 Sensor beschrieben. Das Tutorial wurde zwar für einen WEMOS D1 entwickelt, jedoch ist dieses (fast) 1:1 auch für den ESP-01S verwendbar.  Es muss hier „nur“ der Pin für den DHT11 Sensor Shield auf 2 eingestellt. 

Die Zeilen für die Ausgabe von Daten auf der seriellen Schnittstelle können entfernt werden da man auf diese mit dem Shield nicht zugreifen kann.

Nachdem der Sketch hochgeladen wurde, muss man das ESP-01S Modul auf das DHT11 Sensor Shield stecken (hier ist auf den kleinen, weißen Pfeil zu achten).

Das DHT11 Sensor Shield muss nun noch mit Spannung versorgt werden, dazu kann man eine Quelle von 3,7V bis 12 V wählen, ich nutze hier ein Modul welches auf ein Breadboard gesteckt wird, auf diesem kann man mit einem Jumper wählen welche Spannung anliegen soll. Betrieben wird dieses Modul über ein Universal Netzteil welches 9V liefern muss. 

ESP-01S mit DHT11 Sensor Shield, Spannungsversorgung über ein Breadboard Powersupply
ESP-01S mit DHT11 Sensor Shield, Spannungsversorgung über ein Breadboard Powersupply

Um die Daten vom ESP-01S zu sehen müssen wir die IP-Adresse im Browser eingeben. Aber wie kommt man an diese wenn es keine Serielle Ausgabe gibt? Hier kann man im Router prüfen welche WLAN Geräte sich verbunden haben, bei mir wird das ESP-01S Shield als ESP-184B20 angezeigt. 

ESP-01S Eintrag in der Fritz!Box
ESP-01S Eintrag in der Fritz!Box

Nehmen wir also nun die IP-Adresse  „192.168.178.48“ und geben diese in einem Browser ein und betätigen die Enter Taste. 

einfache Webseite mit den Werten Temperatur & Luftfeuchtigkeit
einfache Webseite mit den Werten Temperatur & Luftfeuchtigkeit

Zum aktualisieren muss die Seite aktualisiert werden, hier bietet der Browser eine Schaltfläche oder man tippt in die Adressleiste und betätigt die Enter Taste.

Fazit

Als Fazit ziehe ich, das der ESP-01S nur bedingt einfach in der Handhabung ist. Wer es gewohnt ist einen Microcontroller einfach einzustecken und loszulegen der wird erstmal etwas Rumspielen und vorallem löten müssen. Aber wenn man sich nach dieser Anleitung richtet sollte das alles kein Problem sein. (Sollten trotzdem Probleme auftauchen, so bitte ich um eine Rückmeldung über das Kontaktformular.)

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.