如何在 python 中管理时间延迟(短时间段)
How to manage a time delay (a short time period) in python
我正在使用 Python(使用 tkinter)开发与温度相关的应用程序,使用 Raspberry Pi DS18B20 温度传感器。应用程序的基本要求是
- 每隔 3 秒 显示温度并检查温度是否超过阈值限制(例如 10C)以继续 10 分钟 它应该激活 A/C 继电器。
代码可以很好地显示温度(每 3 秒)并激活 A/C 继电器,但我无法管理 10 分钟的等待 window。
我是 Python 的新手,所以如能提供相关帮助,我们将不胜感激。
由于您没有分享实际代码,我唯一能做的就是描述您的策略:
- 创建一个名为
start_timestamp
的变量。甚至在第一次温度检查之前,将当前时间分配给它。
- 每次检查当前温度低于或等于10C时,再次将
start_timestamp
设置为当前时间。
- 每次检查当前温度高于10C时,
start_timestamp
什么都不做。
- 每次温度检查后,将当前时间与(
start_timestamp
加上 600 秒)进行比较。如果大于,则表示上一次温度低于 10C 至少是 10 分钟前。
由于您声称可以每 3 秒更新一次温度测量值,假设 update_every_3_seconds
是执行此操作的函数,请添加:
high_temp_seconds = 0
...
def update_every_3_seconds():
...
global high_temp_seconds
if high_temp:
high_temp_seconds += 3
else:
high_temp_seconds = 0
if high_temp_seconds >= (10 * 60):
activate_AC_relay()
我正在使用 Python(使用 tkinter)开发与温度相关的应用程序,使用 Raspberry Pi DS18B20 温度传感器。应用程序的基本要求是
- 每隔 3 秒 显示温度并检查温度是否超过阈值限制(例如 10C)以继续 10 分钟 它应该激活 A/C 继电器。
代码可以很好地显示温度(每 3 秒)并激活 A/C 继电器,但我无法管理 10 分钟的等待 window。
我是 Python 的新手,所以如能提供相关帮助,我们将不胜感激。
由于您没有分享实际代码,我唯一能做的就是描述您的策略:
- 创建一个名为
start_timestamp
的变量。甚至在第一次温度检查之前,将当前时间分配给它。 - 每次检查当前温度低于或等于10C时,再次将
start_timestamp
设置为当前时间。 - 每次检查当前温度高于10C时,
start_timestamp
什么都不做。 - 每次温度检查后,将当前时间与(
start_timestamp
加上 600 秒)进行比较。如果大于,则表示上一次温度低于 10C 至少是 10 分钟前。
由于您声称可以每 3 秒更新一次温度测量值,假设 update_every_3_seconds
是执行此操作的函数,请添加:
high_temp_seconds = 0
...
def update_every_3_seconds():
...
global high_temp_seconds
if high_temp:
high_temp_seconds += 3
else:
high_temp_seconds = 0
if high_temp_seconds >= (10 * 60):
activate_AC_relay()