Hallo Zusammen,
ich arbeite an einem Projekt, wo ich Temperatur von einem DHT11-Sensor mit einem NodeMCU einlesen und auf Thingspeaks darstellen möchte.
Teilweise bekomme ich die richtigen Werte für Termperatur & Luftfeuchte und teilweise liegt der Wert bei 255.
Kann mir einer von euch sagen, aus welchem Grund dieser Wert teilwese angezeigt wird?
Zumindest werden auf Thingspeak die gleichen Werte angezeigt wie im Monitor der Arduino-IDE. Also Enweder 16°C oder 255°C.
Für den Code, hab ich mich an folgendem Bsp. orientiert:
embeddedlaboratory.blogspot.de/2016/10/p...s-to-thingspeak.html
#include <DHT.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ThingSpeak.h>
#define DHTPIN D3
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
const char* ssid = "???WLAN???";
const char* password = "????";
WiFiClient client;
unsigned long myChannelNumber = ?????;
const char * myWriteAPIKey = "????";
uint8_t temperature, humidity;
void setup()
{
Serial.begin(115200);
dht.begin();
delay(10);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Print the IP address
Serial.println(WiFi.localIP());
ThingSpeak.begin(client);
}
void loop()
{
static boolean data_state = false;
temperature = dht.readTemperature();
humidity = dht.readHumidity();
Serial.print("Temperature Value is :");
Serial.print(temperature);
Serial.println("C");
Serial.print("Humidity Value is :");
Serial.print(humidity);
Serial.println("%");
// Write to ThingSpeak. There are up to 8 fields in a channel, allowing you to store up to 8 different
// pieces of information in a channel. Here, we write to field 1.
if( data_state )
{
ThingSpeak.writeField(myChannelNumber, 1, temperature, myWriteAPIKey);
ThingSpeak.writeField(myChannelNumber, 2, humidity, myWriteAPIKey);
data_state = false;
}
else
{
ThingSpeak.writeField(myChannelNumber, 2, humidity, myWriteAPIKey);
data_state = true;
}
delay(15000); // ThingSpeak will only accept updates every 15 seconds.
}
Vielen Dank im Vorraus,