BMP581 温度+压力传感器
bmp581 传感器平台允许您在 ESPHome 中使用 BMP581
(数据手册, SparkFun 或 Adafruit) 温度和压力传感器。需要在配置中设置 I²C 总线才能使此传感器工作。虽然技术上可行,但 ESPHome 尚不支持通过 SPI 总线与此传感器通信。
通过 I²C
Section titled “通过 I²C”# I2C 连接的示例配置条目sensor: - platform: bmp581_i2c temperature: name: "Indoor Temperature" pressure: name: "Indoor Pressure"-
temperature (可选): 温度传感器的信息。
-
oversampling (可选): 温度传感器的过采样率。 参见 过采样选项。
-
iir_filter (可选): 温度传感器的无限脉冲响应滤波器级别。 参见 无限脉冲响应滤波器选项。
-
来自 Sensor 的所有其他选项。
-
-
pressure (可选): 压力传感器的信息。
-
oversampling (可选): 压力传感器的过采样率。 参见 过采样选项。
-
iir_filter (可选): 压力传感器的无限脉冲响应滤波器级别。 参见 无限脉冲响应滤波器选项。
-
来自 Sensor 的所有其他选项。
-
-
address (可选, int): 手动指定传感器的 I²C 地址。默认为
0x46。另一个地址可以是0x47。 -
update_interval (可选, Time): 检查传感器的间隔。默认为
60s。
默认情况下,BMP581 传感器在请求新值时会测量压力 16 次和温度 1 次,以减少测量噪声。但是,您可以配置此数量。可能的过采样值:
NONE(传感器采样一次,温度的默认值)2x4x8x16x(压力的默认值)32x64x128x
数据手册(第 19 页)给出了过采样组合的建议:
| 过采样设置 | 压力过采样 | 温度过采样 |
|---|---|---|
| 最低功耗 | NONE | NONE |
2x | NONE | |
| 标准分辨率 | 4x | NONE |
8x | NONE | |
| 高分辨率(默认) | 16x | NONE |
32x | 2x | |
64x | 4x | |
| 最高分辨率 | 128x | 8x |
NOTE
高过采样率会增加功耗以及传感器测量温度和压力所需的时间。例如,在未启用过采样的情况下,测量时间约为 3 毫秒。如果温度和压力过采样率均为 128x,测量时间约为 107 毫秒。BMP581 组件会在尝试读取测量值之前等待特定配置的过采样率所需的最短时间。考虑使用较低的过采样率以降低功耗,或加快较小更新间隔下的测量速度。
无限脉冲响应滤波器选项
Section titled “无限脉冲响应滤波器选项”BMP581 的无限脉冲响应滤波器可减少由于环境条件(例如关门或开窗)引起的测量值噪声。BMP581 默认禁用温度和压力传感器的 IIR 滤波器,但您可以为每个传感器独立配置滤波量。可能的 IIR 滤波器值:
OFF(默认)2x4x8x16x32x64x128x
WARNING
当您启用 IIR 滤波器时,BMP581 的深度待机模式将被禁用,这会增加功耗。考虑使用数学等效的 ESPHome 指数移动平均滤波器,特别是当您配置了较长的更新间隔时。有关实现信息,请参见 指数移动平均滤波器。