python IF ELSE 秒表
python stopwatch in IF ELSE
我尝试在我的 python 代码中插入秒表。
代码从 API 读取数据,如果值大于“3”,则将继电器切换到 ON(树莓派 3)。每 XXX 分钟阅读一次。
我要打印继电器打开或关闭的时间。
while True:
ts = time.time()
st = datetime.datetime.fromtimestamp(ts).strftime('%H:%M:%S')
.
.
.
.
.
.
if highest > 3:
print("RELAY ON")
print st
print # time how long it's on
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
else:
print("RELAY OFF")
print st
print # time how long it's off
GPIO.cleanup()
time.sleep(60)
我尝试使用此代码,但我不知道将其插入何处。
import time
start = time.time()
time.sleep(10)
end = time.time()
total = end-start
print total
谢谢你的帮助!
我们只看时序逻辑。当你打开继电器时,你就标记了开始时间。 "time on" 测量会一直持续到您关闭继电器为止。然后 "time off" 定时器启动,一直持续到您再次打开它。
我怀疑您有点困惑,因为开始和停止事件位于不同的代码块中。首先,让我们测量 "relay on" 时间。我会做一个标志 relay_is_on
来通知中继状态何时发生变化。
当状态改变时,我们将采取行动:打印状态改变,重置标志,标记开始或停止时间。
relay_is_on = False
while True:
if highest > 3:
if not relay_is_on:
# Relay is just turning on;
# process changes
print("RELAY ON")
relay_is_on = True
relay_on_start = time.time()
else:
if relay_is_on:
# Relay is just turning off;
# process changes
print("RELAY OFF")
relay_is_on = False
relay_on_end = time.time()
relay_on_interval = relay_on_end - relay_on_start
从这里,您可以做任何您需要的事情来累积或报告中继间隔。此外,如果您需要类似地处理继电器关闭时间,只需在相反的逻辑中添加几行即可。
你能从这里继续吗?
我尝试在我的 python 代码中插入秒表。 代码从 API 读取数据,如果值大于“3”,则将继电器切换到 ON(树莓派 3)。每 XXX 分钟阅读一次。 我要打印继电器打开或关闭的时间。
while True:
ts = time.time()
st = datetime.datetime.fromtimestamp(ts).strftime('%H:%M:%S')
.
.
.
.
.
.
if highest > 3:
print("RELAY ON")
print st
print # time how long it's on
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
else:
print("RELAY OFF")
print st
print # time how long it's off
GPIO.cleanup()
time.sleep(60)
我尝试使用此代码,但我不知道将其插入何处。
import time
start = time.time()
time.sleep(10)
end = time.time()
total = end-start
print total
谢谢你的帮助!
我们只看时序逻辑。当你打开继电器时,你就标记了开始时间。 "time on" 测量会一直持续到您关闭继电器为止。然后 "time off" 定时器启动,一直持续到您再次打开它。
我怀疑您有点困惑,因为开始和停止事件位于不同的代码块中。首先,让我们测量 "relay on" 时间。我会做一个标志 relay_is_on
来通知中继状态何时发生变化。
当状态改变时,我们将采取行动:打印状态改变,重置标志,标记开始或停止时间。
relay_is_on = False
while True:
if highest > 3:
if not relay_is_on:
# Relay is just turning on;
# process changes
print("RELAY ON")
relay_is_on = True
relay_on_start = time.time()
else:
if relay_is_on:
# Relay is just turning off;
# process changes
print("RELAY OFF")
relay_is_on = False
relay_on_end = time.time()
relay_on_interval = relay_on_end - relay_on_start
从这里,您可以做任何您需要的事情来累积或报告中继间隔。此外,如果您需要类似地处理继电器关闭时间,只需在相反的逻辑中添加几行即可。
你能从这里继续吗?