#temperature #raspberry-pi #fan #raspberry

已删除 tempi

使用风扇控制Raspberry Pi的温度

0.1.0 2020年4月14日

#23 in #fan

GPL-3.0-or-later

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