在microPython上搭建一个简单的HTTP WEB服务器

microPython给会使用Python的人从事单片机开发提供了一个可能, 但是目前好像没有一个成熟的web服务器方案, 于是我开发了一个名为 micro_route 的框架

GitHub地址: Li-Lian1069/micro_route: A lightweight web framework work on micropython (github.com)

文档: Choose a language · micro_route – docs (m-jay.cn)

欢迎 star 本项目!

下面演示一个简单的例子:

import network
WLAN = network.WLAN (network.STA_IF)
WLAN.active (True)
WLAN.connect ("SSID","PASSWD")

import micro_route # 导入本模块
app = micro_route.MICRO_ROUTE ()

@app.route ("/")
def index (context:micro_route.Context):
    return """\
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Welcome</title>
    <style>
        body {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            padding: 0;
            margin: 0
        }
        h1 {
            font-size: 32px;
        }
        p {
            font-size: 24px;
        }
    </style>
</head>
<body>
    <div>
        <h1>Welcome to micro_route</h1>
        <p>Start a pleasant development journey!</p>
    </div>
</body>
</html>
"""

micro_route.debug_info (1,'run app')
app.run (blocked=True)
micro_route.debug_info (1,'app stop')
app.stop ()

上传到开发版中,访问IP即可显示:

本模块支持四种工作方式, 支持 ESP8266 和 ESP32, 使用与 Flask 类似的路由响应行为.

如何使用?

前往github下载一个最新的release, 参考开发文档即可.

详见 Releases · Li-Lian1069/micro_route (github.com)

Choose a language · micro_route – docs (m-jay.cn)

microPython 环境搭建

参考 esp8266运行micropython教程 – 电子创客营 (eemaker.com)

Leave a Reply