项目简介
本项目基于Arduino的AsyncFSWebServer_Teensy41库,此库由AsyncWebServer_Teensy41库修改而来。其目标是支持Teensy 4.1利用QNEthernet
和多种文件系统(如PSRAM、S、(Q)SPI Flash等)构建异步文件系统Web服务器。该库借鉴了Hristo Gochkov的ESPAsyncWebServer的异步特性,并应用于Teensy 4.1的内置以太网功能。
项目的主要特性和功能
特性
- 异步处理:能同时处理多个连接,请求准备好并解析后才回调,发送响应时可立即处理其他连接。
- 高性能:处理速度快,有简单易用的API,支持HTTP Basic和Digest MD5认证、ChunkedResponse。
- 扩展性强:便于扩展以处理任何类型内容,支持Continue 100。
- 插件丰富:包含Async WebSocket插件、Async EventSource插件、URL Rewrite插件、ServeStatic插件和简单模板处理引擎。
功能
- 请求处理:支持处理常见请求变量(如版本、方法、URL等)、请求头、GET/POST/FILE参数以及JSON体。
- 响应类型多样:支持重定向、带HTTP代码响应、带内容和额外头信息响应、从流响应、使用回调响应、分块响应等,还支持模板处理。
- 参数重写与过滤:可进行参数重写匹配,用过滤器控制重写和处理逻辑。
- 插件功能:
- Async WebSocket插件:可定义不同WebSocket连接位置,支持多种数据发送方法,可限制客户端数量。
- Async Event Source插件:用于向浏览器发送短文本事件。
安装使用步骤
前提条件
安装步骤
使用Arduino库管理器
在Arduino IDE中,通过库管理器搜索AsyncFSWebServer_Teensy41
,选择并安装最新版本。
手动安装
- 解压该文件到
AsyncFSWebServer_Teensy41-main
目录。 - 将整个
AsyncFSWebServer_Teensy41-main
文件夹复制到Arduino库目录,如~/Arduino/libraries/
。
使用VS Code和PlatformIO
- 安装VS Code。
- 安装PlatformIO。
- 通过库管理器安装
AsyncFSWebServer_Teensy41
库。 - 使用示例中的
platformio.ini
文件确保所有依赖库自动安装。
包补丁
若要在Teensy板上编译运行,需将Packages_Patches for Teensy目录中的文件复制到Teensy硬件目录(如./arduino-1.8.19/hardware/teensy/avr/boards.txt
)。每次安装新版本时,都要将文件复制到新的版本目录。
使用步骤
可参考项目中的示例代码,如Async_AdvancedWebServer
、Async_HelloServer
等,了解如何设置服务器、处理请求和响应等。同时,要注意这是一个完全异步的服务器,不能在回调函数中使用yield()
、delay()
或任何使用它们的函数,且不能对单个请求发送多个响应。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】