Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python2.7 -u
- import RPi.GPIO as GPIO
- import time
- import subprocess
- import sys
- fanstatus = "Off"
- # Use GPIO 18
- GPIO.setmode(GPIO.BCM)
- GPIO.setwarnings(False)
- GPIO.setup(18,GPIO.OUT)
- # Infinite Loop
- while True:
- # Get the RasPi's CPU Temp
- temp = subprocess.Popen(["/usr/local/bin/cputemp","temp"], stdout=subprocess.PIPE).communicate()[0].replace("C\n","")
- # Default to verbose
- service = False
- # Start to cool at 43C
- if float(temp) > 43.0 and fanstatus == "Off":
- fanstatus = "On"
- GPIO.output(18,GPIO.HIGH)
- # Cool until we reach 38C
- if float(temp) < 38.0 and fanstatus == "On":
- fanstatus = "Off"
- GPIO.output(18,GPIO.LOW)
- # Be silent if we are starting at boot
- for arg in sys.argv:
- if arg == "service":
- service = True
- if service == False:
- # Get the current date
- date = subprocess.Popen(["/bin/date"], stdout=subprocess.PIPE).communicate()[0].replace("\n","")
- sys.stdout.write('\rTemp: '+temp+'C, Fan: '+fanstatus+' (at '+date+') \b\b\b\b\b\b')
- # Sleep for a bit so we aren't a cpu hog
- time.sleep(6)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement