DS18B20 Temperatursensor am ESP8266 mit 2 AA Batterien verwenden

Veröffenticht am 09.02.2017    von     in der Kategorie ESP8266     bisher 1 Reaktion


ESP8266-12E Modul mit einem DS18B20 Sensor in einer Batteriehalterung Dieser Artikel befasst sich mit der Temperaturermittlung über einen DS18B20 Sensor an einem ESP8266 Modul. Zur Speicherung und weiteren Verwendung werden die Daten über einen Request an ein PHP-Skript übergeben und mit diesem in einer Datenbank gespeichert. Eine zukünftige Verwendung der Temperaturdaten könnte zum Beispiel wie im folgenden Video demonstriert, die Abfrage über ein Alexa Skill mittels eines Amazon Echo oder Echo Dot sein.

 

Projekt Demonstration

 

Bauteile

  • 1 ESP8266 Version 12E – ich habe mich für dieses Modell entschieden, da man diese Version im Gegensatz zur Version 01 in den Tiefschlaf versetzten kann. Gegen ein NodeMCU Board habe ich mich wegen der größeren Abmessung und den durch die Bauteile vorhandenen höheren Stromverbrauch entschieden.
  • 1 DS18B20 Temperatursensor
  • 2 Widerstände 10 Kiloohm
  • 1 Widerstand 4,7 Kiloohm
  • 1 BC 341 Batteriehalter – die einzelnen Kontakte lassen sich ohne großen Aufwand aus dem Gehäuse entfernen und gut für unsere Anforderungen anpassen.
  • diverse Kleinteile: Kupferdraht, Buchsenleiste, Lochrasterplatine

 

Anpassung Batteriehalter

  • Batteriebox im Lieferzustand

Aufbau

Neben der Stromversorgung des ESP8266 und des DS8266 über VCC und GND wird der Sensor an GPIO12 angeschlossen. Der 4,7 Kiloohm Widerstand wird zwischen der VCC- und der Datenleitung geschaltet.Die 10 Kiloohm Widerstände werden zwischen GPIO15 Port zu GND (Minus) und CH_PD, bei manchen Modellen auch EN zu VCC (Plus) geschaltet. Damit der Chip aus dem Tiefschlaf aufgeweckt werden kann, muss der Reset und GPIO16 Port verbunden werden.

 

 

Die fritzing Projektdatei habe ich für dich zum Download bereitgestellt.

 

Software

Die Programmierung des ESP8266 erfolgt über die Arduino IDE mit hinzugefügten ESP8266-Boardverwalter. Zur Ansteuerung bzw. dem Auslesen des Temperatursensors greife ich auf die auf GitHub veröffentlichte Bibliotheken <OneWire.h> und <DallasTemperature.h> zurück. Die beiden Bibliotheksordner müssen in den Ordner /libraries der Arduino IDE kopiert werden.

 

Programm

Anpassungen

Im Bereich //Konstantendefinition musst du deine Daten für NETZWERKNAME, WLAN-SCHLÜSSEL und IP-ODER-WEBADRESSE eintragen. Der Wert serverPort=80 muss eventuell auch angepasst werden. Der Dateiname für das aufgerufene PHP-Skript hinterlege ich erst im Bereich // Aufbau des URL-Request.

Die Befehle zur Ausgabe über die serielle Schnittstelle kann man entfernen. Zuvor solltest du im Bereich //Batteriespannung messen den Korrektur anpassen. Hierzu vergleiche den ausgegebenen Wert mit der tatsächlichen, von dir am Chip gemessenen Spannung.

 

Das PHP-Skript zur Speicherung in einer MySQL Datenbank könnte wie folgt aussehen.

 

Anmerkung zur Laufzeit

Mit den verwendeten 2700 mAH Akkus komme ich bei einer viertelstündigen Messung mit Datenübertragung auf eine Laufzeit von aktuell vier Tagen und 2 Stunden. Nicht gerade viel, allerdings kann man die Laufzeit bei entsprechender Verringerung der Messanzahl bzw. Verlängerung des Tiefschlafzyklus bestimmt etwas verlängern. Oder man wechselt auf eine andere Stromquelle (18650 Lithium-Ionen Akkus), wie ich es für ein anderes Projekt in Planung habe.

 

In diesem Beitrag verwende ich Affiliate Links zum Amazon Partnerprogramm. Für dich entstehen dadurch keine Mehrkosten.

Share on Facebook0Share on Google+0Tweet about this on Twitter0Pin on Pinterest0Share on LinkedIn0



Servus, ich bin Wolfgang.

Blogger – Maker – web & mobile Developer – Dobermann Besitzer.

Mit meinem über die Jahre gesammelten Wissen als Webworker möchte ich dir Hilfestellungen und Anregungen zur Nutzung der sich aus dem digital Lifestyle ergebenden Möglichkeiten und Notwendigkeiten geben.

Einen aktuellen Schwerpunkt auf meinem Blog bildet das Thema IoT im Zusammenspiel mit dem Raspberry Pi.


Ähnliche Artikel zum Thema

Oh, zu diesem Thema konnte leider kein Beitrag gefunden werden...


Hinterlasse einen Kommentar

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

Eine Reaktion (0 Kommentare)