让我们创建一个简单的物联网服务器来控制家里的东西
Flask之所以称为微框架,是因为它不需要特定的工具或库。 它没有数据库抽象层,表单验证或任何其他现有的第三方库提供公用功能的组件。 但是,Flask支持可以添加应用程序功能的扩展,就好像它们是在Flask本身中实现的一样。
在本教程中,我们将使用Raspberry Pi作为本地Web服务器,在这里我们将通过一个简单的网页进行控制,将其3个GPIO编程为输出(充当执行器),并监视2个GPIO编程为输入(传感器)。
上面的框图显示了我们要完成的工作
安装FLASK并设置RPi网络服务器

Flask安装
首先要做的是在Raspberry Pi上安装Flask。转到终端并输入:
sudo apt-get install python3-flask |
启动新项目时最好的方法是创建一个文件夹,用于组织文件。例如:
上面的命令将创建一个名为“ Server”的文件夹。在那里,我们将保存我们的python文件(应用程序):
/home/pi/Documents/Server |
在此文件夹中,我们创建另外两个子文件夹:用于CSS的静态子文件夹,以及最终用于HTML文件的JavaScript文件和模板(或更准确地说,是Jinja2模板。但不要担心)。转到新创建的文件夹:
并创建2个新的子文件夹:
和
最终的文件夹“ tree”如下所示:
/rpiWebServer /static /templates |
Python 网络服务器应用程序
现在,让我们用Flask创建第一个python网络服务器:
- 打开您的Python3 IDE,Thonny或Geany
- 将下面的“ Hello Word”代码复制到您的IDE上,并将其保存为例如helloWorld.py
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Hello world' if __name__ == '__main__': app.run(debug=True, port=80, host='0.0.0.0') |
创建服务器网页
硬件原理图
读取GPIO状态
Python脚本
控制GPIO
Python脚本
集成传感器和执行器
使用模板
完整源代码
阅读完整文档