物联网 Python 应用架构与 Flask on Raspberry Pi
IoT Python application architecture with Flask on Raspberry Pi
我已经开始使用 Raspberry Pi,但遇到了架构问题。
我想制作 python 应用程序,它使用 GPIO 使 LED 闪烁,并有 Web 界面来启动和停止闪烁。
在网络上有很多关于如何使用 Flask 执行一项操作的示例(例如启用 LED、禁用 LED 等),但我还没有找到如何 运行 Flask 网络服务器以及 运行 并行“工作”以闪烁 LED 或通常 运行 定时器动作。
一个解决方案是针对这两个目的使用不同的应用程序。一个用于眨眼。还有一个用于 Flask 服务器。但是这种方法需要一个数据库来在应用程序之间共享数据,我不想在 IoT 设备中这样做 (Raspberry Pi)。所以我更喜欢单一的单体应用程序。
任何人都可以帮助我了解如何 运行 在 Flask 应用程序中通过计时器进行操作吗?
这是显示我期望的伪代码。
# main.py
import time
import Flask
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(8, GPIO.OUT, initial=GPIO.LOW)
app = Flask()
def blinking():
while True: # Run forever
GPIO.output(8, GPIO.HIGH) # Turn on
time.sleep(1) # Sleep for 1 second
GPIO.output(8, GPIO.LOW) # Turn off
time.sleep(1)
if __name__ == 'main':
app.run_in_background()
blinking()
感谢任何想法!
如果我没理解错的话,你正在寻找背景中的东西运行ning;
这背后的主要思想是创建一个线程或任务,运行在后台检查标志以进入闪烁模式或将其关闭。
基本上,烧瓶端点只会设置该标志,您的后台任务会检查它并采取相应行动。
另一种选择是 Flask 调度程序,这样您就可以安排 运行 这些任务的方式和时间。
How can I add a background thread to flask?
还有线程池执行器
flask application with background threads
我已经开始使用 Raspberry Pi,但遇到了架构问题。 我想制作 python 应用程序,它使用 GPIO 使 LED 闪烁,并有 Web 界面来启动和停止闪烁。 在网络上有很多关于如何使用 Flask 执行一项操作的示例(例如启用 LED、禁用 LED 等),但我还没有找到如何 运行 Flask 网络服务器以及 运行 并行“工作”以闪烁 LED 或通常 运行 定时器动作。
一个解决方案是针对这两个目的使用不同的应用程序。一个用于眨眼。还有一个用于 Flask 服务器。但是这种方法需要一个数据库来在应用程序之间共享数据,我不想在 IoT 设备中这样做 (Raspberry Pi)。所以我更喜欢单一的单体应用程序。
任何人都可以帮助我了解如何 运行 在 Flask 应用程序中通过计时器进行操作吗? 这是显示我期望的伪代码。
# main.py
import time
import Flask
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(8, GPIO.OUT, initial=GPIO.LOW)
app = Flask()
def blinking():
while True: # Run forever
GPIO.output(8, GPIO.HIGH) # Turn on
time.sleep(1) # Sleep for 1 second
GPIO.output(8, GPIO.LOW) # Turn off
time.sleep(1)
if __name__ == 'main':
app.run_in_background()
blinking()
感谢任何想法!
如果我没理解错的话,你正在寻找背景中的东西运行ning;
这背后的主要思想是创建一个线程或任务,运行在后台检查标志以进入闪烁模式或将其关闭。 基本上,烧瓶端点只会设置该标志,您的后台任务会检查它并采取相应行动。
另一种选择是 Flask 调度程序,这样您就可以安排 运行 这些任务的方式和时间。
How can I add a background thread to flask?
还有线程池执行器
flask application with background threads