BMP581 温度+压力传感器
bmp581 传感器平台允许您在 ESPHome 中使用 BMP581
(数据手册、SparkFun 或 Adafruit)和 BMP585(数据手册)温度和压力传感器。需要在您的配置中设置 I²C 总线或 SPI 总线才能使此传感器正常工作。

通过 I²C
Section titled “通过 I²C”# Example configuration entry for I2C connectionsensor: - platform: bmp581_i2c temperature: name: "Indoor Temperature" pressure: name: "Indoor Pressure"通过 SPI
Section titled “通过 SPI”# Example configuration entry for SPI connectionsensor: - platform: bmp581_spi cs_pin: GPIOXX temperature: name: "Indoor Temperature" pressure: name: "Indoor Pressure"-
temperature (可选): 温度传感器的信息。
-
oversampling (可选): 温度传感器的过采样率。 请参阅 过采样选项。
-
iir_filter (可选): 温度传感器的无限脉冲响应滤波器级别。 请参阅 无限脉冲响应滤波器选项。
-
来自 Sensor 的所有其他选项。
-
-
pressure (可选): 压力传感器的信息。
-
oversampling (可选): 压力传感器的过采样率。 请参阅 过采样选项。
-
iir_filter (可选): 压力传感器的无限脉冲响应滤波器级别。 请参阅 无限脉冲响应滤波器选项。
-
来自 Sensor 的所有其他选项。
-
-
update_interval (可选, Time): 检查传感器的时间间隔。默认为
60s。
- address (可选, int): 手动指定传感器的 I²C 地址。
默认为
0x46。另一个地址可以是0x47。
- cs_pin (必选, Pin Schema): 连接到 BMP581 传感器的 SPI CS 引脚。
默认情况下,BMP581 传感器在请求新值时对压力测量 16 次,对温度测量一次,以减少测量噪声。但是,您可以配置此数量。可能的过采样值:
NONE(传感器采样一次,温度默认)2x4x8x16x(压力默认)32x64x128x
数据手册(第 19 页)给出了过采样组合建议:
| 过采样设置 | 压力过采样 | 温度过采样 |
|---|---|---|
| 最低功耗 | NONE | NONE |
2x | NONE | |
| 标准分辨率 | 4x | NONE |
8x | NONE | |
| 高分辨率(默认) | 16x | NONE |
32x | 2x | |
64x | 4x | |
| 最高分辨率 | 128x | 8x |
NOTE
高过采样率会增加功耗以及传感器测量温度和压力所需的时间。例如,未启用过采样时,测量时间约为 3 ms。如果温度和压力过采样率为 128x,测量时间约为 107 ms。BMP581 组件在尝试读取测量值之前,等待为特定配置的过采样率所需的最短时间。考虑使用较低的过采样率以降低功耗或加快小更新间隔的测量速度。
无限脉冲响应滤波器选项
Section titled “无限脉冲响应滤波器选项”BMP581 的无限脉冲响应滤波器可减少由于环境条件导致的测量值噪声,例如门突然关闭或窗户打开。BMP581 默认禁用温度和压力传感器的 IIR 滤波器,但您可以独立配置每个传感器的滤波量。可能的 IIR 滤波器值:
OFF(默认)2x4x8x16x32x64x128x
WARNING
启用 IIR 滤波器时,BMP581 的深度待机模式将被禁用,这会增加功耗。考虑使用数学上等价的 ESPHome 指数移动平均滤波器,特别是如果您配置了较长的更新间隔。请参阅 指数移动平均滤波器 获取实现信息。