Class: I2C::Driver::BME280
- Inherits:
-
Object
- Object
- I2C::Driver::BME280
- Defined in:
- lib/i2c/bme280.rb
Constant Summary collapse
- I2C_ADDRESS =
I2C Bus address
0x76
Instance Method Summary collapse
-
#all ⇒ Hash
returns all sensor values in a hash t: temperature p: pressure h: humidity.
-
#humidity ⇒ Float
The humidity in percent (0.0-100.0).
-
#initialize(device:, i2c_address: I2C_ADDRESS) ⇒ BME280
constructor
A new instance of BME280.
-
#pressure ⇒ Float
The pressure in hectoPascal.
-
#temperature ⇒ Float
The temperature in Celsius.
Constructor Details
#initialize(device:, i2c_address: I2C_ADDRESS) ⇒ BME280
Returns a new instance of BME280.
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/i2c/bme280.rb', line 10 def initialize(device:, i2c_address: I2C_ADDRESS) device = "/dev/i2c-#{device}" if device.is_a?(Integer) if device.is_a?(String) raise ArgumentError, "I2C device #{device} not found. Is the I2C kernel module enabled?" unless File.exists?(device) device = I2C.create(device) end raise ArgumentError unless device.is_a?(I2C::Dev) @device = device @i2c_address = i2c_address end |
Instance Method Details
#all ⇒ Hash
returns all sensor values in a hash t: temperature p: pressure h: humidity
29 30 31 |
# File 'lib/i2c/bme280.rb', line 29 def all data end |
#humidity ⇒ Float
Returns The humidity in percent (0.0-100.0).
44 45 46 |
# File 'lib/i2c/bme280.rb', line 44 def humidity data[:h] end |
#pressure ⇒ Float
Returns The pressure in hectoPascal.
39 40 41 |
# File 'lib/i2c/bme280.rb', line 39 def pressure data[:p] end |
#temperature ⇒ Float
Returns The temperature in Celsius.
34 35 36 |
# File 'lib/i2c/bme280.rb', line 34 def temperature data[:t] end |