Bme280 (elixir_bme680 v0.2.2) View Source
elixir_bme280
provides a high level abstraction to interface with the
BME280 environmental sensor on Linux platforms.
Link to this section Summary
Functions
Returns a specification to start this module under a supervisor.
Callback implementation for GenServer.init/1
.
Perform a measurement on the BME280 sensor and synchronously return it
Perform a measurement on the BME280 sensor and asynchronously send the result
as a message to the pid in send_to
Starts and links the Bme280
GenServer.
Link to this section Functions
Returns a specification to start this module under a supervisor.
See Supervisor
.
Callback implementation for GenServer.init/1
.
Specs
measure(GenServer.server()) :: %Bme280.Measurement{ humidity: float() | nil, pressure: float(), temperature: float() }
Perform a measurement on the BME280 sensor and synchronously return it
Measurements are structs like:
%Bme280.Measurement{
temperature: 21.74,
pressure: 30.52,
humidity: 45.32
}
Specs
measure_async(GenServer.server(), pid()) :: :ok
Perform a measurement on the BME280 sensor and asynchronously send the result
as a message to the pid in send_to
Specs
start_link( [ i2c_device_number: integer(), i2c_address: 118 | 119, temperature_offset: non_neg_integer() ], [term()] ) :: GenServer.on_start()
Starts and links the Bme280
GenServer.
Options:
i2c_device_number
is the number of the i2c device, e.g. 1 for/dev/i2c-1
i2c_address
i2c address of the sensor. It can be only0x76
or0x77
temperature_offset
is an offset, in degrees Celsius, that will be subtracted to temperature measurements in order to compensate for the internal heating of the device. It's typically around 4 or 5 degrees, and also affects relative humidity calculations
Specs
stop(GenServer.server()) :: :ok
Gracefully stops the Bme280
GenServer.