HTTPS服务器通用库 HTTPS_Server_Generic

ESP32 ⭐⭐☆☆☆ (2/5) 已发布
khoih-prog 23 Stars MIT BOM 完整度: /5 教程完整度: /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 协议和异步编程的实践项目。