# Untitled - By: admin - 周三 5月 22 2024
import sensor, image, time
from ucollections import deque
from pyb import Timer
import time
# 假设的温度读数函数
def read_temperature():
return 25.5 # 这应该是一个函数,用于读取温度传感器的值
# 温度过滤函数
def temperature_filter(queue_size=10):
# 创建一个固定大小的队列
temperature_queue = deque(maxlen=queue_size)
# 添加初始温度数据
temperature_queue.append(read_temperature())
# 创建一个定时器每隔一定时间更新温度数据
def update_temperature(timer):
temperature_queue.append(read_temperature())
# 定时器触发间隔,单位为毫秒
update_interval = 1000 # 1秒更新一次
# 创建定时器并设置回调函数
timer = Timer(0, update_interval, update_temperature)
timer.start()
while True:
# 等待并在队列满时停止,或者可以设置一个超时时间
while len(temperature_queue) < queue_size:
time.sleep(1)
# 计算并返回过滤后的平均温度
return sum(temperature_queue) / len(temperature_queue)
# 使用温度过滤函数
avg_temperature = temperature_filter()
print("平均温度:", avg_temperature)