Skip to content

seotaro/BME68x_SensorAPI-on-RPI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BME68X Sensor API on Raspberry Pi

Bosch Sensortec's BME680 and BME688 sensor API

Sensor Overview

BME680 is an integrated environmental sensor developed specifically for mobile applications and wearables where size and low power consumption are key requirements. Expanding Bosch Sensortec’s existing family of environmental sensors, the BME680 integrates for the first time high-linearity and high-accuracy gas, pressure, humidity and temperature sensors. It consists of an 8-pin metal-lid 3.0 x 3.0 x 0.93 mm³ LGA package which is designed for optimized consumption depending on the specific operating mode, long term stability and high EMC robustness. The gas sensor within the BME680 can detect a broad range of gases to measure air quality for personal well being. Gases that can be detected by the BME680 include Volatile Organic Compounds (VOC) from paints (such as formaldehyde), lacquers, paint strippers, cleaning supplies, furnishings, office equipment, glues, adhesives and alcohol.

Features

  • Air quality measurement
  • Personalized weather station
  • Context awareness, e.g. skin moisture detection, room change detection
  • Fitness monitoring / well-being
  • Warning regarding dryness or high temperatures
  • Measurement of volume and air flow
  • Home automation control (e.g. HVAC)
  • GPS enhancement (e.g. time-to-first-fix improvement, dead reckoning, slope detection)
  • Indoor navigation (change of floor detection, elevator detection)
  • Altitude tracking and calories expenditure for sports activities

Important links

For more information, please refer to:

Run examples

forced mode

cd examples/forced_mode/
make
./forced_mode

Output example

./forced_mode 
Sample, TimeStamp(ms), Temperature(deg C), Pressure(Pa), Humidity(%), Gas resistance(ohm), Status
1, 79392299, 34.12, 101466.34, 23.68, 1387064.00, 0xa0
2, 79392451, 34.34, 101457.98, 23.72, 16913.32, 0xb0
3, 79392604, 34.89, 101462.57, 23.79, 15245.35, 0xb0
4, 79392756, 35.44, 101464.20, 23.85, 17728.53, 0xb0
5, 79392909, 35.86, 101458.32, 23.89, 20605.28, 0xb0
6, 79393062, 36.16, 101463.26, 23.90, 24279.21, 0xb0
7, 79393215, 36.41, 101467.37, 23.91, 27556.51, 0xb0
8, 79393363, 36.58, 101467.73, 23.89, 30910.41, 0xb0
9, 79393514, 36.74, 101460.72, 23.86, 34233.75, 0xb0
10, 79393666, 36.87, 101465.22, 23.83, 37746.98, 0xb0
11, 79393815, 36.96, 101461.39, 23.78, 41170.79, 0xb0
12, 79393967, 37.08, 101460.94, 23.74, 44153.16, 0xb0
13, 79394120, 37.15, 101464.67, 23.68, 48448.14, 0xb0

parallel mode

cd examples/parallel_mode/
make
./parallel_mode

Output example

./parallel_mode 
Print parallel mode data if mask for new data(0x80), gas measurement(0x20) and heater stability(0x10) are set

Sample, TimeStamp(ms), Temperature(deg C), Pressure(Pa), Humidity(%), Gas resistance(ohm), Status, Gas index, Meas index
1, 79690039, 36.80, 101458.26, 24.46, 15590.74, 0xb0, 0, 4
2, 79690337, 36.77, 101465.91, 24.37, 407724.47, 0xb0, 1, 6
3, 79691675, 37.12, 101467.52, 23.78, 429800.62, 0xb0, 2, 16
4, 79695930, 37.61, 101471.03, 22.32, 513927.22, 0xb0, 3, 46
5, 79696525, 38.25, 101468.80, 22.22, 58115.78, 0xb0, 4, 51
6, 79697268, 38.69, 101472.42, 22.04, 57722.66, 0xb0, 5, 56
7, 79698012, 38.90, 101468.97, 21.85, 59493.38, 0xb0, 6, 61
8, 79698607, 39.24, 101469.76, 21.64, 26315.79, 0xb0, 7, 66

sequential mode

cd examples/sequential_mode/
make
./sequential_mode

Output example

./sequential_mode
Sample, TimeStamp(ms), Temperature(deg C), Pressure(Pa), Humidity(%), Gas resistance(ohm), Status, Profile index, Measurement index
1, 79762934, 41.91, 101471.10, 18.37, 5300550.00, 0xa0, 0, 0
2, 79763084, 41.28, 101471.51, 18.28, 4896593.00, 0xa0, 1, 1
3, 79763235, 40.77, 101482.89, 18.21, 4457018.50, 0xa0, 2, 2
4, 79763386, 40.38, 101478.95, 18.16, 4096000.00, 0xa0, 3, 3
5, 79763537, 40.10, 101472.23, 18.13, 3721944.50, 0xa0, 4, 4
6, 79763687, 39.91, 101479.33, 18.11, 3410491.25, 0xa0, 5, 5
7, 79763838, 39.74, 101476.79, 18.10, 3165378.75, 0xa0, 6, 6
8, 79763989, 39.61, 101469.60, 18.10, 2986511.00, 0xa0, 7, 7
9, 79764140, 39.50, 101468.59, 18.11, 2910124.25, 0xa0, 8, 8
10, 79764290, 39.41, 101472.56, 18.12, 2796859.00, 0xa0, 9, 9

self test

cd examples/self_test/
make
./self_test

Output example

./self_test
Self-test passed

About

Common Sensor API for the BME680 and BME688 sensors

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 100.0%