Skip to content

environment

Environment utilities.

Classes:

Name Description
Environment

Environment class.

Functions:

Name Description
test_environment

Test for the environment class.

Environment

Environment(i2c: I2C, addr: int)

Environment class.

Parameters:

Name Type Description Default
i2c I2C

A machine.I2C instance.

required
addr int

The i2c address of the sensor.

required

Methods:

Name Description
get_environment_sensor

Get type of environment sensor

get_gas_resistance

Get gas resistance.

get_humidity

Get current humidity.

get_pressure

Get current pressure in hPa.

get_temp

Get current Temperature.

Source code in src/aalec/environment.py
15
16
17
18
def __init__(self, i2c: machine.I2C, addr: int):
    self._i2c: machine.I2C = i2c
    self._addr: int = addr
    self._bmp280: bmp280.BMP280 = bmp280.BMP280(self._i2c, self._addr)

get_environment_sensor

get_environment_sensor() -> str

Get type of environment sensor

Returns:

Name Type Description
str str

"BMP280"

Source code in src/aalec/environment.py
20
21
22
23
24
25
26
def get_environment_sensor(self) -> str:
    """Get type of environment sensor

    Returns:
        str: "BMP280"
    """
    return "BMP280"

get_gas_resistance

get_gas_resistance() -> float

Get gas resistance.

Returns:

Name Type Description
float float

0.0 (BMP280 doesn't have a gas resistance sensor).

Source code in src/aalec/environment.py
54
55
56
57
58
59
60
def get_gas_resistance(self) -> float:
    """Get gas resistance.

    Returns:
        float: 0.0 (BMP280 doesn't have a gas resistance sensor).
    """
    return 0.0

get_humidity

get_humidity() -> float

Get current humidity.

Returns:

Name Type Description
float float

0.0 (BMP280 doesn't have a humidity sensor).

Source code in src/aalec/environment.py
37
38
39
40
41
42
43
def get_humidity(self) -> float:
    """Get current humidity.

    Returns:
        float: 0.0 (BMP280 doesn't have a humidity sensor).
    """
    return 0.0

get_pressure

get_pressure() -> float

Get current pressure in hPa.

Returns:

Name Type Description
float float

current pressure in hPa.

Source code in src/aalec/environment.py
45
46
47
48
49
50
51
52
def get_pressure(self) -> float:
    """Get current pressure in hPa.

    Returns:
        float: current pressure in hPa.
    """
    self._bmp280.normal_measure()
    return self._bmp280.pressure / 100.0

get_temp

get_temp() -> float

Get current Temperature.

Returns:

Name Type Description
float float

Current temperature in °C.

Source code in src/aalec/environment.py
28
29
30
31
32
33
34
35
def get_temp(self) -> float:
    """Get current Temperature.

    Returns:
        float: Current temperature in °C.
    """
    self._bmp280.normal_measure()
    return self._bmp280.temperature

test_environment

test_environment() -> None

Test for the environment class.

Source code in src/aalec/environment.py
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
def test_environment() -> None:
    """Test for the environment class."""
    from time import sleep
    from aalec import constants

    i2c = machine.I2C(
        scl=machine.Pin(constants.PIN_SCL), sda=machine.Pin(constants.PIN_SDA)
    )
    environment = Environment(i2c, constants.BMP280_ADDR)
    while True:
        print(f"Sensor:            {environment.get_environment_sensor()}")
        print(f"Temperature:       {environment.get_temp()} °C")
        print(f"Relative Humidity: {environment.get_humidity()} %")
        print(f"Pressure:          {environment.get_pressure()} hPa")
        print(f"Gas resistance:    {environment.get_gas_resistance()}")
        print(10 * "-")
        sleep(2)