The last Micro Web Server for IoTs (MicroPython) or large servers (CPython), that supports WebSockets, routes, template MicroWebSrv2

ESP32 ⭐⭐⭐☆☆ (3/5) 已发布
jczic 718 Stars MIT BOM 完整度: /5 教程完整度: /5

项目简介

The last Micro Web Server for IoTs (MicroPython) or large servers (CPython), that supports WebSockets, routes, template


MicroWebSrv2 是一款专为 MicroPython 和 CPython 环境打造的高性能嵌入式 Web 服务器,由 JC`zic 开发,是经典 MicroWebSrv 的全面升级换代产品。它完全采用异步架构,从底层 I/O 到上层处理均实现端到端非阻塞,能够同时处理数千个并发请求,内存管理极为高效,运行速度非常快。项目主要面向物联网和嵌入式场景,常见于 Pycom WiPy、ESP32、STM32 Pyboard 等微控制器平台,也可在标准 Python 环境中运行。

标签

项目特点

**双平台兼容**:同时支持 MicroPython(IoT 设备)和 CPython(标准 Python),一套代码跨平台运行。
**异步 I/O 架构**:基于 asyncio 实现非阻塞 I/O,高并发下依然保持低延迟和低内存占用。
**内置 WebSocket 支持**:原生支持 WebSocket 协议,适合实时通信场景,如远程控制、数据推送。
**灵活的路由系统**:支持动态路由、参数捕获、HTTP 方法过滤,方便构建 RESTful API。
**模板引擎集成**:自带轻量级模板引擎,支持变量替换、循环、条件判断,无需额外依赖。
**安全与扩展性**:支持 HTTPS/SSL、CORS 跨域、自定义中间件,可轻松集成到现有项目中。

技术规格

支持平台
协议支持
异步模型
最大并发连接
内存占用
路由功能
模板引擎
SSL/TLS
CORS
文件大小
许可证

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
MicroWebSrv2.py 1 主服务器模块
MicroWebSrv2_WebSocket.py 1 WebSocket 支持模块
MicroWebSrv2_Template.py 1 模板引擎模块
examples/ 目录 1 包含多个使用示例
README.md 1 项目说明与快速开始
wiki 页面 1 在线文档(GitHub Wiki)
uasyncio (MicroPython) 或 asyncio (CPython) 1 异步 I/O 库
ssl 模块 1 用于 HTTPS 支持

所需工具

工具用途是否必需
Python 3.x 运行 CPython 版本 ▢ 推荐
MicroPython 固件 运行 MicroPython 版本 ▢ 推荐
文本编辑器 / IDE 编写和修改代码 ✅ 是
Web 浏览器 测试 Web 页面和 WebSocket ▢ 推荐
串口工具(如 PuTTY) 调试 IoT 设备 ▢ 推荐
Git 克隆仓库和版本管理 ▢ 推荐

能力画像

**记忆与知识检索**:3/5 — 需要查阅文档了解 API 和配置选项,但核心概念简单,上手快。
**动手与操作**:4/5 — 需要实际部署到设备或服务器,配置网络、测试接口,动手环节较多。
**编程与算法**:3/5 — 主要涉及 Python 编程,路由和模板逻辑简单,无需复杂算法。
**设计与建模**:2/5 — 项目本身是现成框架,设计工作主要集中在路由规划和页面模板上。
**实验与调试**:4/5 — 调试 Web 服务需要浏览器开发者工具、日志输出、串口监控等多种手段。
**协作与分享**:3/5 — 可通过 GitHub 提交 Issue 或 PR,但社区规模中等,协作机会有限。
**学习与研究**:4/5 — 适合学习异步编程、Web 协议、IoT 网络通信等知识,文档和示例丰富。
**系统集成**:4/5 — 可轻松与传感器、数据库、其他 Web 服务集成,扩展性强。

所需技能

Python 基础编程 了解 HTTP/HTTPS 协议 熟悉 WebSocket 基本概念 能够使用命令行和文件传输工具 对 IoT 设备(如 ESP32)有基本认识(可选) 了解异步编程概念(可选)

适用场景

在 ESP32 上搭建智能家居控制 Web 界面
为 IoT 设备提供 RESTful API 接口
实现实时数据监控面板(通过 WebSocket 推送)
开发轻量级嵌入式 Web 应用
教学演示异步 Web 服务器原理
快速原型验证 Web 服务功能