11-05-2020 03:19 PM
Hi,
I’m using BME680 with the BSEC library (lite version).
The values of IAQ, bVOC and CO2e remain the same all the time.
I'm using the bsec_integration.c sample code. Searching in other threads here, I found that the outputs of eCO2 and bVOC are not enabled by default, so it has to be set in the function bme680_bsec_update_subscription().
Into bme680_bsec_update_subscription() I added:
requested_virtual_sensors[8].sensor_id = BSEC_OUTPUT_CO2_EQUIVALENT;
requested_virtual_sensors[8].sample_rate = sample_rate;
requested_virtual_sensors[9].sensor_id = BSEC_OUTPUT_BREATH_VOC_EQUIVALENT;
requested_virtual_sensors[9].sample_rate = sample_rate;
And I changed the value of NUM_USED_OUTPUTS and BSEC_MAX_PHYSICAL_SENSOR from 8 to 10.
After that, I started getting values of eCO2 and bVOC but those values never change, as we can see in the log below:
P: 87877,000| GAS: 61936,000| T: 17,844| rH: 65,872| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
P: 87879,000| GAS: 62165,000| T: 17,844| rH: 65,916| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
P: 87877,000| GAS: 62028,000| T: 17,844| rH: 66,028| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
P: 87879,000| GAS: 62304,000| T: 17,854| rH: 66,146| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
P: 87877,000| GAS: 22818,000| T: 17,864| rH: 66,173| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
P: 87881,000| GAS: 12577,000| T: 17,904| rH: 66,358| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
P: 87881,000| GAS: 10785,000| T: 17,964| rH: 66,565| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
P: 87883,000| GAS: 2768,000 | T: 17,994| rH: 67,229| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
P: 87877,000| GAS: 3333,000 | T: 18,054| rH: 67,974| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
P: 87879,000| GAS: 3007,000 | T: 18,104| rH: 68,384| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
P: 87874,000| GAS: 3468,000 | T: 18,154| rH: 68,729| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
P: 87879,000| GAS: 6773,000 | T: 18,204| rH: 68,964| IAQ: 25,000| Static IAQ: 25,000| CO2e: 500,000| bVOC: 0,499
Please note that the value of gas is changing but IAQ, bVOC and CO2e remain the same.
The interval of each output line is 3 seconds.
Is there some additional configuration that I’m missing?
Thanks.
11-05-2020 11:52 PM
Hello Carlos,
I saw your log that static IAQ was 25 and CO2 was 500. It means bme680 is not initialized yet.
You can check with IAQ accuracy.
You can get static IAQ and CO2 value after IAQ accuracy value is >= 1.
Just in case, I attached my example code, please check it 🙂
Thanks,
11-09-2020 02:21 PM - edited 11-09-2020 05:27 PM
Hi Minhwan, thanks for your answer.
I changed my code to initialize the bme680 correctly, according to your code example.
I saw in this topic that the sensor stabilizing lasts normally 5min in LP mode or 20min in ULP mode.
But my application is running for more than 6 hours and the IAQ accuracy value is still in zero.
How long exactly should it take to change the value of IAQ accuracy?
Thanks.
11-09-2020 07:43 PM
Hello Carlos,
If you are using 300s interval or ULP mode, it should take longer.
Can you test with 3s interval version of config file like generic_33v_3s_28d?
And also for test purpose, please test LP mode, and let me know if you still can't see IAQ change to 1 or 3.
Thanks,
11-09-2020 08:21 PM
Hi Minhwan,
The configuration is the same as your example, 3s interval, using config file generic_33v_3s_28d and using LP mode.
Thanks