0.1.0 |
|
---|
#23 in #fan
12KB
234 代码行数
Tempi
使用风扇控制Raspberry Pi的温度。
描述
该程序根据CPU的温度控制GPIO引脚。它通过将风扇连接到GPIO并让程序定期在后台检查温度,被认为是调节CPU温度的一种方法。
安装
从Crates.io
cargo install tempi
从源码
首先您需要安装Rust。然后您可以按照Rust的标准安装程序进行操作
git clone https://zykino.net/gitea/zykino/Tempi.git
cd Tempi
cargo build --release
如果您想从非Raspberry Pi的计算机交叉编译,可以参考https://mudge.name/2019/01/02/cross-compiling-rust-for-a-raspberry-pi-on-travis-ci/中的手册说明。构建完成后,将二进制文件传输到目标设备并测试。
scp target/arm-unknown-linux-gnueabihf/release/tempi pi@<YOUR_PI_IP>:<PATH_TO_WHERE_YOU_WANT_YOUR_BINARY>
用法
要使用应用程序,您只需启动tempi
可执行文件。如果您想每天使用它,建议在登录或启动时启动应用程序。
配置
配置tempi
的唯一方法是使用配置文件。配置文件以yaml格式编写,您可以复制下面的示例之一并根据需要调整值。
在Linux上,配置文件是~/.config/tempi/tempi.yml
。
默认情况下,tempi
将以Hysteresis
模式控制18号引脚(物理12号)。相应的配置文件如下
---
check_interval:
secs: 10
nanos: 0
mode:
Hysteresis: # Either Hysteresis or Pwm ith th appropriate parameters
max_temperature: 70.0
hysteresis: 10.0
bcm_pin: 18
verbosity_mode: Human # One of Human, Machine or Quiet
如果您想使用PWM
模式,您首先需要按照以下说明在Raspberry Pi上启用PWM。还建议让gpio组的成员在没有root权限的情况下配置PWM。然后您可以使用并修改以下配置文件
---
check_interval:
secs: 10
nanos: 0
mode:
Pwm:
max_temperature: 70.0
min_temperature: 60.0
frequency: 1 # You should tweak this value depending on your fan and expected percentage of normal usage.
channel: Pwm0
verbosity_mode: Human
项目状态
我认为这个项目目前功能齐全,是一个Raspberry Pi温度控制器。
如果有人创建一个使用5V PIN和GPIO作为开关的电路,我会很高兴进一步阐述和测试新的冷却策略。
仍然可以支持更多板子,并在其他应用程序上获得更好的日志/绘图输出。
从代码的角度来看,这是我的第一个Rust项目,所以任何有关如何升级我的代码和tempi
的易用性的建议都受欢迎。包括添加测试、更好地使用错误、了解是否应该使用embedded-hal
、...
我还需要记录代码,并可能公开一个接口以将其用作库。
依赖关系
~1-2MB
~37K SLoC