In diesem Beitrag möchte ich dir zeigen wie du die Daten eines Sensors an ThingSpeak mit Hilfe von ESP Easy veröffentlichen kannst.
Im Beitrag Installieren von ESP Easy auf dem ESP8266 habe ich dir bereits ausführlich gezeigt wie du ESP Easy auf einem Microcontroller mit ESP8266 Chip einrichtest. Die Webanwendung ThingSpeak habe ich auch bereits im Beitrag Iot Service ThingSpeak, einrichten und betreiben vorgestellt.
Ich setze für diesen Beitrag voraus das du bereits einen Microcontroller mit einer Firmware für ESP Easy sowie ein aktiviertes Konto bei ThingSpeak besitzt.
Einrichten von ThingSpeak
Zunächst richten wir die beiden Graphen in ThingSpeak ein.
Also loggen wir uns unter https://thingspeak.com/login in das Konto ein und wählen hier die Schaltfläche “New Channel”.
Auf der neuen Seite gibst du nun folgende Daten ein:
- Name – DHT11 Sensor
- Field 1 – temperature
- Field 2 – humidity
ThingSpeak – Konfiguration für einen DHT11 SensorWir können nun die Daten mit der Schaltfläche “Save Channel” übernehmen und gelangen danach automatisch auf die Übersichtsseite mit zwei Diagrammen.
Die Diagramme kannst du etwas anpassen indem du das Stiftsymbol in der blauen Leiste anklickst. In der hier gezeigten Grafik habe ich die Überschriften der Diagramme angepasst.
API Keys für das Empfangen von Daten
Zu jedem Channel gibt es API Keys zum empfangen von Daten welche in den Diagrammen angezeigt werden sollen. Diese Keys findest du, wenn du auf den Reiter “API Keys” auf der Übersichtsseite klickst.
Alle hier gezeigten Daten sind bereits vor der Veröffentlichung des Beitrages obsolete daher werden die API Keys nicht verpixelt.
einrichten von ESP Easy für ThingSpeak
Wie bereits erwähnt, habe ich die Firmware ESP Easy bereits im Beitrag Installieren von ESP Easy auf dem ESP8266 behandelt. Hier möchte ich dir nun zeigen wie du eine Verbindung zu ThingSpeak aufbaust und die Daten eines DHT11 Sensors an den Service sendest.
Als erstes wechselst du in den Reiter “Controllers” (1) und betätigst dort die Schaltfläche “Add” (2).
In dem neuen Fenster wählst du aus der DropDown Liste den Eintrag “ThingSpeak” aus.
Danach werden nun einige Felder sichtbar welche wie folgt ausgefolgt werden.
In dem Video habe ich in der Auswahlbox “Locate Controller” die Auswahl “Use Hostname” und als Wert für “Controller Hostname” “api.thingspeak.com” gewählt. Dieses führte nach einigen Tagen zum Fehler “HTTP : C004 connection failed”. Darum musste ich auf die IP Adresse von ThingSpeak.com wechseln. Aber es funktioniert genausogut!
einrichten des DHT11 Sensors in ESP Easy
Um einen neuen Sensor einzurichten musst du in den Reiter “Devices” (1) wechseln und dort in der Auswahlbox (2) den entsprechenden Eintrag (3) wählen. Solltest du deinen Sensor nicht finden so kannst du durch ein Firmwareupdate deine ESP Easy installation etwas erweitern.
Wenn du meinen Blog bereits etwas verfolgst dann wirst du dieses Kapitel bereits aus dem Beitrag Installieren von ESP Easy auf dem ESP8266 kennen.
Der DHT11 Sensor für den Wemos D1 Mini ist mit dem digitalen Pin D4 verbunden und somit ist die Konfiguration eigentlich bereits vorgegeben.
Wichtig ist das wir hier nun die Checkbox bei “Send to Controller” aktivieren und den Wert für “IDX” auf “1” setzen.
Da der DHT11 Sensor alle 2,5 Sekunden einen neuen Wert liefern kann, habe ich den Intervall zunächst auf 3 Sekunden gesetzt.
Damit ist die Konfiguration abgeschlossen und die Daten werden automatisch alle 3 Sekunden an den Dienst ThingSpeak gesendet.
Hallo
Kannst du ein neues video machen mit esp easy und dht11 .
Ich schaffe es nicht die daten an thingspeak zu senden. Leider
Hi,
wo liegt das Problem? Du kannst mich gerne per E-Mail oder Kontaktformular erreichen.
Gruß,
Stefan Draeger
Hi, Stefan!
Ich bin vom c’t-Artikel aus Heft 14 / 2018 gestartet, nutze aber die neue Firmware (20113 – Mega) und bekomme aktuell noch keine Daten vom ESPEasy in Thinkspeak rein. Das ganze ist heute frisch aufgesetzt und hat bei mir noch nie funktioniert.
Ich habe auch schon api.thinkspeak .com und diverse IPs (auch die, aus Deinem Beitrag) versucht. Die Firewall vor dem ESP8266 zeigt, das die SYN-Pakete rausgehen, aber nie ein SYN/ACK zurückkommt. Das log vom ESP sagt HTTP : C004 connection failed.
Da ich mit anderen Geräten aus demselben WLAN problemlos ins Internet komme (und halt auch auf die WebGUI des ESP), gehe ich nicht davon aus, dass es ein lokales Netzwerkproblem bei mir ist.
Im Thingspeak zeigt Chanel Stats: Entries m0, was wohl bedeutet, dass da so noch nix angekommen ist.
Irgend eine Idee, wie ich rausfinden kann, wo es evtl. hakt?
Vorab Dank,
Kai
Hi,
im ESP Easy gibt es einen Reiter wo man sich das Logfile anschauen kann, dort werden auch Fehlermeldungen angezeigt welche ggf. auf eine Fehlerhafte Einstellung hinweist.
Gruß,
Stefan
OK – hab’s gefunden. Der ESP hatte sehr schnell nach dem SYN ein RST/ACK gesendet, was mir komisch vorkam-damit hat die Firewall wohl die Session abgebaut, bevor der SYN/ACK von Thingspeak kam. In den Einstellungen für den Controller stand dann der Client-Timeout auf sportlichen 100ms. Hab das nun mal auf das max von 4000ms gestellt und siehe da – es funzt. Sorry für den falschen Alarm…
Hallo,
vielen Dank für die Rückmeldung, das ist ein guter Hinweis vielleicht gibt es den ein oder anderen der genau auf den selben Fehler stoßen wird.
Gruß,
Stefan Draeger
Hallo Stefan,
bekomme auch keine Verbindung hin egal mit mit IP oder Hostname.
598309: HTTP : C004 api.thingspeak.com:80 POST… failed HTTP code: -1 connection failed
598310: HTTP : C004 connection failed (3293/0)
598450: HTTP : C004 api.thingspeak.com:80 POST… failed HTTP code: -1 connection failed
598451: HTTP : C004 connection failed (3294/0)
598593: HTTP : C004 api.thingspeak.com:80 POST… failed HTTP code: -1 connection failed
598594: HTTP : C004 connection failed (3295/0)
598735: HTTP : C004 api.thingspeak.com:80 POST… failed HTTP code: -1 connection failed
598736: HTTP : C004 connection failed (3296/0)
599015: HTTP : C004 api.thingspeak.com:80 POST… failed HTTP code: -1 connection failed
599016: HTTP : C004 connection failed (3297/0)
599155: HTTP : C004 api.thingspeak.com:80 POST… failed HTTP code: -1 connection failed
599156: HTTP : C004 connection failed (3298/0)
599297: HTTP : C004 api.thingspeak.com:80 POST… failed HTTP code: -1 connection failed
599298: HTTP : C004 connection failed (3299/0)
599520: HTTP : C004 api.thingspeak.com:80 POST… failed HTTP code: -1 connection failed
599521: HTTP : C004 connection failed (3300/0)
599621: DHT : Temperature: 24.40
599622: DHT : Humidity: 42.00
Hast du vielleicht eine Idee?
Grüße
Markus
Hi,
das sieht so aus, als ob die Zugangsdaten / der API Key von ThingSpeak nicht passt.
Ansonsten kannst du mir auf die Mail-Adresse info@draeger-it.blog ein paar Screenshots von deiner Konfiguration senden.
Gruß
Stefan