06-20-2023 07:18 AM - edited 06-20-2023 08:12 AM
I am using a BME680 sensor with the Raspberry Pi 4 BSCE library (ver. 2.4.0.0) and have successfully started a basic IAQ measurement application using Arduino basic.ino code. However, my IAQ initial value is 50 when the application starts, while most people's initial IAQ value is 25. Is the initial value automatically set by the sensor?
Every time I start my application, it takes a long time to calibrate IAQ, but I don't want this for power-saving purposes(Currently using LP Smaple Rate). My application scenario involves sampling temperature, pressure, humidity, and IAQ every 30 minutes using Python as the programming language. However, I have failed to build libalgobsec.a into a Python C extension, so I had to build my IAQ application into an executable file using GCC. I start my IAQ application every 30 minutes using a Python subprocess.
My c code: https://github.com/Mark-Walen/bsec-bm680-linux.git
06-20-2023 05:12 PM
Hi Mark-Walen,
You need to run the software until the IAQ accuracy is 3, during which the IAQ value is not automatically set.
You should refer to the configuration in the BSEC2.4.0.0 integration document to call BSEC, instead of setting it to 30 minutes.
06-21-2023 05:42 AM - edited 06-21-2023 05:46 AM
Hi BSTRobin,
The configuration I'm using is bme680_iaq_33v3s_4d. However, I still cannot understand why my initial IAQ value differs from other people's. Is the initial value random or it does not matter? I want to figure this out because even when the IAQ accuracy is 3, the IAQ value is still higher than normal. I've been running my application for two days now in the office.
The longer I run the iaq application, the more precise the IAQ value becomes. Is this true?
I was unable to build libalgobsec.a into a Python C extension because some of the functions in the algobsec library are not compatible with Position Independent Code (PIC). If this issue can be solved, it would be perfect.
08-24-2023 05:11 AM
Hi Mark-Walen,
As you used bme680_iaq_33v3s_4d config file, BSEC algorithm have to be called every 3 seconds. What is the unit of the timestamp you printed in your log files? See it from your log file, it seems it is not correct.
08-30-2023 09:52 PM
Hello Mark-Walen,
After BSEC 2.2.0.0, default IAQ was changed to 50, not 25.
Therefore, your value is correct.
Here is release update for BSEC 2.2.0.0.
IAQ algorithm improved w/r to interaction and performance by optimized baseline adaptation. Accordingly, the IAQ adaptation points have been updated to 50 & 200 for best user experience (former versions used 25 & 250).
Thank you.