【发布时间】:2018-04-10 20:46:48
【问题描述】:
我刚刚开始使用 Python,尽管过去 30 年来我一直在使用其他语言进行编程。我想让我的第一个应用程序保持简单,所以我从一个托管在 Raspberry Pi 上的小型家庭自动化项目开始。
我的代码可以正常工作(控制阀门、读取流量传感器并在显示屏上显示一些数据),但是当我想添加一些 Web 交互性时,它突然停止了。 我在该主题上找到的大多数文章都建议使用 Flask 框架来编写动态网页。我已经尝试并理解了 Flask 的基础知识,但是一旦我调用“app.run”函数,我就无法解决 Flask 阻塞的问题。我的 python 代码的其余部分等待 Flask 返回,这永远不会发生。 IE。不再需要水流量测量、阀门电机转向或显示更新。
所以,我的基本问题是:我应该使用什么工具来提供一个简单的动态网页(负载非常低,例如 1 个请求/周),与我的应用程序主要任务(GPIO/脉冲计数)并行)?所有这一切都在 Raspberry Pi (3) 的资源受限环境中进行。 如果您仍然建议使用 Flask(因为它似乎非常接近目标),我应该如何安排我的代码以继续处理现实世界的事件,例如上面提到的?
(如果没有看到实际代码,这最后一部分可能很难回答,但也许可以以“通用”方式回答它?或者指向我在搜索时可能错过的现有示例。)
【问题讨论】:
标签: python multithreading asynchronous flask