Problème de bus multiples i2c
Bonjour à tous,
Je voudrais faire un projet à base d’ESP8266 NodeMCU avec 3 capteurs : 1 capteur de température DHT22, un capteur de luminosité BH1750, et un capteur de CO2 CCS811.
Les BH1750 et CCS811 utilisent tous les 2 un bis i2c. J’essaye donc d’utiliser des id.
J’arrive à faire fonctionner le BH1750 seul avec un id configuré comme suit :
i2c:
id: bus_a
sda: GPIO4
scl: GPIO5
Mais ça ne foncktionne pas lorsque je veux configurer 2 busses comme indiqué dans la doc comme suit :
i2c:
- id: bus_a
sda: GPIO4
scl: GPIO5
- id: bus_b
sda: GPIO14
scl: GPIO12
Pourtant, dans les logs, il me voit bien le capteur :
[16:53:33][C][i2c.arduino:052]: I2C Bus:
[16:53:33][C][i2c.arduino:053]: SDA Pin: GPIO4
[16:53:33][C][i2c.arduino:054]: SCL Pin: GPIO5
[16:53:33][C][i2c.arduino:055]: Frequency: 50000 Hz
[16:53:33][C][i2c.arduino:058]: Recovery: bus successfully recovered
[16:53:33][I][i2c.arduino:068]: Results from i2c bus scan:
[16:53:33][I][i2c.arduino:074]: Found i2c device at address 0x23
Mais un peu plus bas, il n’arrive pas à commuiniquer avec :
[16:53:33][E][bh1750.sensor:121]: Communication with BH1750 failed!
Voici mon fichier de configuration complet :
esphome:
name: capteur-salle-a-manger
esp8266:
board: nodemcu
# WiFi connection
wifi:
networks:
- ssid: !secret wifi_ssid
bssid: 44:D4:53:95:97:38
password: !secret wifi_password
manual_ip:
static_ip: 192.168.1.240
gateway: 192.168.1.1
subnet: 255.255.255.0
dns1: 192.168.1.5
- ssid: !secret wifi_ssid
bssid: 2C:08:23:77:F7:E2
password: !secret wifi_password
manual_ip:
static_ip: 192.168.1.240
gateway: 192.168.1.1
subnet: 255.255.255.0
dns1: 192.168.1.5
# Enable fallback hotspot
ap:
ssid: !secret ap_ssid
password: !secret ap_password
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: !secret api_key
# Enable over-the-air updates
ota:
password: !secret ota_password
# Enable Web server
web_server:
port: 80
# Sync time with Home Assistant
time:
- platform: homeassistant
id: homeassistant_time
captive_portal:
# Text sensors with general information
text_sensor:
# ESPHome version
- platform: version
name: "capteur-salle-a-manger ESPHome Version"
# WiFi information
- platform: wifi_info
ip_address:
name: "capteur-salle-a-manger IP"
ssid:
name: "capteur-salle-a-manger SSID"
bssid:
name: "capteur-salle-a-manger BSSID"
i2c:
- id: bus_a
sda: GPIO4
scl: GPIO5
- id: bus_b
sda: GPIO14
scl: GPIO12
sensor:
# Uptime sensor
- platform: uptime
name: "capteur-salle-a-manger Uptime"
# WiFi signal sensor
- platform: wifi_signal
name: "capteur-salle-a-manger WiFi Signal"
update_interval: 60s
# Illuminance Sensor
- platform: bh1750
i2c_id: bus_a
name: "Luminosité"
address: 0x23
update_interval: 30s
# CO2 Sensor
- platform: ccs811
i2c_id: bus_b
eco2:
name: "CO2"
tvoc:
name: "Composé organique volatil total"
address: 0x5A
update_interval: 30s
# DHT Sensor
- platform: dht
pin: GPIO0
temperature:
name: "Température"
humidity:
name: "Humidité"
update_interval: 30s
switch:
# Switch Restart
- platform: restart
name: "capteur-salle-a-manger Restart"
Merci d’avance pour votre aide !
Rémi