Class BME680

java.lang.Object
com.diozero.devices.BME680
All Implemented Interfaces:
DeviceInterface, BarometerInterface, HygrometerInterface, SensorInterface, ThermometerInterface, AutoCloseable

public class BME680
extends Object
implements BarometerInterface, ThermometerInterface, HygrometerInterface
  • Field Details

    • DEVICE_ADDRESS

      public static final int DEVICE_ADDRESS
      Default I2C address for the sensor.
      See Also:
      Constant Field Values
  • Constructor Details

    • BME680

      public BME680()
    • BME680

      public BME680​(int controller)
      Create a new BME680 sensor driver connected on the given bus.
      Parameters:
      controller - I2C bus the sensor is connected to.
    • BME680

      public BME680​(int controller, int address)
      Create a new BME680 sensor driver connected on the given bus and address.
      Parameters:
      controller - I2C bus the sensor is connected to.
      address - I2C address of the sensor.
  • Method Details

    • getTemperature

      public float getTemperature()
      Description copied from interface: ThermometerInterface
      Get temperature in degrees celsius
      Specified by:
      getTemperature in interface ThermometerInterface
      Returns:
      Temperature (deg C)
    • getPressure

      public float getPressure()
      Description copied from interface: BarometerInterface
      Get the pressure in kPa
      Specified by:
      getPressure in interface BarometerInterface
      Returns:
      pressure in kPa
    • getRelativeHumidity

      public float getRelativeHumidity()
      Description copied from interface: HygrometerInterface
      Get the relative humidity in percent.
      Specified by:
      getRelativeHumidity in interface HygrometerInterface
      Returns:
      The relative humidity in percent.
    • getGasResistance

      public float getGasResistance()
    • getAirQuality

      public float getAirQuality()
    • close

      public void close()
      Close the driver and the underlying device.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface DeviceInterface
      Specified by:
      close in interface HygrometerInterface
    • setSensorSettings

      public void setSensorSettings​(BME680.HeaterProfile heaterProfile, int heaterTemperature, int heaterDuration, BME680.FilterSize filterSize)
    • getPowerMode

      public BME680.PowerMode getPowerMode()
    • setPowerMode

      public void setPowerMode​(BME680.PowerMode value)
    • getTemperatureOversample

      public BME680.OversamplingMultiplier getTemperatureOversample()
    • setTemperatureOversample

      public void setTemperatureOversample​(BME680.OversamplingMultiplier value)
    • getHumidityOversample

      public BME680.OversamplingMultiplier getHumidityOversample()
    • setHumidityOversample

      public void setHumidityOversample​(BME680.OversamplingMultiplier value)
    • getPressureOversample

      public BME680.OversamplingMultiplier getPressureOversample()
    • setPressureOversample

      public void setPressureOversample​(BME680.OversamplingMultiplier value)
    • getFilter

      public BME680.FilterSize getFilter()
    • setFilter

      public void setFilter​(BME680.FilterSize value)
    • setGasConfig

      public void setGasConfig​(BME680.HeaterProfile profile, int heaterTemperature, int heaterDuration)
    • getGasHeaterProfile

      public BME680.HeaterProfile getGasHeaterProfile()
    • isHeaterEnabled

      public boolean isHeaterEnabled()
    • setHeaterEnabled

      public void setHeaterEnabled​(boolean heaterEnabled)
    • isGasMeasurementEnabled

      public boolean isGasMeasurementEnabled()
    • setGasMeasurementEnabled

      public void setGasMeasurementEnabled​(boolean gasMeasurementsEnabled)
    • setTemperatureOffset

      public void setTemperatureOffset​(int value)
      Set temperature offset in celsius. If set, the temperature t_fine will be increased by given value in celsius.
      Parameters:
      value - temperature offset in Celsius, eg. 4, -8, 1.25
    • getSensorData

      public BME680.Data getSensorData()