adafruit/Adafruit_BME280_Library

Problem with ESP8266

pilnikov opened this issue · 8 comments

The new version of the library (1.0.5) does not work with my Chinese BME280 on ESP8266. Whereas 1.0.4 works without problems. I change the address 0x76 only.
In indications i see zeros only.

just tried it with an adafruit bme280 and a huzzah esp8266 and it works fine?

I live in Russia. I tried to order from your branded stuff (adafruit bme280 and a huzzah esp8266) I did not succeed. Therefore, I have only Chinese BME280 and Wemos D1 mini. It's spring here. And both my Chinese BME280 flooded with water. They are "choked". I'm waiting for the new BME280. When I get - I will describe in more detail - for some reason does not work. I tried to use the .h file of the new version and the old .cpp - so works.

Hello. I got new sensors and checked the work of your library. At the first pass of the program the NAN is issued. From the second pass everything is normalized. I solved this problem by adding a little pause
(delay (100)) to the end of the begin() method.

` readCoefficients(); // read trimming parameters, see DS 4.2.2

setSampling(); // use defaults

delay(100); // Added pause

return true;

}
`

rdts commented

I encountered the same issue after updating from 1.04 to 1.06. Adding a delay of 100ms after bme.begin() provided a dirty workaround, but wasn't really a clever solution for my code since I use two sensors and switched between them by calling bme.begin(address) periodically. I ended up creating two instances of Adafruit_BME280.

hi @rdts, are you using an ESP8266 as well? If so, what version of the esp8266 core are you using (check the boards manager). Can you post the code you are using?
I just tested the bme280test example on an Adafruit Feather Huzzah ESP8266 with core version 2.3.0 and don't seem to be having any issues.

ok @rdts after looking into this a bit it seems like that delay is necessary for the first sample to be ready. I have added it to the end of Adafruit_BME680::init()

rdts commented

@deanm1278 Thanks, your commit should fix this. I guess this was only an issue for people who call begin() frequently from inside the loop.