Flask还是Tornado在Raspberry Pi3上的Octoprint插件?

2024-04-19 02:30:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在为运行在Rasberry Pi3上的OctoPrint构建一个新插件。我希望它有一个包含两个按钮的HTML前端选项卡。然后第一个按钮应该能够触发一个命令行来从mjpg stremaer捕获图像,而另一个按钮则可以使用导入的OpenCV运行python脚本,该脚本将执行边缘检测并在处理后将图像输出到前端。在

从OctoPrint,它使用jinja2模板作为前端和敲除.js对于视图模型。这就是我陷入困境的地方,因为我对web应用程序的知识有限,我不知道下一步该怎么做。在

在网上搜索后,我发现无论是烧瓶还是龙卷风都被提到了很多。在网上搜索之后,我尝试使用flask,但是它遇到了

Error 98: "Address already in use"

问题是因为上面运行了OctoPrint。如果有这样的事情,我有这样的问题吗?换句话说,有没有一种方法可以单击HTML按钮来触发Raspberry Pi中的python和命令行,而不会出现端口或套接字问题?在

python代码来自flask,它将是导入OpenCV并进行图像处理的python代码:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

HTML代码使用jinja2,当前使用按钮显示日期和时间,但将触发上面的python代码和命令行:

^{pr2}$

从mpjg streamer捕获图片的命令行是:

wget http://localhost:8080/?action=snapshot -O output.jpg

如果可能的话,请给我一个例子,解释一下,并介绍服务器端和客户端的概念?谢谢。如果这里有任何错误的术语用法,我很抱歉。在


Tags: 代码命令行name图像脚本appjinja2flask