Guten Abend zusammen,
ich habe ein kleines Problemchen mit meinem Code auf dem ESP8266 und
hoffe hier Hilfe zu finden.
Das Setup sieht wie folgt aus:
BME280 -> ESP8266 -> WLAN/Netzwerk -> Server/InfluxDB
Das Problem ist, dass meine Daten Temperatur, Luftfeuchte und Luftdruck
nicht korrekt in der InfluxDB ankommen. Den Arduino-Sketch hänge ich mal
an.
Ich nutze die "offizielle" InfluxDB-Library InfluxDbClient.h
Ich habe ein paar print-Ausgaben eingebaut, um zu sehen, ob die Daten
grundsätzlich korrekt in den Variablen drin stehen, was auch der Fall zu
sein scheint.
1 | 00:11:00.831 -> Lese Sensoren
|
2 | 00:11:00.831 -> 21.59
|
3 | 00:11:00.831 -> 34.54
|
4 | 00:11:00.831 -> 991.09
|
5 | 00:11:00.879 -> Sende Daten
|
6 | 00:12:00.858 -> Lese Sensoren
|
7 | 00:12:00.858 -> 21.64
|
8 | 00:12:00.858 -> 35.82
|
9 | 00:12:00.858 -> 991.12
|
10 | 00:12:00.905 -> Sende Daten
|
Ein Raspberry Pi befüllt die InfluxDB schon fleißig und Grafana wertet
das ganze auch angenehm aus, von daher würde ich zumindest diese
Elemente als funktional betrachten.
Die Datenstruktur, die der Raspi per JSON übergibt sieht wie folgt aus:
1 | json_body =
|
2 | {
|
3 | "measurement": "environment",
|
4 | "tags": {
|
5 | "hostname": hostname,
|
6 | "location": "mobil"
|
7 | }
|
8 | "fields": {
|
9 | "temperature": temperature,
|
10 | "humidity": intHum,
|
11 | "pressure": intPress
|
12 | }
|
13 | }
|
Daran orientiert sich natürlich auch der ESP8266. Die Übung bzw. das
Beispiel mit dem Webserver, der die Werte ausgibt, habe ich schon
erfolgreich durchgespielt.
Folgendes ist noch merkwürdig: In Grafana kann ich schon Querys/Panels
mit der Location "mobil" und dem Hostnamen "ESP8266-1" erstellen, die
jedoch ohne Daten zurück kommen. Da Grafana diese Daten ja nur von der
InfluxDB bekommen kann, gehe ich mal davon aus, dass irgendwie doch so
halbe Datensätze ankommen.
So und jetzt freue ich mich über jeden hilfreichen Beitrag und
Anregungen.
Besten Dank und Grüße
Paul