HTTPS服务器通用库
HTTPS_Server_Generic
ESP32
⭐⭐☆☆☆ (2/5)
已发布
项目简介
This is HTTPS/HTTP Server Library for ESP32, WT32_ETH01, ESP32 + LwIP W5500, ESP32 + LwIP W6100, ESP32 + LwIP ENC28J60.
HTTPS_Server_Generic 是一个专为嵌入式系统设计的轻量级 HTTPS 服务器库,基于 esp32_https_server 和 ESP32_HTTPS_Server 项目改进而来。它的核心价值在于将原本仅适用于特定 ESP32 开发板的 HTTPS 服务器功能,扩展到了更广泛的硬件平台,包括 WT32_ETH01、ESP32 搭配 W5500/W6100/ENC28J60 以太网模块,以及未来计划支持的 ESP8266、Portenta_H7、RP2040W 和 Teensy 4.1 等。
标签
项目特点
**多协议支持**:可同时运行 HTTP 和 HTTPS 服务,或仅运行其中一种。
**异步处理**:支持异步处理多个客户端请求,提高并发性能(最多支持 3-4 个 TLS 客户端)。
**中间件机制**:支持使用中间件函数处理请求,便于实现认证、日志等通用功能。
**丰富的 API**:提供简洁的 API 用于访问参数、请求头、HTTP Basic Auth 等。
**硬件加密**:利用 ESP32 内置的硬件加密功能实现 HTTPS。
**连接优化**:支持 `Connection: keep-alive` 和 SSL 会话复用,减少握手开销,加速数据传输。
**广泛兼容性**:支持 ESP32、ESP32-S2、ESP32-S3、ESP32-C3 等多种芯片,以及 WiFi 和多种以太网模块。
技术规格
| 支持的芯片 | |
|---|---|
| 网络接口 | |
| 协议 | |
| 最大并发 TLS 客户端 | |
| 开发环境 | |
| 依赖库 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| ESP32 开发板 (如 ESP32-DevKitC) | 1 | — | 可选 ESP32-S2/S3/C3 |
| W5500 模块 | 1 | — | 可选,用于有线网络 |
| ENC28J60 模块 | 1 | — | 可选,10Mbps |
| W6100 模块 | 1 | — | 可选,100Mbps |
| LAN8720 模块 (WT32_ETH01) | 1 | — | 可选,集成在 WT32_ETH01 板上 |
| 杜邦线 | 若干 | — | 用于连接主控板和以太网模块 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| 电脑 | 编写、编译和上传代码 | ✅ 是 |
| USB 数据线 | 连接开发板与电脑 | ✅ 是 |
| Arduino IDE 或 PlatformIO | 开发环境 | ✅ 是 |
能力画像
记忆与知识检索
2/5
逻辑推演
3/5
表达与交流
2/5
感知与观察
2/5
数理与计算
3/5
动手与操作
3/5
狂热与坚持
2/5
创造与创新
3/5
项目图库
所需技能
🔧 **动手能力**:需要能够连接开发板与以太网模块(如使用杜邦线),并正确配置硬件。
💻 **编程能力**:需要具备 Arduino 或 C/C++ 编程基础,能够理解和使用库的 API,并编写回调函数。
⚡ **电子电路**:了解基本的电路连接知识,能够正确为开发板和模块供电。
适用场景
**智能家居**:为智能设备提供本地 Web 控制界面,支持 HTTPS 加密通信。
**工业物联网**:作为传感器或执行器的 Web 服务器,实现远程监控和配置。
**原型开发**:快速搭建基于 ESP32 的 Web 服务器原型,用于测试和验证。
**教育学习**:学习嵌入式 Web 服务器、HTTPS 协议和异步编程的实践项目。