kiwx
Junior Member
Posts: 65
|
Post by kiwx on Jan 29, 2020 5:11:31 GMT -8
well, by works I mean it provides data, but the data isn't good. Mine is the flat line. The other is another station about a mile away. Attachments:
|
|
|
Post by SDL on Jan 30, 2020 12:57:54 GMT -8
Well, I think you need to put that control line in the code back in. I'm going to check on the one in the office later on tonight. But it works!
What Raspberry Pi are you using? BP
|
|
kiwx
Junior Member
Posts: 65
|
Post by kiwx on Feb 6, 2020 18:11:02 GMT -8
Raspberry PI 4.
I also just purchased the SkyWeather board. It uses a BME680. I am hopeful it will be less of a problem for me.
|
|
|
Post by SDL on Feb 7, 2020 16:04:09 GMT -8
Keep us updated. I wonder if this is a problem on the Pi4? When I get a chance, I'll test the WeatherBoard on the Pi4.
BP
|
|
kiwx
Junior Member
Posts: 65
|
Post by kiwx on Feb 8, 2020 19:11:41 GMT -8
So far the SkyWeather board is working perfectly. BME680 looks good.
|
|
|
Post by SDL on Feb 9, 2020 10:56:17 GMT -8
Excellent. Glad to hear!
BP
|
|
|
Post by madeindortmund on May 29, 2020 13:34:09 GMT -8
it seems I am having a problem that seems to be also related to bmp280. I posted it in the weather board fried thread already, but no progress yet, only headaches, frustration and lots of spent money
|
|
|
Post by SDL on May 29, 2020 14:23:55 GMT -8
Demetri,
There is nothing wrong with the replaced BMP280 unless the boards are physically damaged. Let's start the debug process again.
1) What Raspberry Pi are you using?
2) What are the results of "sudo i2cdetect -y 1"?
3) Are you using our SDCard or your own installation?
4) If own, what version of the Raspberry PI OS are you using?
5) what weather software and version are you running?
6) Are you in a high static (dry) environment? Could you be zapping the boards?
BP
|
|
|
Post by klj99124 on Oct 19, 2020 9:45:46 GMT -8
I'm also having this exact problem.
Raspberry Pi 3 Weatherboard Pi2Grover
Nothing else plugged in, just a Grove cable from the Weatherboard to the Pi2Grover board.
After power on, it will read the Chip ID, temp, humidity, altitude once. When it tries to read from the BMP280 again, it fails with the IO error. After it is run once, i2cdetect -y 1 will no longer see the device on the i2c bus.
When this line in BMP280.py is commented out: self._device.write8(BMP280_CONTROL, 0x3F), I no longer get the IO error and i2cdetect continues to see the device on the bus, but the data received from the chip doesn't seem to be right. Maybe that's expected since the calibration was never sent to the device.
It looks like that write to the BMP280 is really confusing the BMP280 or getting the bus into an invalid state.
|
|
|
Post by klj99124 on Oct 19, 2020 14:46:52 GMT -8
Found a little more info regarding this issue.
in my case, the write to the control register, BMP280.py, self._device.write8(BMP280_CONTROL, 0x3F) is causing the problem and specifically it's the power mode that locks things up.
If I set the power mode to normal, lowest 2 bits set, then everything locks up and I can't talk to the device without power cycling.
If I set the power mode to forced, either bit 0 or bit 1 cleared, then everything works fine and I get valid temperature and pressure data. I used this to create a little work around. I added startConversion and getStatus methods to BMP280.py Instead of writing 0x3F to the control reg like the original code, I wrote 0x3E. This sets the part to forced power mode. in this mode it grabs some data, stores it in the registers and goes to sleep. When you want current data, you have to initiate it by writing to the control reg again.
def startConversion(self): self._device.write8(BMP280_CONTROL, 0x3E)
def getStatus(self): return self._device.readU8(BMP280_STATUS)
The conversion takes a bit of time so if you need the latest data, you need to check the status register to make sure it's done. I'm new to i2c and the Weatherboard so there may be better ways to deal with this. I'd still like to know why normal power mode causes trouble but at least I can move forward with the project.
|
|
|
Post by SDL on Oct 21, 2020 13:04:36 GMT -8
Something has changed. We have seen no other examples of this and our units seem to work fine. I'll look at our latest board with the BMP280 board that we are testing now.
BP
|
|