前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【教程】Jetson 根据温度自动调整风扇转速

【教程】Jetson 根据温度自动调整风扇转速

原创
作者头像
小锋学长生活大爆炸
发布2024-05-28 20:47:38
1170
发布2024-05-28 20:47:38
举报
文章被收录于专栏:学习之旅学习之旅

代码语言:javascript
复制
mkdir /opt
sudo chmod 777 /opt -R
cd /opt
vim fan.sh

填入以下内容:

代码语言:javascript
复制
#!/bin/bash

# 设置风扇速度函数
set_fan_speed() {
  # $1 是传递的第一个参数,即风扇速度
  echo $1 | sudo tee /sys/devices/pwm-fan/target_pwm
}

# 读取温度函数
read_temp() {
  # $1 是传递的第一个参数,即传感器路径
  temp=$(cat $1)
  echo $((temp / 1000))
}

# CPU 和 GPU 温度传感器路径
CPU_TEMP_PATH="/sys/class/thermal/thermal_zone0/temp"
GPU_TEMP_PATH="/sys/class/thermal/thermal_zone1/temp"

while true; do
  # 读取 CPU 和 GPU 温度
  CPU_TEMP=$(read_temp $CPU_TEMP_PATH)
  GPU_TEMP=$(read_temp $GPU_TEMP_PATH)
  
  # 获取较高的温度
  MAX_TEMP=$((CPU_TEMP > GPU_TEMP ? CPU_TEMP : GPU_TEMP))

  # 根据温度设置风扇速度
  if [ $MAX_TEMP -gt 70 ]; then
    set_fan_speed 255  # 最大速度
  elif [ $MAX_TEMP -gt 60 ]; then
    set_fan_speed 200
  elif [ $MAX_TEMP -gt 50 ]; then
    set_fan_speed 150
  else
    set_fan_speed 100  # 最小速度
  fi

  # 每 10 秒钟调整一次风扇速度
  sleep 10
done

保存后继续指令:

代码语言:javascript
复制
sudo chmod +x fan.sh
sudo vim /etc/systemd/system/fan_control.service

填入以下内容:

代码语言:javascript
复制
[Unit]
Description=Fan Control Service
After=multi-user.target

[Service]
Type=simple
ExecStart=/opt/fan.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

保存后继续指令:

代码语言:javascript
复制
sudo systemctl enable fan_control.service
sudo systemctl start fan_control.service

验证效果:

代码语言:javascript
复制
sudo jtop

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档