Simple + Robust HTTP/S server with websockets for ESP32 based on ESP-IDF http server.
PsychicHttp
ESP32
⭐⭐☆☆☆ (2/5)
已发布
项目简介
基于ESP-IDF的ESP32 HTTP/S服务器,支持WebSockets。
PsychicHttp 是一个专为 ESP32 设计的轻量级、高性能 Web 服务器库,同时支持 Arduino 框架和原生 ESP-IDF 开发环境,无需依赖 Arduino 组件即可独立运行。该项目基于乐鑫官方 ESP-IDF HTTP Server 构建,在 API 风格上借鉴了 Arduino WebServer、ESPAsyncWebServer 和 ArduinoMongoose 等流行库,使得从这些库迁移代码变得非常直观和便捷。
标签
项目特点
**双协议支持**:同时提供 HTTP/HTTPS 和 WebSocket 服务,一个库搞定所有网络通信需求。
**ESP-IDF 原生驱动**:基于 ESP-IDF 官方 HTTP 服务器实现,性能稳定、资源占用低。
**双平台兼容**:既支持 ESP-IDF 原生开发,也兼容 Arduino 框架,降低入门门槛。
**异步非阻塞**:支持异步请求处理,不阻塞主循环,适合实时性要求高的场景。
**简单易用的 API**:路由注册、参数解析、WebSocket 事件处理都设计得直观清晰。
**MIT 开源许可**:完全免费,可商用,社区活跃,持续更新。
技术规格
| 支持平台 | |
|---|---|
| 开发框架 | |
| 协议支持 | |
| 最大并发连接 | |
| 最大 URI 长度 | |
| 最大请求头大小 | |
| 最大请求体大小 | |
| WebSocket 帧大小 | |
| 支持的 HTTP 方法 | |
| 文件系统支持 | |
| 内存占用 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| ESP32 开发板(如 ESP32-DevKitC) | 1 | — | 推荐 4MB Flash 以上版本 |
| 外接天线 | 1 | — | 用于增强 WiFi 信号 |
| 电源模块 | 1 | — | 3.3V 稳压,建议 500mA 以上 |
| 传感器模块 | 按需 | — | 如 DHT22、BME280 等 |
| LED 指示灯 | 1-3 | — | 用于状态指示 |
| 电阻 | 若干 | — | 220Ω-10kΩ,用于限流/上拉 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| ESP-IDF 工具链 | 编译 ESP32 固件 | ▢ 推荐 |
| Arduino IDE | 编写和上传代码 | ▢ 推荐 |
| PlatformIO | 跨平台开发环境 | ▢ 推荐 |
| Git | 克隆仓库和版本管理 | ✅ 是 |
| 串口调试工具(如 PuTTY) | 查看调试输出 | ✅ 是 |
| 网络抓包工具(如 Wireshark) | 调试 HTTP/WebSocket 通信 | ▢ 推荐 |
| 浏览器开发者工具 | 测试 WebSocket 连接 | ▢ 推荐 |
能力画像
记忆与知识检索
2/5
逻辑推演
3/5
表达与交流
1/5
感知与观察
2/5
数理与计算
3/5
动手与操作
3/5
狂热与坚持
2/5
创造与创新
3/5
项目图库
所需技能
C/C++ 编程基础
ESP32 开发环境搭建(ESP-IDF 或 Arduino)
基本的 WiFi 网络知识
HTTP/HTTPS 协议基础
WebSocket 协议概念
串口调试工具使用
版本控制(Git)基础
硬件连接与面包板使用(可选)
适用场景
**智能家居控制**:搭建本地 Web 控制面板,通过 WebSocket 实时控制灯光、窗帘、空调等设备。
**传感器数据采集**:将温度、湿度、气压等传感器数据通过 WebSocket 实时推送到浏览器或手机 App。
**远程设备配置**:为 IoT 设备提供 Web 配置页面,方便用户设置 WiFi 密码、MQTT 服务器等参数。
**实时监控仪表盘**:在浏览器中实时显示 ESP32 采集的电压、电流、功率等数据。
**固件 OTA 升级**:结合 HTTP 文件上传功能,实现通过浏览器远程升级固件。
**物联网网关**:作为本地网关,接收传感器数据并通过 WebSocket 转发到云平台。
**教育演示**:用于教学演示 HTTP 协议、WebSocket 通信、嵌入式 Web 开发等课程内容。