{"id":20077423,"url":"https://github.com/drogue-iot/drogue-bme680","last_synced_at":"2025-05-05T22:30:55.398Z","repository":{"id":44796763,"uuid":"301321429","full_name":"drogue-iot/drogue-bme680","owner":"drogue-iot","description":"A driver for the BME680 sensor, written in Rust.","archived":false,"fork":false,"pushed_at":"2022-01-24T08:09:03.000Z","size":58,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-02T09:49:38.100Z","etag":null,"topics":["bme680","driver","embedded","iot","sensor"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drogue-iot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-05T07:07:11.000Z","updated_at":"2022-05-29T08:10:52.000Z","dependencies_parsed_at":"2022-09-07T15:40:32.558Z","dependency_job_id":null,"html_url":"https://github.com/drogue-iot/drogue-bme680","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-bme680","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-bme680/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-bme680/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drogue-iot%2Fdrogue-bme680/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drogue-iot","download_url":"https://codeload.github.com/drogue-iot/drogue-bme680/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252586018,"owners_count":21772238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bme680","driver","embedded","iot","sensor"],"created_at":"2024-11-13T15:08:10.900Z","updated_at":"2025-05-05T22:30:55.083Z","avatar_url":"https://github.com/drogue-iot.png","language":"Rust","readme":"# Drogue IoT BME680 Sensor driver\n\n[![CI](https://github.com/drogue-iot/drogue-bme680/workflows/CI/badge.svg)](https://github.com/drogue-iot/drogue-bme680/actions?query=workflow%3A%22CI%22)\n[![crates.io](https://img.shields.io/crates/v/drogue-bme680.svg)](https://crates.io/crates/drogue-bme680)\n[![docs.rs](https://docs.rs/drogue-bme680/badge.svg)](https://docs.rs/drogue-bme680)\n[![Matrix](https://img.shields.io/matrix/drogue-iot:matrix.org)](https://matrix.to/#/#drogue-iot:matrix.org)\n\nThe BME680 sensor is a \"low power gas, pressure, temperature \u0026 humidity sensor\" from Bosch Sensortec.\n\nThis crate helps to interface with the sensor. Offering general purpose access to the sensor, as well as a more\nopinionated controller logic, simplifying the process of taking measurements.\n\n## More information\n\n- [BME680 product page](https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors-bme680/)\n- [C version of the driver](https://github.com/BoschSensortec/BME680_driver)\n\n## Simple example\n\n```rust\nfn main() -\u003e ! {\n  let i2c = mock::blocking_i2c();\n\n  let bme680 = Bme680Sensor::from(i2c, Address::Secondary).unwrap();\n  let delay = mock::MockDelay;\n\n  let mut controller = Bme680Controller::new(\n    bme680,\n    delay,\n    Configuration::standard(),\n    StaticProvider(25),,  // fixed 25 degrees Celsius as ambient temperature\n  ).unwrap();\n\n  loop {\n    let result = controller.measure_default().unwrap();\n    log::info!(\"Measured: {:?}\", result);\n  }\n}\n```\n\nSee: [examples/](examples/)\n\n## BSEC\n\nThis crate can work together with the [Bosch Sensortec Environmental Cluster (BSEC)](https://www.bosch-sensortec.com/software-tools/software/bsec/) library.\n\nHowever, as the BSEC library is not open source, this crate does not include any dependencies, headers or other related\nartifacts of it. The BSEC interface is part of [drogue-bsec](https://github.com/drogue-iot/drogue-bsec).\n\n## Run unit tests\n\nYou can run the unit tests on simple host machine using:\n\n    cargo test --features env_logging test\n\n## Run examples\n\nRun with (STM32F411):\n\n    cargo embed --release --features stm32f4xx --target thumbv7em-none-eabihf --example simple\n\nRun with (STM32F723):\n\n    cargo embed --release --features stm32f7xx --target thumbv7em-none-eabihf --example simple\n\n## Dump data\n\nYou can enable logging of raw data, by enabling the feature `dump`, using `--features dump`.\nNote that this requires a logging implementation, such as `rtt-logger`. Note that this may have a\nhuge negative impact on performance.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrogue-iot%2Fdrogue-bme680","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrogue-iot%2Fdrogue-bme680","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrogue-iot%2Fdrogue-bme680/lists"}