mirror of
https://github.com/clockworkpi/DevTerm.git
synced 2025-12-12 18:28:50 +01:00
add devterm_fan_daemon_rpi source code
This commit is contained in:
parent
e952161292
commit
7dd33a02cf
23
Code/devterm_fan_daemon_rpi/README
Normal file
23
Code/devterm_fan_daemon_rpi/README
Normal file
@ -0,0 +1,23 @@
|
||||
# Fan control daemon for devterm cm3(rpi os)
|
||||
|
||||
## Install
|
||||
```
|
||||
wget -O - https://raw.githubusercontent.com/clockworkpi/apt/main/debian/KEY.gpg | sudo apt-key add -
|
||||
echo "deb https://raw.githubusercontent.com/clockworkpi/apt/main/debian/ stable main" | sudo tee -a /etc/apt/sources.list.d/clockworkpi.list
|
||||
|
||||
sudo apt update && apt install -y devterm-fan-temp-daemon-rpi
|
||||
```
|
||||
|
||||
## Change the threshold temperature
|
||||
|
||||
Edit `/usr/local/bin/temp_fan_daemon.py`
|
||||
|
||||
line starts with `MAX_TEMP=80`
|
||||
|
||||
change the value of MAX_TEMP to whatever youlike
|
||||
|
||||
then restart systemd service to take effect
|
||||
|
||||
`sudo systemctl restart devterm-fan-temp-daemon`
|
||||
|
||||
|
||||
51
Code/devterm_fan_daemon_rpi/temp_fan_daemon.py
Normal file
51
Code/devterm_fan_daemon_rpi/temp_fan_daemon.py
Normal file
@ -0,0 +1,51 @@
|
||||
###devterm raspberry pi fan control daemon
|
||||
import os
|
||||
import time
|
||||
|
||||
|
||||
def isDigit(x):
|
||||
try:
|
||||
float(x)
|
||||
return True
|
||||
except ValueError:
|
||||
return False
|
||||
|
||||
def measure_temp():
|
||||
temp = os.popen("/opt/vc/bin/vcgencmd measure_temp").readline()
|
||||
temp2 = temp.replace("temp=","")
|
||||
temp3 = temp2.replace("'C","").strip()
|
||||
#print(temp3)
|
||||
if isDigit(temp3):
|
||||
return float(temp3)
|
||||
else:
|
||||
return 0
|
||||
|
||||
|
||||
def init_fan_gpio():
|
||||
os.popen("gpio mode 41 out")
|
||||
|
||||
def fan_on():
|
||||
init_fan_gpio()
|
||||
os.popen("gpio write 41 1")
|
||||
|
||||
def fan_off():
|
||||
init_fan_gpio()
|
||||
os.popen("gpio write 41 0")
|
||||
|
||||
|
||||
MAX_TEMP=80
|
||||
|
||||
init_fan_gpio()
|
||||
|
||||
while True:
|
||||
temp = measure_temp()
|
||||
if(temp > MAX_TEMP):
|
||||
fan_on()
|
||||
else:
|
||||
fan_off()
|
||||
|
||||
time.sleep(5)
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user