BH1750


bh1750 센서 플랫폼을 사용하면 I2c 버스 (SDA, SCL 핀)를 통해 연결된 BH1750FVI 센서에서 Lux의 주변 조도를 읽을 수 있습니다. 데이터 시트에 설명된 센서의 모든 해상도(resolution) 모드를 사용할 수 있습니다.

테스트 된 장치 :

설정

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

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

Configuration Variables

name

(string)(Optional)

Name of the sensor.

Default value:

BH1750 Light Sensor

i2c_address

(string)(Optional)

I2c address of the sensor. It is 0x23 or 0x5C.

Default value:

35

i2c_bus

(integer)(Optional)

I2c bus where the sensor is.

Default value:

1, for Raspberry Pi 2 and 3.

operation_mode

(string)(Optional)

Working mode for the sensor.

Default value:

continuous_high_res_mode_1

sensitivity

(integer)(Optional)

The sensitivity of the sensor can be a value between 31 and 254.

Default value:

69

measurement_delay_ms

(integer)(Optional)

Delay time in ms for waiting the sensor to get the measure.

Default value:

120

multiplier

(integer)(Optional)

Correction coefficient to multiply the measured light level. Value between 0.1 and 10.

Default value:

1

전체 사례

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

The sensor can work with resolutions of 0.5 lx (high res mode 1), 1 lx (high res mode 2) or 4 lx (low res mode), and make measurements continuously or one time each call. To set any of these operation modes, select one of these combinations: continuous_low_res_mode, continuous_high_res_mode_2, continuous_high_res_mode_1, one_time_high_res_mode_1, one_time_high_res_mode_2, one_time_low_res_mode.

# Example of customized configuration.yaml entry
sensor:
  - platform: bh1750
    name: Ambient light
    i2c_address: 0x5C
    operation_mode: one_time_high_res_mode_1
    sensitivity: 60
    measurement_delay_ms: 200
    scan_interval: 25

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

다음과 같은 테이블이 출력됩니다. :

     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

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