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 完整度: 0/5 教程完整度: 0/5
The last Micro Web Server for IoTs (MicroPython) or large servers (CPython), that supports WebSockets, routes, template

项目简介

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 跨域、自定义中间件,可轻松集成到现有项目中。

技术规格

支持平台 MicroPython (ESP32, STM32, Pyboard, WiPy, LoPy) / CPython (Linux, Windows, macOS)
协议支持 HTTP/1.1, HTTPS, WebSocket (RFC 6455)
异步模型 asyncio (CPython) / uasyncio (MicroPython)
最大并发连接 取决于平台内存,典型值:ESP32 约 50 连接,CPython 约 1000+ 连接
内存占用 ESP32 上约 30-50 KB RAM(不含应用数据)
路由功能 静态路由、动态路由(带参数)、HTTP 方法过滤
模板引擎 内置轻量模板引擎,支持变量、循环、条件
SSL/TLS 支持(需平台提供 SSL 模块)
CORS 内置支持,可配置允许来源、方法、头
文件大小 核心模块约 20 KB(MicroPython 版本)
许可证 MIT

项目资源

物料清单 (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 支持

能力画像

**记忆与知识检索**: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 服务功能