Подключение датчика температуры, влажности и давления BME280 к ESP8266

Схема подключения BME280 к ESP8266 или ESP32

Для примера возьмем плату Node MCU и датчик BME280. Для ESP32 принцип тот же.

Подключим по следующей схеме:

 

VIN3V3 NodeMCU

GNDGND NodeMCU

SDAD6 NodeMCU (GPIO12)

SCLD5 NodeMCU (GPIO14)

Я использую прошивку ESPHome, поэтому все настройки для примера буду проводить именно в ней.

Добавляем в конфиг esphome пины i2c:

i2c:
  sda: D6
  scl: D5
  scan: True

 

И смотрим лог esphome на предмет i2c адреса датчика.

Распознался адрес bme280 — 0x76

Теперь добавляем в конфиг esphome данные датчика, с указанием адреса:

sensor:
  - platform: bme280
    temperature:
      name: "bme280_temperature"
      oversampling: 16x
    pressure:
      name: "bme280_pressure"
    humidity:
      name: "bme280_humidity"
    address: 0x76
    update_interval: 60s

 

И можно загружать прошивку.

Как видно по логу, данные о температуре, влажности и давлении успешно считываются.

Полный конфиг для esphome выглядит следующим образом:

esphome:
  name: nodemcu
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: 'ssid'
  password: 'password'

logger:

api:
  password: "nodemcu"

ota:
  password: "nodemcu"

i2c:
  sda: D6
  scl: D5
  scan: True

sensor:
  - platform: bme280
    temperature:
      name: "bme280_temperature"
      oversampling: 16x
    pressure:
      name: "bme280_pressure"
    humidity:
      name: "bme280_humidity"
    address: 0x76
    update_interval: 60s

 

В Home Assistant добавляем через Настройки > Интеграции > ESPHome

Данное исполнение датчика дает нам возможность изменить его i2c адрес.

Для этого нужно аккуратно перерезать дорожку, соединяющую левый и центральный контакт.

Затем соединяем центральный и правый контакт. Адрес i2c изменится с 0x76 на 0x77

 

Поделитесь с друзьями

комментариев 8

    • Да, поэтому в конфиге name: «bme280_temperature», а уже после я жму шестеренку и пишу имя по русски.

  1. Здравствуйте, Alex, у меня похожий датчик только у меня bmp280, можете подсказать как его откалибровать кажет вот такое высокое давление

  2. Добрый) при исполнение вашего урока в 2024,04..возникла проблема…. оказывается изменилось название библиотек теперь надо прописывать так..
    ////////////////////////////////////////////////
    sensor:
     — platform: bme280_i2c
      temperature:
       name: «BME280 Temp»
       oversampling: 16x
      pressure:
       name: «BME280 Dav»
      humidity:
       name: «BME280 Vla»
      address: 0x76
      update_interval: 10s

    ///////////////////////////////

    # Example configuration entry SPI
    sensor:
     — platform: bme280_spi
      temperature:
       name: «BME280 Temperature»
       oversampling: 16x
      pressure:
       name: «BME280 Pressure»
      humidity:
       name: «BME280 Humidity»
      cs_pin: GPIO5
      update_interval: 60s
    /////////////////////////////////
    а иначе не проходит инсталляция….. но теперь возникла проблема не корректнее отображение температуры и давления…. и в чем может быть проблема ?
    [06:03:50][D][sensor:093]: ‘BME280 Temp’: Sending state -147.51219 °C with 1 decimals of accuracy
    [06:03:50][D][sensor:093]: ‘BME280 Dav’: Sending state 184.93742 hPa with 1 decimals of accuracy
    [06:03:50][D][sensor:093]: ‘BME280 Vla’: Sending state 25.55078 % with 1 decimals of accuracy
    ///

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Exit mobile version