Late night post!
Ik heb een ESP32 uitgebreid met een
sensor, en nu wordt een eerdere
sensor niet meer herkend... Iemand die aan de hand van de logs kan zien wat er misgaat? Ik heb de hardwareverbindingen 10x gecheckt en zie daar niets vreemds...
Het gaat om een ESP32 met daaraan een CCS811 (TVOC+eCO2
sensor), SDS011(PM2.5 en PM10.0
sensor) en sinds vandaag ook een SCD30 (CO2
sensor). De CCS811 en SCD30 zijn beide op dezelfde I2C-bus aangesloten, de SDS011 zit op de UART bus. Tot vandaag had ik enkel de CCS811 en SDS011 (1x I2C, 1x UART), maar nu ik vandaag de SCD30 (2e op I2C-bus) heb toegevoegd, ziet hij de CCS811 niet meer, lijkt het wel.
Relevante ESPHome code:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| ## CCS811 Sensor settings
i2c:
sda: 21
scl: 22
sensor:
- platform: ccs811
eco2:
name: "CCS811 eCO2 Value"
tvoc:
name: "CCS811 Total Volatile Organic Compound"
# temperature: CO2_Temperature_ID
# humidity: CO2_Humidity_ID
# address: 0x40
update_interval: 30s
- platform: sds011
pm_2_5:
name: "Particulate Matter <2.5µm Concentration"
pm_10_0:
name: "Particulate Matter <10.0µm Concentration"
update_interval: 1min
- platform: scd30
co2:
name: "Living Room CO2"
temperature:
name: "CO2 Temperature"
id: CO2_Temperature_ID
humidity:
name: "CO2 Humidity"
id: CO2_Humidity_ID
address: 0x61
update_interval: 30s |
Bijbehorende log, zie ook vooral de foutmelding in regel 51: (Excuses voor de lengte... zou hem inkorten als ik wist hoe!)
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
| INFO Reading configuration /config/esphome/airquality.yaml...
INFO Starting log output from airquality.local using esphome API
INFO Successfully connected to airquality.local
[23:38:54][I][app:099]: ESPHome version 2021.11.4 compiled on Dec 14 2021, 23:31:20
[23:38:54][C][wifi:488]: WiFi:
[23:38:54][C][wifi:350]: Local MAC: [redacted]
[23:38:54][C][wifi:351]: SSID: [redacted]
[23:38:54][C][wifi:352]: IP Address: 192.168.1.101
[23:38:54][C][wifi:354]: BSSID: [redacted]
[23:38:54][C][wifi:355]: Hostname: 'airquality'
[23:38:54][C][wifi:357]: Signal strength: -57 dB ▂▄▆█
[23:38:54][C][wifi:361]: Channel: 6
[23:38:54][C][wifi:364]: DNS1: 192.168.1.1
[23:38:54][C][wifi:365]: DNS2: 0.0.0.0
[23:38:54][C][logger:233]: Logger:
[23:38:54][C][logger:234]: Level: DEBUG
[23:38:54][C][logger:235]: Log Baud Rate: 0
[23:38:54][C][logger:236]: Hardware UART: UART0
[23:38:55][C][i2c.arduino:032]: I2C Bus:
[23:38:55][C][i2c.arduino:033]: SDA Pin: GPIO21
[23:38:55][C][i2c.arduino:034]: SCL Pin: GPIO22
[23:38:55][C][i2c.arduino:035]: Frequency: 50000 Hz
[23:38:55][C][i2c.arduino:038]: Recovery: bus successfully recovered
[23:38:55][I][i2c.arduino:048]: Scanning i2c bus for active devices...
[23:38:55][I][i2c.arduino:053]: Found i2c device at address 0x40
[23:38:55][I][i2c.arduino:053]: Found i2c device at address 0x61
[23:38:55][C][uart.arduino_esp32:105]: UART Bus:
[23:38:55][C][uart.arduino_esp32:106]: TX Pin: GPIO1
[23:38:55][C][uart.arduino_esp32:107]: RX Pin: GPIO3
[23:38:55][C][uart.arduino_esp32:109]: RX Buffer Size: 256
[23:38:55][C][uart.arduino_esp32:111]: Baud Rate: 9600 baud
[23:38:55][C][uart.arduino_esp32:112]: Data Bits: 8
[23:38:55][C][uart.arduino_esp32:113]: Parity: NONE
[23:38:55][C][uart.arduino_esp32:114]: Stop bits: 1
[23:38:55][C][ccs811:151]: CCS811
[23:38:55][C][ccs811:152]: Address: 0x5A
[23:38:55][C][ccs811:153]: Update Interval: 30.0s
[23:38:55][C][ccs811:154]: CO2 Sensor 'CCS811 eCO2 Value'
[23:38:55][C][ccs811:154]: Device Class: 'carbon_dioxide'
[23:38:55][C][ccs811:154]: State Class: 'measurement'
[23:38:55][C][ccs811:154]: Unit of Measurement: 'ppm'
[23:38:55][C][ccs811:154]: Accuracy Decimals: 0
[23:38:55][C][ccs811:154]: Icon: 'mdi:molecule-co2'
[23:38:55][C][ccs811:155]: TVOC Sensor 'CCS811 Total Volatile Organic Compound'
[23:38:55][C][ccs811:155]: Device Class: 'volatile_organic_compounds'
[23:38:55][C][ccs811:155]: State Class: 'measurement'
[23:38:55][C][ccs811:155]: Unit of Measurement: 'ppb'
[23:38:55][C][ccs811:155]: Accuracy Decimals: 0
[23:38:55][C][ccs811:155]: Icon: 'mdi:radiator'
[23:38:55][C][ccs811:160]: Baseline: NOT SET
[23:38:55][W][ccs811:165]: Communication failed! Is the sensor connected?
[23:38:55][C][sds011:069]: SDS011:
[23:38:55][C][sds011:070]: Update Interval: 1 min
[23:38:55][C][sds011:071]: RX-only mode: OFF
[23:38:55][C][sds011:072]: PM2.5 'Particulate Matter <2.5µm Concentration'
[23:38:55][C][sds011:072]: Device Class: 'pm25'
[23:38:55][C][sds011:072]: State Class: 'measurement'
[23:38:55][C][sds011:072]: Unit of Measurement: 'µg/m³'
[23:38:55][C][sds011:072]: Accuracy Decimals: 1
[23:38:55][C][sds011:072]: Icon: 'mdi:chemical-weapon'
[23:38:55][C][sds011:073]: PM10.0 'Particulate Matter <10.0µm Concentration'
[23:38:55][C][sds011:073]: Device Class: 'pm10'
[23:38:55][C][sds011:073]: State Class: 'measurement'
[23:38:55][C][sds011:073]: Unit of Measurement: 'µg/m³'
[23:38:55][C][sds011:073]: Accuracy Decimals: 1
[23:38:55][C][sds011:073]: Icon: 'mdi:chemical-weapon'
[23:38:55][C][scd30:121]: scd30:
[23:38:55][C][scd30:122]: Address: 0x61
[23:38:55][C][scd30:140]: Altitude compensation: OFF
[23:38:55][C][scd30:144]: Automatic self calibration: ON
[23:38:55][C][scd30:145]: Ambient pressure compensation: 0mBar
[23:38:55][C][scd30:146]: Temperature offset: 0.00 °C
[23:38:55][C][scd30:147]: Update interval: 30s
[23:38:55][C][scd30:148]: CO2 'Living Room CO2'
[23:38:55][C][scd30:148]: State Class: 'measurement'
[23:38:55][C][scd30:148]: Unit of Measurement: 'ppm'
[23:38:55][C][scd30:148]: Accuracy Decimals: 0
[23:38:55][C][scd30:148]: Icon: 'mdi:molecule-co2'
[23:38:55][C][scd30:149]: Temperature 'CO2 Temperature'
[23:38:55][C][scd30:149]: Device Class: 'temperature'
[23:38:55][C][scd30:149]: State Class: 'measurement'
[23:38:55][C][scd30:149]: Unit of Measurement: '°C'
[23:38:55][C][scd30:149]: Accuracy Decimals: 1
[23:38:55][C][scd30:150]: Humidity 'CO2 Humidity'
[23:38:55][C][scd30:150]: Device Class: 'humidity'
[23:38:55][C][scd30:150]: State Class: 'measurement'
[23:38:55][C][scd30:150]: Unit of Measurement: '%'
[23:38:55][C][scd30:150]: Accuracy Decimals: 1 |
Wat mij hier vooral verwart is dat er wel degelijk twee I2C-
sensoren gevonden worden, op 0x40 en 0x61, mar dat bij de CCS811 vervolgens op 0x5A verdergegaan wordt. Het handmatig vastzetten van die
sensor op 0x40 helpt overigens niet. De 0x40 vind ik vervolgens nergens terug. Moet ik toch nog iets m.b.t. dual I2C instellen?
Wie ziet de fout?
[
Voor 0% gewijzigd door
svenvbins op 14-12-2021 23:48
. Reden: Verduidelijking ]