1个稳定版本
1.0.0 | 2024年2月4日 |
---|
#10 在 #co2
120KB
114 行
AirControl:用于Dostmann TFA AIRCO2NTROL设备的Rust库
此Rust模块提供了与Dostmann TFA AIRCO2NTROL Mini和Coach设备交互的高级接口,专注于监测环境参数,如CO2浓度、温度和湿度。它利用hidapi
库进行跨平台HID通信,确保数据采集和事件处理的结构化和多线程方法。
功能
- 实时监控:实时跟踪CO2浓度、温度和湿度。
- 跨平台:基于
hidapi
库构建,确保在不同操作系统间的兼容性。 - 事件驱动:使用回调处理新数据,便于与其他系统或UI集成。
- 多线程设计:确保非阻塞的数据采集和处理。
安装
要在项目中添加此模块,请使用以下命令
cargo add aircontrol
用法
以下是一个使用此接口监控环境参数的简单示例
use aircontrol::AirControl;
fn main() {
let mut air_control = AirControl::new().expect("Failed to initialize the AirControl interface");
// The new result will be printed with every update.
air_control.register_callback(Box::new(|time, co2, temperature, humidity| {
println!("{} - CO2: {} ppm, Temp: {}°C, Humidity: {}%", time, co2, temperature, humidity);
}));
// The monitoring runs on a separate thread and will invoke the callback with new data.
air_control.start_monitoring();
// Remember to gracefully stop the monitoring when your application is closing or when you need to stop it.
air_control.stop_monitoring();
}
贡献
欢迎对此项目做出贡献。请遵守以下指南
- 从仓库分叉并创建一个新分支以添加功能或修复错误。
- 编写干净且文档齐全的代码。
- 确保您的更改不会破坏现有功能。
- 提交一个包含更改描述的pull请求。
许可证
本项目采用MIT许可证 - 请参阅LICENSE文件以获取详细信息。
致谢
此库由@DJE98开发。感谢hidapi
库的开发者和贡献者提供了健壮的跨平台HID通信解决方案。
依赖
~1–12MB
~86K SLoC