Simple + Robust HTTP/S server with websockets for ESP32 based on ESP-IDF http server. PsychicHttp

ESP32 ⭐⭐☆☆☆ (2/5) 已发布
hoeken 197 Stars MIT BOM 完整度: /5 教程完整度: /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 开发等课程内容。