#gpio-pin #sensors #dht11 #dht22 #raspberry-pi #reading #access

dht-mmap-rust

为 Raspberry PI 简单访问 DHT11 和 DHT22 传感器

1 个不稳定版本

0.1.0 2024年5月12日

#622硬件支持

MIT 许可证

20KB
265

dht-mmap-rust

...是一个用于在 Raspberry PI 上读取 DHT11/DHT22 传感器的库。

此库允许使用 Raspberry PI 的 GPIO 引脚简单地读取 DHT11 和 DHT22 温湿度传感器。
为了实现足够快的内存访问,此库直接访问引脚控制的内存寄存器。
我编写这个库是因为我尝试的其他库在我的 PI 上不起作用。此库应该可以即插即用。

用法

需要可访问文件 /dev/gpiomem,因此程序需要以 root 身份运行或具有对文件的组访问权限。
如果您想以非 root 用户运行程序,请参阅 此 StackOverflow 答案,该答案提供了说明。这已在 raspbian 中默认配置。

代码

fn main() {
    // The sensor is a DHT11 connected on pin 23
    let mut dht = Dht::new(DhtType::Dht11, 23).unwrap();

    // Important: DHT sensor reads fail sometimes. In an actual program, if a read fails you should retry multiple times until
    // the read succeeds.
    // For more information, see documentation on `read()`
    let reading = dht.read().unwrap();

    println!(
        "Temperature {} °C, Humidity {}%RH",
        reading.temperature(),
        reading.humidity()
    );
}

测试

此仓库包含两个测试,
一个是假设将 DHT11 连接到 GPIO 引脚 2,
另一个是假设将 DHT22 连接到 GPIO 引脚 3。

注意事项

此库适用于 Raspberry PI,而不是 Arduino 等其他嵌入式设备。这就是为什么它需要这么少的样板。

依赖关系

~51–260KB