Okay, .......
bevor ich jetzt wieder eine schlaflose Nacht habe, weil es mich einfach wurmt, dass ich den Fehler nicht finde.....
WER kann mir helfen?
Ich habe eine Datenbank in Influx angelegt "Pool" und das halbe chatGPT Universum befragt..... es soll zunächst testweise die Temperatur eines BME280 Sensors in die Datenbank geschrieben werden. Heraus gekommen ist bisher dieser code, welcher aber immer noch compilierunsfehler hat :
#include <WiFi.h>
#include <BME280I2C.h>
#include <Wire.h>
#include <HTTPClient.h>
#include <XMLWriter.h>
#define SERIAL_BAUD 9600
const char* ssid = "xxxxxxxxxx";
const char* password = "xxxxxxxxxxxx";
const char* serverName = "
http://192.168.2.190"; // IP von der Solaranzeige
BME280I2C bme; // Default : forced mode, standby time = 1000 ms
// Oversampling = pressure ×1, temperature ×1, humidity ×1, filter off,
//////////////////////////////////////////////////////////////////
void setup()
{
Serial.begin(SERIAL_BAUD);
while(!Serial) {} // Wait
Wire.begin();
while(!bme.begin())
{
Serial.println("Could not find BME280 sensor!");
delay(1000);
}
{
Serial.println("verbinde mit WLAN");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WLAN verbunden");
Serial.print("IP-Adresse:");
Serial.println(WiFi.localIP());
}
switch(bme.chipModel())
{
case BME280::ChipModel_BME280:
Serial.println("Found BME280 sensor! Success.");
break;
case BME280::ChipModel_BMP280:
Serial.println("Found BMP280 sensor! No Humidity available.");
break;
default:
Serial.println("Found UNKNOWN sensor! Error!");
}
}
//////////////////////////////////////////////////////////////////
void loop()
{
printBME280Data(&Serial);
delay(5000);
}
//////////////////////////////////////////////////////////////////
void printBME280Data
(
Stream* client
)
{
float temp(NAN), hum(NAN), pres(NAN);
BME280::TempUnit tempUnit(BME280::TempUnit_Celsius);
BME280::PresUnit presUnit(BME280::PresUnit_hPa);
bme.read(pres, temp, hum, tempUnit, presUnit);
client->print("Temp: ");
client->print(temp);
client->print("°"+ String(tempUnit == BME280::TempUnit_Celsius ? 'C' :'F'));
client->print("\t\tHumidity: ");
client->print(hum);
client->print("% RH");
client->print("\t\tPressure: ");
client->print(pres);
client->println("hPa");
delay(1000);
//}
String xmlData = <?xml version="1.0" encoding="UTF-8" ?>
<solaranzeige>
<version>1.0</version>
<in_out>in</in_out>
<database name="pool">
<measurement name="temp">
<fieldname name="Pool_Temperatur"><value type="num">temp</value></fieldname>
</measurement>
</database>
<database name="pool">
<measurement name="Temperatur">
<fieldname name="Temperatur"><value type="num">temp</value></fieldname>
</measurement>
</database>
</solaranzeige>;
if (WiFi.status() == WL_CONNECTED)
{
HTTPClient http;
http.begin(serverName);
http.addHeader("Content-Type", "application/xml");
int httpResonseCode = http.POST(xmlData);
Serial.print("HTTP Response code: ");
Serial.println(httpResponseCode);
http.end();
}
}