#air-quality #sensor #embedded-hal #i2c-bus #pmsa003i

无需 std sen0177

从SEN0177和PMSA003I传感器读取空气质量数据

7个版本 (破坏性)

0.6.0 2024年1月10日
0.5.0 2023年11月5日
0.4.0-alpha.12022年5月30日
0.3.0-alpha.12022年5月28日
0.1.1 2020年8月25日

#267硬件支持

每月43次下载

Apache-2.0

14KB
213

sen0177

crates.io Documentation Apache 2.0 Build Status

sen0177是一个Rust库/crate,用于从SEN0177空气质量传感器读取空气质量数据。

先决条件

  • 您已将传感器连接到设备上的UART或I2C总线,并且您的设备有一个实现相关embedded_hal特质的crate。
  • 对于基于UART的传感器,您已将UART配置为9600波特率,8数据位,无校验位,1停止位,无流控制。

设置

在您的Cargo.toml文件中包含以下内容

[dependencies]
sen0177 = "0.6"

如果您在一个no_std环境中,您可以像这样依赖这个crate

[dependencies]
sen0177 = { version = "0.6", default-features = false }

使用方法

请参阅examples/目录。

请注意,linux-embedded-hal(截至本文写作时)没有支持稳定1.x系列的embedded-hal的版本,因此Linux示例必须从GitHub拉取linux-embedded-hal

请注意,串行设备偶尔会返回错误数据。如果您在调用SensorError::BadMagicSensorError::ChecksumMismatch时收到错误,第二次尝试通常会成功。

注意事项

树莓派

如果您正在使用树莓派,请注意,默认情况下,主UART已配置为Linux串行控制台。您需要禁用它(通过编辑/boot/cmdline.txt),然后才能使用它。您应该使用/dev/serial0而不是特定的TTY设备节点,它是一个指向正确设备的符号链接。

或者,您可以使用第二个UART,但您需要加载一个覆盖文件将其分配到GPIO引脚。请参阅UART配置与UART相关的覆盖文件以获取更多信息。

依赖关系

~85KB