Project Description

The BSEC library provides signal processing and sensor fusion for the BME680, a low-power gas, temperature, humidity and pressure sensor. This sensor communicates with the MCU using SPI or I2C to report the measurements, but lacks in-die calculation for air quality index, it just reports the gas sensor resistance.

Bosch provides a closed-source software library called BSEC to process and fusion the BME680 sensor signals. It provides several outputs called "virtual sensors", one of them being the air quality index (IAQ):

BSEC_OUTPUT_RAW_PRESSURE
BSEC_OUTPUT_RAW_TEMPERATURE
BSEC_OUTPUT_RAW_HUMIDITY
BSEC_OUTPUT_RAW_GAS
BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE
BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY
BSEC_OUTPUT_IAQ
BSEC_OUTPUT_STABILIZATION_STATUS
BSEC_OUTPUT_RUN_IN_STATUS

The reason for writing python bindings for the BSEC library is to integrate the BME680 air quality measurements to HomeAssistant running in a RaspberryPi.

Goal for this Hackweek

  • Write the Python bindings for the BSEC library
  • HomeAssistant integration

Resources

BME680

BSEC

Sensor API

HomeAssistant

Looking for hackers with the skills:

raspberrypi sensors hardware

This project is part of:

Hack Week 20

Activity

  • over 4 years ago: gabolptr liked this project.
  • over 4 years ago: dmdiss liked this project.
  • over 4 years ago: scabrero added keyword "raspberrypi" to this project.
  • over 4 years ago: scabrero added keyword "sensors" to this project.
  • over 4 years ago: scabrero added keyword "hardware" to this project.
  • over 4 years ago: scabrero originated this project.

  • Comments

    • gabolptr
      over 4 years ago by gabolptr | Reply

      A short comment:

      These two repositories make a link between the BSEC library and some kind of publishing. The library is instantiated via a C program, and the output is caputured/parsed by a python wrapper.

      • https://github.com/rstoermer/bsecbme680python/
      • https://github.com/timothybrown/BSEC-Conduit

      These indicate there is some demand out there :)

    Similar Projects

    Backfire TV - Take back control of your Firestick by andreabenini

    Take Back Control of Your Amazon Firestick.
    Tired of Ads, a cluttered launcher, and buttons you can't change? BackFireTV is a project to liberate your Firestick from Amazon's walled garden and make it truly yours. They call it the firestick. To fight fire with fire, you need a backfire.

    That's the soul of BackFireTV. To truly liberate it and return back to its core capabilities this project uses a linux script, one Android app and ADB access against Amazon's restrictive policies. We leverage these internal tools to create a "backfire" against the incessant ads and locked ecosystem, transforming your Firestick back into the useful, customizable device it was always meant to be.

    Goals

    I'm still defining it as a side project and something I'll surely do in the upcoming days with hw I already have. btw I'd like to register it in advance in order to work on it. I already have a somehow working concept I'll redefine later during the week


    Capyboard, ESP32 Development Board for Education by emiler

    Capyboard is an ESP32 development board built to accept individual custom-made modules. The board is created primarily for use in education, where you want to focus on embedded programming instead of spending time with connecting cables and parts on a breadboard, as you would with Arduino and other such devices. The board is not limited only to education and it can be used to build, for instance, a very powerful internal meteo-station and so on.

    Hack Week 25

    My plan is to create a new revision of the board with updated dimensions and possibly even use a new ESP32 with Zigbee/Thread support. I also want to create an extensive library of example projects and expand the documentation. It would be nice to also design additional modules, such multiplexer or an environment module.

    Goals

    • Implement changes to a new board revision
    • Design additional modules
    • Expand documentation and examples
    • Migrate documentation backend from MkDocs to Zensical

    Hack Week 24

    I created a new motherboard revision after testing my previous prototype, as well as a light module. This project was also a part of my master's thesis, which was defended successfully.

    Goals

    • Finish testing of a new prototype
    • Publish source files
    • Documentation completion
    • Finish writing thesis