-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sensor driver for BME680 sensor - update to version 3.5.9 #2969
Conversation
@Michal78S it would be great to get your confirmation that this fix solves the issue. Can you build a firmware from @vsky279's branch for testing? |
I agree that it is good idea to know whether it solves @Michal78S's issue. |
It is an honor for me, but since I have started nodemcu i build firmware with cloud builder... |
@Michal78S What modules do you need? I will compile the fw for you. Floating version? |
The standard modules: GPIO, net, node, timer, uart, wifi and of course i2c, BME680. |
Please find the compiled module here: https://github.com/vsky279/bme680_bin/blob/master/nodemcu_float_bme680_20191203-0946.bin. The issue with IAQ calculation is that the algorithm has not been published by Bosh. Please see module documentation:
If you find somewhere module implementing IAQ calculation then we can replicate it here. |
I made the Lua code for reading data from module GY-MCU680V1 with sensor BME680 and STM32. It reads IAQ and gas resistance values: https://github.com/shimosaurus/mcu680 |
@shimosaurus Woah, you even used our documentation template in your README 😄 Great job. Is that really all the code it takes? Were your inspired by this gist https://gist.github.com/xxlukas42/a878f5c44f1ec108a460e9b9500b79f5 ? |
Have you tested it? I can't imagine this can be the way to get the IAQ value. Bosch's documentations says the IAQ calculation is made available through the BSEC library which is not open-sourced. The code you provide is a bit weak as the commands sent to the sensor are not documented. |
Nice job :) but it works only with module GY-MCU680 where are STM32 and BME680. Main job and calculations provides STM32. This solution has groving number of ussers because is one of few available so adding Lua code for it is good idea. |
I was inspired here: https://forum.mysensors.org/post/94736 but @xxlukas42 used probably the same source.
As @Michal78S wrote - my code doesn't count IAQ, but reads "only" the STM32 output on the GY-MCU680 board where BSEC is running. But as long as the BSEC library is closed-source, this solution is a way to obtain IAQ values into the NodeMCU Lua. My comment was not directed mainly to this pull request but to query @Michal78S how to get IAQ values. |
Oh, I see that puzzled me. |
I can confirm, new BME680 driver works better. I got the same readings of pressure from BME680 and BME280. During weekend I'm going to make outdoor tests (wider temp. range). Other importatnt thing is @shimosaurus solution. Many NodeMCU users don't konow about it, so how about add it to the cloud builder? |
Jan could make a PR to have the script hosted at https://github.com/nodemcu/nodemcu-firmware/tree/master/lua_modules - that's up to him. It would then also show up under the Lua modules at https://nodemcu.readthedocs.io/en/latest/.
Contrary to C modules Lua modules are not built into the firmware binary. You need to provision them separately via SPIFFS or LFS. |
Fixes #2944.
dev
branch rather than formaster
.docs/*
.Solves the issue where the air pressure, humidity and gas resistance are not compensated during ambient temperature changes.
Updates the Bosh BME680 driver from version 3.5.1 to current version 3.5.9.