Схема подключения BME280 к ESP8266 или ESP32
Для примера возьмем плату Node MCU и датчик BME280. Для ESP32 принцип тот же.
Подключим по следующей схеме:

VIN — 3V3 NodeMCU
GND — GND NodeMCU
SDA — D6 NodeMCU (GPIO12)
SCL — D5 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





Если по русски назвать Температуру, то в Home Assistant потом не отобразится: https://github.com/esphome/issues/issues/819
Да, поэтому в конфиге name: «bme280_temperature», а уже после я жму шестеренку и пишу имя по русски.
Здравствуйте, Alex, у меня похожий датчик только у меня bmp280, можете подсказать как его откалибровать кажет вот такое высокое давление
Здравствуйте! Могу предположить что это из-за неуказанного значения высоты над уровнем моря, гляньте STANDARD_SEA_LEVEL_PRESSURE тут: https://esphome.io/cookbook/bme280_environment.html
Прошу извинить. 962hPa (гектопаскаль) — это 720 мм ртутного столба. Я бы назвал это давление низким, а не высоким. Норма в гПа — чуть больше 1000 Табличка.
А как перевести в стандарт?
p=p*0.00750062
Добрый) при исполнение вашего урока в 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… Подробнее »