0

在我的小项目的这个阶段,我想让 web.py 显示从连接到我的 Raspberry Pi 的一些传感器检索到的一些信息。我希望定期检索信息,因此我在代码底部放置了一个循环,该循环使用我的库刷新传感器,将读数粘贴在 dict 中并休眠 10 秒。

while True:
    onewiretemp.refreshSensor()
    temperatures = onewiretemp.sensorTemp
    time.sleep(10)

不幸的是,这样做的副作用是当我运行我的程序并尝试加载页面时,我的循环运行并且页面永远不会加载。我还必须手动终止该进程以停止它。我认为这是因为循环无限期地运行。

我的其余代码基本上是教程和来自 web.py 网站的一些模板内容。当我禁用循环并手动添加格式与我的 onewiretemp 模块的输出相同的数据时,该部分起作用。

有没有更好的方法不会破坏一切?

4

1 回答 1

1

在单独的线程中运行传感器轮询循环。读或写时用锁保护温度。您的主 web.py 脚本可以获取锁并获取最新数据。

于 2013-08-06T01:55:53.097 回答