首页 > 解决方案 > 打开风扇 10 scs 长蟒蛇

问题描述

这是我打开风扇的代码我在单独的线程上运行睡眠,因为它使整个脚本睡眠

def fan_on():
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BCM)
    FAN_PIN = 23
    GPIO.setup(FAN_PIN,GPIO.OUT)
    GPIO.output(FAN_PIN,True)
    t = Thread(target=sleep_fan)
    t.deamon = True
    t.start()

def sleep_fan():
    time.sleep(10)

脚本正在运行,但是我没有得到 10 个 scs,它只有 1 或 2 秒?如何解决这个问题?TIA

标签: pythonpython-3.xpython-2.7gpio

解决方案


我将假设您的程序在 10 秒结束之前就死了,这就是杀死风扇的原因。in的拼写错误daemont.deamon = True这里无关紧要。

在您的主要功能中加入该线程可能更好。

def fan_on():
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BCM)
    FAN_PIN = 23
    GPIO.setup(FAN_PIN,GPIO.OUT)
    GPIO.output(FAN_PIN,True)
    t = Thread(target=sleep_fan)
    t.deamon = True
    t.start()
    return t

fan_thread = fan_on()
fan_thread.join()  # waits for thread to exit before moving on.

推荐阅读