ENVPRO Unit

ENV Pro Unit 是一款环境传感器,采用 BME688 传感器方案,支持测量多种环境参数,例如挥发性有机化合物(VOCs)、室内空气质量(IAQ)、温度、湿度和大气压。其具有体积小、工作范围宽、通信接口简单(I2C)、性能优异以及低功耗等特点,适用于气象站、室内环境监测和空气质量检测等应用场景。

支持以下产品:

ENVPROUnit

MicroPython 应用示例

 1# SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
 2#
 3# SPDX-License-Identifier: MIT
 4
 5import os, sys, io
 6import M5
 7from M5 import *
 8from hardware import *
 9from unit import ENVPROUnit
10import time
11
12
13title0 = None
14label0 = None
15label1 = None
16label2 = None
17i2c0 = None
18envpro_0 = None
19co2_0 = None
20
21
22def setup():
23    global title0, label0, label1, label2, i2c0, envpro_0, co2_0
24
25    M5.begin()
26    Widgets.fillScreen(0x222222)
27    title0 = Widgets.Title(
28        "ENVProUnit CoreS3 Example", 3, 0xFFFFFF, 0x0000FF, Widgets.FONTS.DejaVu18
29    )
30    label0 = Widgets.Label("label0", 0, 58, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
31    label1 = Widgets.Label("label1", 0, 109, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
32    label2 = Widgets.Label("label2", 0, 160, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18)
33
34    i2c0 = I2C(0, scl=Pin(1), sda=Pin(2), freq=100000)
35    envpro_0 = ENVPROUnit(i2c0)
36
37
38def loop():
39    global title0, label0, label1, label2, i2c0, envpro_0, co2_0
40    M5.update()
41    label0.setText(str((str("Pressure:") + str((envpro_0.get_pressure())))))
42    label1.setText(str((str("Humidity:") + str((envpro_0.get_humidity())))))
43    label2.setText(str((str("Temperature:") + str((envpro_0.get_temperature())))))
44    time.sleep(1)
45
46
47if __name__ == "__main__":
48    try:
49        setup()
50        while True:
51            loop()
52    except (Exception, KeyboardInterrupt) as e:
53        try:
54            from utility import print_error_msg
55
56            print_error_msg(e)
57        except ImportError:
58            print("please update to latest firmware")

UiFlow2 应用示例

example.png

envpro_cores3_example.m5f2

class ENVPROUnit

Constructors

class ENVPROUnit(i2c, address)

使用 I2C 对象和可选地址初始化 ENVPROUnit。

参数:
  • i2c – 用于与 ENV PRO 传感器通信的 I2C 接口或 PAHUBUnit 实例。

  • address (int) – ENV PRO 传感器的 I2C 地址。默认值为 0x77。

UiFlow2

init.png

Methods

ENVPROUnit.get_over_sampling_rate(env)

获取指定环境参数的过采样率。

参数:

env – 环境参数(TEMPERATURE、PRESSURE、HUMIDITY)。

UiFlow2

get_over_sampling_rate.png

ENVPROUnit.set_over_sampling_rate(env, rate)

为指定的环境参数设置过采样率。

参数:
  • env – 环境参数(TEMPERATURE、PRESSURE、HUMIDITY)。

  • rate – 要设置的过采样率。

UiFlow2

set_over_sampling_rate.png

ENVPROUnit.get_iir_filter_coefficient()

获取 IIR 滤波器系数。

UiFlow2

get_iir_filter_coefficient.png

ENVPROUnit.set_iir_filter_coefficient(value)

设置 IIR 滤波器系数。

参数:

value – 要设置的 IIR 滤波器系数。

UiFlow2

set_iir_filter_coefficient.png

ENVPROUnit.get_temperature()

获取测得的温度。

UiFlow2

get_temperature.png

ENVPROUnit.get_humidity()

获取测量到的湿度。

UiFlow2

get_humidity.png

ENVPROUnit.get_pressure()

获取测得的压力。

UiFlow2

get_pressure.png

ENVPROUnit.get_gas_resistance()

获取测得的气体电阻。

UiFlow2

get_gas_resistance.png

ENVPROUnit.get_altitude()

根据气压读数获取计算得到的海拔高度。

Note: 海拔高度是根据气压与海平面气压之间的差值计算的

UiFlow2

get_altitude.png

Constants

ENVPROUnit.TEMPERATURE
ENVPROUnit.PRESSURE
ENVPROUnit.HUMIDITY