Comments (6)
Since the offset is adjusting the raw temperature value used in the humidity compensation, I don't believe these results can be incorrect. But they're awfully unintuitive to rationalise.
It might stand to reason that a device sensing a warmer ambient temperature would compensate the %RH measurements up if we assume that the temperature variation has no affect on the raw value read by the sensor. Or perhaps even an inversely proportional relationship.
I'm not sure how the sensor fundamentally operates, but it doesn't seem crazy to suggest that warmer air holding more moisture would also yield less of that moisture to the sensor thus requiring a proportional increase in the %RH measurement to compensate.
from bme680-python.
If that is a mere compensation and not a calculation of the RH based on temperature (which implies a decrease in RH when T increases), then, maybe, the offset should not be used in this calculation, since the compensation should in fact be based on the temperature measured by the sensor, not the "offsetted" one.
What do you think?
Hope I made myself clear...
from bme680-python.
That's a pretty good point- but I think we're still on the right track. The offset exists purely for compensating the humidity calculation- it serves no other purpose.
In many cases the temperature read by the sensor will be incorrect for the surrounding air temperature since it's directly heated by the Pi. If it's the temperature of the air that affects the reading, and not the temperature of the sensor itself then that would suggest this offset calculation is correct.
The discussion here #11 suggests that BOSCH recommend direct temperature compensation, and supply an API entry point for it. I'm reasonably comfortable our approach is correct.
If you want to offset only the temperature, you can just add a value to the converted output in degrees C and Humidity readings will remain unchanged.
from bme680-python.
If it's the temperature of the air that affects the reading, and not the temperature of the sensor itself
This is what I'm not sure about and cannot find any information on... do you have any reference?
If that was the case, I would expect their library to include a user defined offset in the calculation too, as it is done here...
from bme680-python.
I believe that their library does not- but their unified sensor API does- it’s a separation of concerns that we can’t really implement since their sensor API is closed-source and can’t be ported to Python.
I believe temperature compensation isn’t strictly necessary for humidity and serves only to convert it from “absolute” humidity (the amount of moisture in the air) to “relative” humidity (what this humidity feels like to a person). IE: hot, humid air feels more humid than cold, humid air.
from bme680-python.
I have the Gravity: I2C BME680 from dfrobot and DHT22 both providing readings. Recently I tried calibrating humidity using a saturated salt solution, and had to move the breadboard around... needless to say some things were disconnected. After some troubleshooting the reading from BME680 are way off! I'm going trough Bosch literature and all the Google results, but keep coming back here. I hope some of you can offer a clue. This doesn't look like a simple offset.
here is the past 6 hours. AQ is off because I reduced initial burn-in.
temp/hum was ok for the past 30 days, but went nuts just now:
from bme680-python.
Related Issues (20)
- Invalid CHIP ID: 0x60 HOT 4
- IOError: [Errno 121] Remote I/O error HOT 16
- can I make a pi with the bme680 hat act as a zigbee z-wave device ? HOT 1
- chip id issue with BME680 Breakout HOT 4
- Solution for "BME680 Not Found. Invalid CHIP ID: 0x-79"
- Broken link in readme? HOT 3
- SPI instead of I2C? HOT 3
- heat_stable goes to False, then intermittent Errno 121
- Add support for IAQ, eCO2 and bVOCe HOT 1
- Error in get_sensor_data (after running for some time)
- gas same value
- How can the heater be disabled? HOT 1
- constants don't match Bosch-version
- Micropython bme.data.gas_resistance always exact same reading (-1.986394e+07 Ohms)
- Altitude and sea level pressure HOT 2
- How do I force sleep mode?
- Can this be used in micropython? HOT 3
- Getting the estimated CO2 in ppm
- Using v2.0.0 with temperature_pressure_humidity.py unmodified example from repository HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bme680-python.