Der Sketch für den Temperaturverlauf

Lektion
Downloads

Um den Temperaturverlauf per Feed an Adafruit IO zu senden, musst du den Sketch aus dem letzten Kursabschnitt nur etwas abändern – das meiste des Codes kannst du allerdings verwenden. Den vollständigen Sketch findest du wieder in den Downloads zu dieser Lektion.

Zunächst kommen Codezeilen hinzu, die du für deinen jeweiligen Temperatursensor benötigst. Diese hast du bereits in der Lektion Den Temperatursensor anschließen kennengelernt:

___STEADY_PAYWALL___

#include "DHT.h"

#define DHTPIN 4   
#define DHTTYPE DHT11

float temp;

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  dht.begin();
}

void loop() {

  temp = dht.readTemperature();
  
  Serial.print("Temperatur: ");
  Serial.print(temp);
  Serial.println("*C");

  Serial.println();
  delay(2000);

}

Anpassungen für den neuen Stream

Die folgende Zeile kennst du bereits aus dem Test mit dem Poti. Du musst hier den Namen des Feeds nur an zwei Stellen in temperatur ändern:

AdafruitIO_Feed *temperatur = io.feed("temperatur");

Außerdem benötigst du eine Variable, in der der aktuelle Messwert gespeichert wird. Deklariere auch diese noch vor der Setup-Funktion:

float temp;

Die nächste Änderung betrifft den Loop. Hier führst du die Messung durch, zeigst sie im Seriellen Monitor an und überträgst sie an dein Dashboard in Adafruit IO:

temp = dht.readTemperature();
Serial.print("Temperatur = ");
Serial.print(temp);
Serial.println(" *C");
  
temperatur->save(temp);

Zuletzt fehlt noch ein Delay, in dem du festlegst, wie oft du die Temperatur messen möchtest. Hier ist das alle fünf Sekunden:

delay(5000);

Mehr gibt es nicht zu tun. Wie du siehst, unterscheiden sich die Sketches vom Test mit dem Poti und der Temperaturmessung nicht allzu sehr. Das bedeutet, dass du im Prinzip alle Daten mit deinem ESP8266 auf ähnliche Weise überträgst – egal ob Temperatur, Helligkeit oder Standorte.

Lade den vollständigen Sketch herunter und trage deine Zugangsdaten für dein WLAN-Netz und Adafruit IO ein und lade ihn auf deinen ESP8266.

Zurück zum Dashboard

Wenn alles funktioniert hat und die Messung läuft, kehre zu deinem Dashboard zurück. Das Diagramm sollte nun alle fünf Sekunden um einen Datenpunkt erweitert werden und nach einiger Zeit z. B. so aussehen:

Temperaturdiagramm in Adafruit IO

Solltest du keine Linie sehen, lade die Seite im Browser neu.

Im obigen Beispiel haben wir eine Raumtemperatur gemessen, die die meiste Zeit bei circa 24°C lag. Aber was ist, wenn die Temperatur stetig steigt und einen kritischen Wert erreicht?

Im nächsten Kursabschnitt lernst du, wie du dich mit dem (für unsere Zwecke kostenlosen) Service IFTTT beim Überschreiten einer bestimmten Temperatur informieren lassen kannst.