"Az-Delivery D1 Mini NodeMcu mit ESP8266-12F WLAN" Fehlermeldung beim Hochladen

Hallo,
ich möchte eine kleine "Wetterstation" mit dem "Az-Delivery D1 Mini NodeMcu mit ESP8266-12F WLAN" Board und dem BME280 Sensor programmieren. Wenn ich aber den Sketch versuche hochzuladen, kommt folgende Fehlermeldung: "Fehler beim Kompilieren für das Board LOLIN(WEMOS) D1 R2 & mini." Ich habe das auch schon mit dem Board "Generic ESP8266 Module" versucht, aber das hat auch nicht funktioniert. Der Port wird angezeigt und ist ausgewählt. Ich habe auch testweiße einen Beispiel-Blink-Sketch hochgeladen. Dieser hat funktioniert. Vielleicht liegt der Fehler am Sketch. (Ist im Anhang)
Vielleicht kann mir ja jemand helfen. Danke schonmal im vorraus.
Mfg

Wetterstation_Wemos_D1_Mini.ino (3.7 KB)

Setze Deinen Code bitte direkt ins Forum. Benutze dazu Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter oder gehe in der IDE auf Bearbeiten - Für Forum kopieren und füge es hier ein.
Dann ist er auch auf mobilen Geräten besser lesbar.
Das kannst Du auch noch nachträglich ändern.

Warum hälst Du die Fehlermeldung geheim? Bitte ebenfalls in Codetags setzen.

Gruß Tommy

Hallo,

installiere mal über den Lib Verwalter die standard Lib für den BME280 von Adafruit Version 2.1.2 die Läuft bei mir. Beispiel laden testen .

Heinz

Aber vorher die alte Lib deinstallieren.

Gruß Tommy

Tommy56:
Aber vorher die alte Lib deinstallieren.

Gruß Tommy

Hallo,

ja ?? , aber der Name ist komplett anders.

#include <BME280I2C.h>
#include <Wire.h>

Gruß Heinz

Da ich seine Lib nicht kenne und auch nicht weiß, was da intern noch an Files vorhanden ist, kann ich Mehrfachnamen nicht ausschließen. Deshalb sicherheitshalber deinstallieren.
Außerdem wofür sollten 2 Libs zum BME280 nebeneinander gut sein?

Gruß Tommy

Hier nochmal der Code.

#include "BME280_MOD-1022.h"
#include <Wire.h>

// Wifi and ThingSpeak settings
#include <ESP8266WiFi.h>
 
const char* ssid = "Wlan SSID";
const char* password = "Wlan KEY";
 
const char* server = "api.thingspeak.com";
const char* api_key = "Api KEY";

// Measurement interval (seconds)
const int interval = 300; //5 mins
 
WiFiClient client;

void printFormattedFloat(float x, uint8_t precision) {
char buffer[10];

  dtostrf(x, 7, precision, buffer);
  Serial.print(buffer);

}

void printCompensatedMeasurements(void) {

float temp, humidity,  pressure, pressureMoreAccurate;
double tempMostAccurate, humidityMostAccurate, pressureMostAccurate;
char buffer[80];

  temp      = BME280.getTemperature();
  humidity  = BME280.getHumidity();
  pressure  = BME280.getPressure();
  
  pressureMoreAccurate = BME280.getPressureMoreAccurate();  // t_fine already calculated from getTemperaure() above
  
  tempMostAccurate     = BME280.getTemperatureMostAccurate();
  humidityMostAccurate = BME280.getHumidityMostAccurate();
  pressureMostAccurate = BME280.getPressureMostAccurate();
  
  Serial.print("Temperature: ");
  printFormattedFloat(tempMostAccurate, 2);
  Serial.println();
  
  Serial.print("Humidity: ");
  printFormattedFloat(humidityMostAccurate, 2);
  Serial.println();

  Serial.print("Pressure: ");
  printFormattedFloat(pressureMostAccurate, 2);
  Serial.println();

  // Post data to ThingSpeak
  postData(tempMostAccurate, humidityMostAccurate, pressureMostAccurate);
  Serial.println();
}

void postData(float temperature, float humidity, float pressure){
  // Send data to ThingSpeak
  if (client.connect(server,80)) {
  Serial.println("Connect to ThingSpeak - OK"); 

  String dataToThingSpeak = "";
  dataToThingSpeak+="GET /update?api_key=";
  dataToThingSpeak+=api_key;
   
  dataToThingSpeak+="&field1=";
  dataToThingSpeak+=String(temperature);

  dataToThingSpeak+="&field2=";
  dataToThingSpeak+=String(humidity);

  dataToThingSpeak+="&field3=";
  dataToThingSpeak+=String(pressure);
   
  dataToThingSpeak+=" HTTP/1.1\r\nHost: a.c.d\r\nConnection: close\r\n\r\n";
  dataToThingSpeak+="";
  client.print(dataToThingSpeak);

  int timeout = millis() + 5000;
  while (client.available() == 0) {
    if (timeout - millis() < 0) {
      Serial.println("Error: Client Timeout!");
      client.stop();
      return;
    }
  }
}
 while(client.available()){
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }
}


// Setup wire and serial
void setup()
{
  Wire.begin();
  Serial.begin(115200);
  delay(10);
  Serial.println("Connecting to wifi...");
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED){
    
  }
  Serial.println("WiFi connected");
  

  // Prepare LED to turn on when measuring and send data
  
}

// main loop
void loop()
{ 
  // need to read the NVM compensation parameters
  BME280.readCompensationParams();

  // We'll switch into normal mode for regular automatic samples  
  BME280.writeStandbyTime(tsb_0p5ms);         // tsb = 0.5ms
  BME280.writeFilterCoefficient(fc_16);       // IIR Filter coefficient 16
  BME280.writeOversamplingPressure(os16x);    // pressure x16
  BME280.writeOversamplingTemperature(os2x);  // temperature x2
  BME280.writeOversamplingHumidity(os1x);     // humidity x1
  
  BME280.writeMode(smNormal);
   
  while (1) {
    
    while (BME280.isMeasuring()) {
       //Serial.println("Measuring...");
       //delay(100);
    }
    
    // read out the data - must do this before calling the getxxxxx routines
    BME280.readMeasurements();
    printCompensatedMeasurements();
    
    delay(interval*1000);
    Serial.println();
  }
}

Und hier nochmal die ausführliche Fehlermeldung im Anhang, da ich sie in die Nachricht nicht reinkopieren kann.

Fehlermeldung_D1_Mini.txt (40.7 KB)

Rentner:
Hallo,

installiere mal über den Lib Verwalter die standard Lib für den BME280 von Adafruit Version 2.1.2 die Läuft bei mir. Beispiel laden testen .

Heinz

Ich habe sie in den Sketch Ordner gezogen und in meinen Sketch mit eingebunden, dann kommt aber die Fehlermeldung: "Adafruit_BME280.h: No such file or directory"

Warum machst Du nicht das, was Dir gesagt wird, sondern etwas Falsches?

Gruß Tommy

Tommy56:
Warum machst Du nicht das, was Dir gesagt wird, sondern etwas Falsches?

Gruß Tommy

Was soll ich denn sonst machen? :confused: Wenn ich ein Beispiel lade zeigt es die gleiche Fehlermeldung.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.