Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import RPi.GPIO as GPIO
- import time
- import os
- GPIO.setmode(GPIO.BCM)
- GPIO.setwarnings(False)
- IMPULS_PIN = 23 #Pin, der zum Transistor fuehrt
- SLEEP_TIME = 30 #Alle wie viel Sekunden die Temperatur ueberprueft wird
- MAX_CPU_TEMP = 40 #Ab welcher CPU Temperatur der Luefter sich drehen soll
- MAX_SENSOR_TEMP = 30 #Ab welcher Temperatur im Gehaeuse der Luefter sich drehen soll
- SENSOR_ID = '' #ID des Sonsors, BITTE ANPASSEN, falls kein Sensor vorhanden leer lassen
- def get_sensor_temperature():
- try:
- tempfile = open("/sys/bus/w1/devices/"+SENSOR_ID+"/w1_slave")
- text = tempfile.read()
- tempfile.close()
- temperature_data = text.split()[-1]
- temperature = float(temperature_data[2:])
- temperature = temperature / 1000
- return float(temperature)
- except:
- return 0
- def get_cpu_temperature():
- temp = os.popen('vcgencmd measure_temp').readline()
- return float(temp.replace("temp=","").replace("'C\n",""))
- def main():
- #Init
- GPIO.setup(IMPULS_PIN, GPIO.OUT)
- GPIO.output(IMPULS_PIN, False)
- while True:
- cpu_temp = get_cpu_temperature()
- sensor_temp = get_sensor_temperature()
- if cpu_temp >= MAX_CPU_TEMP or sensor_temp >= MAX_SENSOR_TEMP :
- GPIO.output(IMPULS_PIN, True)
- else:
- GPIO.output(IMPULS_PIN, False)
- #print "gemessene CPU Temperatur:" + str(cpu_temp)
- #print "gemessene Sensor Temperatur:" + str(sensor_temp)
- time.sleep(SLEEP_TIME)
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement