TVOC Unit
TVOCUnit 是一款用于测量总挥发性有机化合物(TVOC)和等效二氧化碳(eCO2)的硬件模块。它基于 SGP30 传感器,并通过 I2C 接口进行通信。该类支持配置和测量操作。
支持以下产品:
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 TVOCUnit 10import time 11 12 13label3 = None 14title0 = None 15label0 = None 16label1 = None 17label2 = None 18i2c0 = None 19tvoc_0 = None 20 21 22def setup(): 23 global label3, title0, label0, label1, label2, i2c0, tvoc_0 24 25 M5.begin() 26 Widgets.fillScreen(0x222222) 27 label3 = Widgets.Label("label3", 0, 193, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 28 title0 = Widgets.Title( 29 "TVOCUnit CoreS3 Example", 3, 0xFFFFFF, 0x0000FF, Widgets.FONTS.DejaVu18 30 ) 31 label0 = Widgets.Label("label0", 0, 44, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 32 label1 = Widgets.Label("label1", 0, 95, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 33 label2 = Widgets.Label("label2", 0, 146, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 34 35 i2c0 = I2C(0, scl=Pin(1), sda=Pin(2), freq=100000) 36 tvoc_0 = TVOCUnit(i2c0) 37 38 39def loop(): 40 global label3, title0, label0, label1, label2, i2c0, tvoc_0 41 M5.update() 42 label0.setText(str((str("TVOC:") + str((tvoc_0.tvoc()))))) 43 label1.setText(str((str("CO2:") + str((tvoc_0.co2eq()))))) 44 label2.setText(str((str("Ethanol:") + str((tvoc_0.raw_ethanol()))))) 45 label3.setText(str((str("H2:") + str((tvoc_0.raw_h2()))))) 46 time.sleep(1) 47 48 49if __name__ == "__main__": 50 try: 51 setup() 52 while True: 53 loop() 54 except (Exception, KeyboardInterrupt) as e: 55 try: 56 from utility import print_error_msg 57 58 print_error_msg(e) 59 except ImportError: 60 print("please update to latest firmware")
UiFlow2 应用示例
class TVOCUnit
Constructors
Methods
- TVOCUnit.available()
检查 TVOC/eCO2 单元是否可用。
- TVOCUnit.set_baseline_co2_tvoc(co2eq, tvoc)
设置 CO2 和 TVOC 测量的基线值。
UiFlow2

- TVOCUnit.set_relative_humidity(humidity_per, temp_c)
设置相对湿度和温度,以实现准确的空气质量测量。
UiFlow2

- TVOCUnit.iaq_init()
为传感器初始化 IAQ(室内空气质量)算法。
- TVOCUnit.measure_iaq()
测量 CO2 当量 (CO2eq) 和 TVOC 值。
- TVOCUnit.get_iaq_baseline()
获取 CO2eq 和 TVOC 的 IAQ 算法基线值。
- TVOCUnit.set_iaq_baseline(co2eq, tvoc)
设置先前记录的 IAQ 算法基线值,用于 CO2eq 和 TVOC。
- 参数:
co2eq – CO2 当量基线值。
tvoc – TVOC 基线值。
- TVOCUnit.set_absolute_humidity(absolute_humidity)
设置传感器的绝对湿度补偿。若要禁用,请将该值设置为 0。
- 参数:
absolute_humidity – 要设置的绝对湿度值。
- TVOCUnit.measure_test()
运行片上自检。
- TVOCUnit.get_feature_set()
获取传感器的功能集。
- TVOCUnit.measure_raw()
返回原始 H2 和 Ethanol 信号,用于部件验证和测试。
- TVOCUnit.get_serial()
获取传感器序列 ID。
- TVOCUnit.co2eq()
获取以百万分率 (ppm) 表示的二氧化碳当量 (CO2eq)。
UiFlow2

- TVOCUnit.baseline_co2eq()
获取 CO2eq 的基线值。
UiFlow2

- TVOCUnit.tvoc()
获取以十亿分之一(ppb)为单位的总挥发性有机化合物(TVOC)。
UiFlow2

- TVOCUnit.baseline_tvoc()
获取 TVOC 的基线值。
UiFlow2

- TVOCUnit.raw_h2()
获取原始 H2 信号值。
UiFlow2

- TVOCUnit.raw_ethanol()
获取原始 Ethanol 信号值。
UiFlow2



