Python不是不工作?

时间:2015-11-03 22:55:49

标签: python python-2.7 raspberry-pi

一旦cpu温度达到某个点,为我的覆盆子pi做了一个小脚本来切换风扇,代码是:

import os
import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
R = 7
GPIO.setup(R, GPIO.OUT)
GPIO.output(R, GPIO.HIGH)
while True:
    def getCPUtemperature():
        res = os.popen('vcgencmd measure_temp').readline()
        return res.replace("temp=", "").replace("'C\n", "")
    CPU = getCPUtemperature()
    print(CPU)
    if CPU > 36.0:
        GPIO.output(R, GPIO.LOW)
    elif CPU < 30.0:
        GPIO.output(R, GPIO.HIGH)

首先,是的,我正在使用一个如此高和低的继电器应该是这样的。 但问题是,尽管控制台输出的值如29.3,风扇仍然运行,程序仍认为该值高于36,我不知道为什么它没有意识到该值小于27

有谁知道为什么它不起作用?

感谢

1 个答案:

答案 0 :(得分:2)

getCPUtemperature返回的值看起来应该转换为浮点数,例如:

def getCPUtemperature():
    res = os.popen('vcgencmd measure_temp').readline()
    return float(res.replace("temp=","").replace("'C\n",""))