把 Flask 搬进 ESP32,高中生自研嵌入式 Web 框架 MicroFlask !
让更多人能在单片机上跑 Flask 代码” 的初衷,他利用课余时间,从零搭建了这套类 Flask 风格的 MicroPython Web 框架,并最终将其开源至 uPyPi 仓库。
✨ 什么是 MicroFlask?
MicroFlask(含同步版microflask.py和异步版 MicroFlask_Async/microflask_async.py)是一套类 Flask 风格的轻量级 Web 框架,核心目标是提升 Flask 项目迁移效率和 Web 界面开发速度,以开放、可扩展为设计宗旨,优先适配 MicroPython(如 ESP32 等嵌入式设备),同时兼容 CPython 环境。
简单说,它是一个给 MicroPython(比如 ESP32 这种单片机)量身定做的类 Flask Web 框架。核心只有一个目标:让你之前写的 Flask 代码,几乎不用改,就能直接跑在嵌入式设备上!
核心特性 :
- 低迁移成本:API 设计、项目结构完全对齐 Flask,无需大幅修改原有 Flask 代码即可迁移;
- 双环境兼容:同时支持 MicroPython(资源受限嵌入式场景)和 CPython(常规 Python 环境);
- 轻量高效:专为资源受限环境设计,无冗余中间件(开发者认为嵌入式场景无需中间件);
- 灵活扩展:模块化架构,支持自定义路由转换器、自定义模板引擎(提供
TemplateEngine基类); - 双处理模式:同步 / 异步版本分离,满足不同场景的并发需求。
| 功能模块 | 关键能力 |
|---|---|
| 路由系统 | 基本路由、动态路由(支持int/ 自定义类型)、HTTP 方法指定、自定义路由转换器(正则 / 参数 / 验证函数式); |
| 请求处理 | 表单 / JSON 数据获取、简易文件上传(需自定义解析multipart/form-data,限制 8KB 以内); |
| 响应处理 | 自动 JSON 序列化(list/dict)、自定义状态码 / 响应头、重定向、Response/make_response灵活操作; |
| 模板渲染 | 支持 utemplate 库、自定义模板引擎,可设置默认引擎; |
| 项目结构 | 沿用 Flask 的static/templates目录结构,支持自定义静态文件路径; |
🚀 上手有多简单?给你看个例子
怎么安装:
库的地址就在upypi上:MicroPython Package Repository
搜索:microflask
点击详情页 ,进入 复制 下载 指令即可:
