项目简介
本项目基于Arduino的EthernetWebServer_STM32库,是一个简单且完整的WebServer库,适用于STM32F/L/H/G/WB/MP1系列开发板。支持使用内置以太网(如Nucleo - 144、Discovery系列开发板)、W5x00或ENC28J60以太网扩展板。该库函数与ESP32 WebServer
和ESP8266WebServer
库相似且兼容,方便将ESP8266/ESP32的代码移植到STM32上,从v1.1.0版本起,还提供高级的HTTP和WebSocket客户端功能。
项目的主要特性和功能
特性
- 同步处理客户端请求,可在
loop()
函数中持续检查处理。 - 支持TCP、UDP、HTTP的服务器和客户端功能。
- 提供HTTP GET和POST请求处理,支持参数解析,同一时间处理一个客户端请求。
- 具备高级的HTTP(GET、POST、PUT、PATCH、DELETE)和WebSocket客户端功能。
- 函数与ESP8266/ESP32的WebServer库相似,便于代码移植。
功能
- 类构造:创建
EthernetWebServer
类对象,可指定端口号。 - 基本操作:启动服务器、处理客户端请求、关闭服务器。
- 客户端请求处理:定义请求处理函数,处理不同的请求路径和文件上传。
- 响应发送:向客户端发送HTTP响应,支持多种内容类型。
- 高级选项:获取请求参数和头部信息、进行身份验证。
- 其他功能:获取当前URI、请求方法、客户端信息等。
安装使用步骤
安装
假设用户已经下载了本项目的源码文件,可按以下方式安装:
1. 使用Arduino库管理器:打开Arduino IDE,选择“工具” -> “管理库”,搜索“EthernetWebServer_STM32”,选择并安装最新版本。
2. 手动安装:将下载的EthernetWebServer_STM32-master.zip
文件解压到EthernetWebServer_STM32-master
目录,然后将该文件夹复制到Arduino库目录,如~/Arduino/libraries/
。
3. VS Code & PlatformIO:
- 安装VS Code和PlatformIO。
- 打开PlatformIO的库管理器,搜索“EthernetWebServer_STM32”并安装。
- 使用示例中的platformio.ini
文件确保所有依赖库自动安装。
使用
选择以太网库
在代码中选择并定义使用的以太网库,只能选择一个: ```cpp
define USE_BUILTIN_ETHERNET false
define USE_UIP_ETHERNET false
if !(USE_BUILTIN_ETHERNET || USE_UIP_ETHERNET)
// Only one of the following to be true #define USE_ETHERNET false #define USE_ETHERNET2 false #define USE_ETHERNET3 false #define USE_ETHERNET_LARGE false #define USE_ETHERNET_ESP8266 false #define USE_ETHERNET_ENC false #define USE_CUSTOM_ETHERNET false
endif
```
示例代码
```cpp
include
EthernetWebServer server(80);
void handleRoot() { server.send(200, "text/plain", "Hello from EthernetWebServer!"); }
void setup() { // 初始化以太网 // ...
server.on("/", handleRoot); server.begin(); }
void loop() { server.handleClient(); } ``` 以上代码示例展示了如何创建一个简单的Web服务器,处理根路径的请求并返回响应。在实际使用中,需要根据具体需求进行配置和扩展。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】