2 个版本
0.1.1 | 2024年2月25日 |
---|---|
0.1.0 | 2024年2月24日 |
267 在 硬件支持
每月 45 次下载
16KB
246 代码行
嵌入式-aht20
这是一个使用 embedded-hal
和 embedded-hal-async
特性的平台无关 AHT20 数字湿度温度传感器的 Rust 驱动程序。
设备
AHT20 传感器是一款湿度温度传感器,完全校准,具有优秀的长期稳定性,并使用 I²C 接口。
其典型应用范围包括:空调系统、除湿机、测试和检验设备、消费品、汽车、自动控制、数据记录仪、气象站、家用电器、湿度调节、医疗以及其他相关的温度和湿度检测和控制。
其温度的典型精度为 ±0.3 °C,相对湿度的精度为 ±2 %。
以下是其电气规格
参数 | 条件 | 最小值 | 典型值 | 最大值 | 单位 |
---|---|---|---|---|---|
电压 | 典型值 | 2.0 | 3.3 | 5.5 | 伏特 |
电流 | 待机 | 0.25 | 微安 | ||
电流 | 测量 | 23 | 微安 | ||
功耗 | 待机 | 0.9 | 微瓦 | ||
功耗 | 测量 | 0.07 | 毫瓦 | ||
功耗 | 平均 | 3.3 | 微瓦 |
文档
功能
- 执行温度和相对湿度的测量。
- 进行软件设置。
- 包含无浮点变体,适用于无 fpu 的系统。
其他功能
这个包依赖于weather-utils
包。当你进行温度和湿度测量时,结果是一个来自weather-utils
包的struct,为你免费提供该包的功能。例如,你可以立即从Aht20::measure
的结果计算绝对湿度值(单位:g/m³)。如果你还使用其他传感器,例如QMP6988
来获取气压,你也可以计算海拔。
用法
要使用此驱动程序,从该包和embedded-hal
实现中导入所需的模块,然后实例化设备。
use embedded_aht20::{Aht20, DEFAULT_I2C_ADDRESS};
use linux_embedded_hal as hal;
fn main() -> Result<(), embedded_aht20::Error<hal::I2CError>> {
// Create the I2C device from the chosen embedded-hal implementation,
// in this case linux-embedded-hal
let mut i2c = match hal::I2cdev::new("/dev/i2c-1") {
Err(err) => {
eprintln!("Could not create I2C device: {}", err);
std::process::exit(1);
}
Ok(i2c) => i2c,
};
if let Err(err) = i2c.set_slave_address(DEFAULT_I2C_ADDRESS as u16) {
eprintln!("Could not set I2C slave address: {}", err);
std::process::exit(1);
}
// Create the sensor
let mut sensor = Aht20::new(i2c, DEFAULT_I2C_ADDRESS, hal::Delay {})?;
// Perform a temperature and humidity measurement
let measurement = sensor.measure()?;
println!(
"Temperature: {:.2} °C, Relative humidity: {:.2} %",
measurement.temperature.celcius(),
measurement.relative_humidity
);
Ok(())
}
许可证
根据以下任一许可证授权:
- Apache License, Version 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由你选择。
贡献
除非你明确声明,否则根据Apache-2.0许可证定义的,你有意提交以包含在本作品中的任何贡献,将按上述方式双授权,没有任何额外的条款或条件。
依赖项
~2MB
~47K SLoC