Bosch BME280 Environmental Sensor


bme280 센서 플랫폼을 사용하면 I2c 버스 (SDA, SCL 핀)를 통해 연결된 Bosch BME280 Environmental sensor의 온도, 습도 및 압력 값을 읽을 수 있습니다. 데이터 시트에 설명된 센서의 모든 작동 모드를 사용할 수 있습니다.

테스트된 장치 :

설정

설비에서 BME280 센서를 사용하려면 configuration.yaml 파일에 다음을 추가하십시오.

# Example configuration.yaml entry
sensor:
  - platform: bme280

Configuration Variables

name

(string)(Optional)

The name of the sensor.

Default value:

BME280 Sensor

i2c_address

(string)(Optional)

I2c address of the sensor. It is 0x76 or 0x77.

Default value:

118

i2c_bus

(integer)(Optional)

I2c bus where the sensor is.

Default value:

1, for Raspberry Pi 2 and 3.

operation_mode

(integer)(Optional)

Power mode for the sensor. Use 2 for forced mode or 3 for normal mode.

Default value:

3

time_standby

(integer)(Optional)

Standby time in ms for normal mode of operation as described in the sensor datasheet.

Default value:

5

oversampling_temperature

(integer)(Optional)

Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16.

Default value:

1

oversampling_pressure

(integer)(Optional)

Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16.

Default value:

1

oversampling_humidity

(integer)(Optional)

Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16.

Default value:

1

filter_mode

(integer)(Optional)

IIR filter coeficient as described in the sensor datasheet.

Default value:

0

delta_temperature

(float)(Optional)

Absolute delta for temperature correction.

Default value:

0

monitored_conditions

(list)(Optional)

Conditions to monitor. Available conditions are temperature, humidity and pressure.

Default value:

All three conditions

전체 사례

디지털 센서의 작동 모드를 지정하거나 기본 I2c 주소(0x76)를 변경해야하는 경우 configuration.yaml 파일에 세부 사항을 추가하십시오.

# Example of customized configuration.yaml entry
sensor:
  - platform: bme280
    name: Ambient
    i2c_address: 0x77
    operation_mode: 2  # forced mode
    time_standby: 5
    oversampling_temperature: 4
    oversampling_pressure: 4
    oversampling_humidity: 4
    delta_temperature: -0.5
    monitored_conditions:
      - temperature
      - humidity
      - pressure
    scan_interval: 40

이 센서는 다른 센서에 비해 상대적으로 높은 온도 측정을 생성하는 것으로 유명합니다 (자체 가열은 일부 캡슐화에 좋지 않은 것처럼 보입니다). 이 문제가 발생하면 음수(negative number)를 사용하여 온도 보정의 절대 델타(negative number)를 정의할 수 있습니다.

센서 데이터 사용자 정의

값에 친숙한 이름과 아이콘을 지정하고 customize: 섹션에 다음을 추가하십시오.

# Example configuration.yaml entry
customize:
  sensor.ambient_temperature:
    icon: mdi:thermometer
    friendly_name: "Temperature"
  sensor.ambient_humidity:
    icon: mdi:weather-rainy
    friendly_name: "Humidity"
  sensor.ambient_pressure:
    icon: mdi:gauge
    friendly_name: "Pressure"

그룹을 만들려면 groups 섹션에 다음을 추가하십시오.

# Example configuration.yaml entry
group:
  ambient_sensor:
    name: BME280 Environment sensor
    entities:
      - sensor.ambient_temperature
      - sensor.ambient_humidity
      - sensor.ambient_pressure

Raspberry Pi에 smbus 지원 설치 지침

Raspberry Pi 설정 유틸리티를 사용하여 I2c 인터페이스를 활성화하십시오.

# pi user environment: Enable i2c interface
$ sudo raspi-config

Select Interfacing options->I2C choose <Yes> and hit Enter, then go to Finish and you’ll be prompted to reboot.

Install dependencies for use the smbus-cffi module and enable your homeassistant user to join the i2c group:

# pi user environment: Install i2c dependencies and utilities
$ sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev

# pi user environment: Add homeassistant user to the i2c group
$ sudo addgroup homeassistant i2c

# pi user environment: Reboot Raspberry Pi to apply changes
$ sudo reboot

센서의 i2c 주소 확인

i2c-tools를 설치한 후, 연결된 센서의 주소를 스캔하기 위해 새로운 유틸리티를 사용할 수 있습니다 :

$ /usr/sbin/i2cdetect -y 1

It will output a table like this:

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- 23 -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- UU -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 77

따라서 찾고있는 센서 주소가 0x77임을 알 수 있습니다 (해당 라즈베리 파이에는 i2c 센서가 더 있습니다).