25 简易的 WEB 应用

来自Waveshare Wiki
跳转至: 导航搜索

简易的 WEB 应用

在之前的章节中我们介绍了如何使用 Flask 实现低延时图传,用于将摄像头画面传递到 WEB 应用界面上,在这里我们介绍如何将 WEB 应用界面输入的信息,传递到 WEB 应用的后端,这个功能用于使用 WEB 应用来控制机器人。

from flask import Flask, request # 从 flask 包导入 Flask 类和 request 对象

app = Flask(__name__) # 创建 Flask 应用实例

@app.route('/', methods=['GET', 'POST']) # 定义根路由,并允许 GET 和 POST 方法
def index():
    if request.method == 'POST': # 检查当前请求是否为 POST
        # 获取表单数据
        form_data = request.form
        # 打印表单数据
        print(form_data)
        # 返回一个简单的响应
        return 'Received data: {}'.format(form_data)
    else:
        # 如果是 GET 请求,返回一个简单的表单页面
        return '''
        <form method="post">
            <label for="input_data">Input data:</label><br>
            <input type="text" id="input_data" name="input_data"><br>
            <input type="submit" value="Submit">
        </form>
        '''

if __name__ == '__main__':
    app.run(host='0.0.0.0')

你可以选中上面的代码块,按 Ctrl + Enter 来运行该代码块,如果提是端口已经被占用说明你之前已经运行过该代码块。你需要点击 jupyterLab 上方的 Kernel -> Shut Down All Kernel ,这样会释放之前运行代码块所占用的资源(包含网络端口资源),然后你可以重新运行该代码块来运行这个 Flask 应用。

当你运行这个代码块后,你可以看到 Running on http://127.0.0.1:5000, Running on http://[IP]:5000 的字样,通常这个 [IP] 是你的路由给你的树莓派分配的 IP 地址,你可以在同一局域网内的设备上打开浏览器,访问 [IP]:5000 这个地址,注意这里的 ':' 符号一定要是英文的冒号,它指代你要访问这个IP地址的5000端口号,访问这个页面后,你可以看到页面上有一个输入框,下面还有一个 Submit 按键,你可以在输入框中输入一些内容,然后点击 Submit 按键,之后你可以在 JupyterLab 的代码块下方看到你在网页上输入的内容,且网页也会显示出后端所接收到的内容。