Wemos Daten in Grafana

Die Daten des Wemos sollen in Intervallen in einer influxdb gespeichert werden. Später erfolgt die Visualisierung im Grafana.

Zunächst die Datenbank anlegen

create database wemosdb with duration 30d

create user wemos with password ‚<password>‘

grant all on „wemosdb“ to „wemos“

Der Code für den Wemos sieht wie folgt aus:

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

#include "DHT.h"

#define DHTTYPE DHT22   

// Zugangsdaten zum WLAN:
const char* ssid = "<name des WLAN>";
const char* password = "<Kennwort des WLAN>";




WiFiClient wclient;
uint8_t DHTPin = 4; 
               
// Initialize DHT sensor.
DHT dht(DHTPin, DHTTYPE);                

float Temperature;
float Humidity;
 
void setup() {
  Serial.begin(115200);
  delay(100);
  
  pinMode(DHTPin, INPUT);

  dht.begin();              

  Serial.println("Connecting to ");
  Serial.println(ssid);

  //mit dem WLAN verbinden
  WiFi.begin(ssid, password);

  //ist die WLAN Verbindung vorhanden
  while (WiFi.status() != WL_CONNECTED) {
  delay(1000);
  Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected..!");
  Serial.print("Got IP: ");  Serial.println(WiFi.localIP());



}
void loop() {
  Serial.print("Temperature: ");
  Serial.println(Temperature);
  Serial.print("Humidity: ");
  Serial.println(Humidity);

  HTTPClient http;
  Temperature = dht.readTemperature(); // Temperatur auslesen 
  Humidity = dht.readHumidity(); // Feuchtigkeit auslesen
  String influxData = "werte,zimmer=<Name des Zimmers> temperatur=" + String(Temperature) + ",feuchtigkeit=" + String(Humidity) + "";
  String  url = "http://<IP Adresse der Influxdb>:8086/api/v2/write?bucket=wemosdb";
  http.begin(wclient, url);
  http.addHeader("Content-Type", "application/x-www-form-urlencoded");
  http.setAuthorization("wemos", "<Kennwort des WEMOS Benutzers>");
  int httpCode = http.POST(influxData);
  http.writeToStream(&Serial);

  http.end();
  
  ESP.deepSleep(600000000);
  
}

Im grafana muss die InfluxDB zunächst als Quelle hinzugefügt werden, im Anschluss ist es möglich die Daten auszugeben.

Schreibe einen Kommentar

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