alexh-name / bsec_bme680_linux

Read the BME680 sensor with the BSEC library on Linux (e.g. Raspberry Pi)
Other
87 stars 48 forks source link

Questions about the set up #26

Closed howdey57 closed 1 year ago

howdey57 commented 3 years ago

I am not a C programmer, so don't really know what I'm looking at, but have a few questions:

  1. Does your implementation poll for readings every 3 seconds because you have picked up the "generic_33v_3s_4d" config?
  2. After 4 days will it go to low power mode?
  3. Is your suggested implementation to start the loop (./bsec_bme680) and log the output to a file; then read the output into another programme that displays the results?

Thanks in advance

Charles

bsimmo commented 3 years ago

I;m no C programmer either but I've used this, so here goes.

  1. Does your implementation poll for readings every 3 seconds because you have picked up the "generic_33v_3s_4d" config?

Maximum time between bsec_sensor_control() calls = 3s (See 4.1.2.7 in the docs for what this is), but yes. This allows UltraLowPower (ULP) plus mode features

  1. After 4 days will it go to low power mode?

No, This is the "Time considered for background calibration", i.e. It considers teh past 4 days for it background calibration information

  1. Is your suggested implementation to start the loop (./bsec_bme680) and log the output to a file; then read the output into another programme that displays the results?

The bsec_bme680 is run, it displays it output to the console/command line/terminal.
Do what you like with that. Either read it in Python3 (the option provided here), pipe it to something else. Run it and you'll see. Read the /integration_guide/BST-BME680-Integration-Guide-AN008-48.pdf that gives all the gumf about it, you get that when you download the BSEC.

alexh-name commented 1 year ago

Yeah that sums it up. As for the implementation: I wrote this in the expectation that others would pick this up and build things around it for non-programmers, as I was not experienced with that part at the time. As it is, it's designed to be minimal and lightweight for easy code customization and integration to meet whatever needs one might have. I had been working for a HomeKit (Apple Home) integration myself, but lacked the time to polish it for release. This repo has a lot of forks where one could get some insights how others made it work for them. I myself log it into a file and then read it line by line as needed.