# ESPAsyncWebServer
[![Build Status](https://travis-ci.org/me-no-dev/ESPAsyncWebServer.svg?branch=master)](https://travis-ci.org/me-no-dev/ESPAsyncWebServer) ![](https://github.com/me-no-dev/ESPAsyncWebServer/workflows/ESP%20Async%20Web%20Server%20CI/badge.svg) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/395dd42cfc674e6ca2e326af3af80ffc)](https://www.codacy.com/manual/me-no-dev/ESPAsyncWebServer?utm_source=github.com&utm_medium=referral&utm_content=me-no-dev/ESPAsyncWebServer&utm_campaign=Badge_Grade)
A fork of the [ESPAsyncWebServer](https://github.com/me-no-dev/ESPAsyncWebServer) library by [@me-no-dev](https://github.com/me-no-dev) for [ESPHome](https://esphome.io).
For help and support [![Join the chat at https://gitter.im/me-no-dev/ESPAsyncWebServer](https://badges.gitter.im/me-no-dev/ESPAsyncWebServer.svg)](https://gitter.im/me-no-dev/ESPAsyncWebServer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Async HTTP and WebSocket Server for ESP8266 Arduino
For ESP8266 it requires [ESPAsyncTCP](https://github.com/me-no-dev/ESPAsyncTCP)
To use this library you might need to have the latest git versions of [ESP8266](https://github.com/esp8266/Arduino) Arduino Core
For ESP32 it requires [AsyncTCP](https://github.com/me-no-dev/AsyncTCP) to work
To use this library you might need to have the latest git versions of [ESP32](https://github.com/espressif/arduino-esp32) Arduino Core
## Table of contents
- [ESPAsyncWebServer](#espasyncwebserver)
- [Table of contents](#table-of-contents)
- [Installation](#installation)
- [Using PlatformIO](#using-platformio)
- [Why should you care](#why-should-you-care)
- [Important things to remember](#important-things-to-remember)
- [Principles of operation](#principles-of-operation)
- [The Async Web server](#the-async-web-server)
- [Request Life Cycle](#request-life-cycle)
- [Rewrites and how do they work](#rewrites-and-how-do-they-work)
- [Handlers and how do they work](#handlers-and-how-do-they-work)
- [Responses and how do they work](#responses-and-how-do-they-work)
- [Template processing](#template-processing)
- [Libraries and projects that use AsyncWebServer](#libraries-and-projects-that-use-asyncwebserver)
- [Request Variables](#request-variables)
- [Common Variables](#common-variables)
- [Headers](#headers)
- [GET, POST and FILE parameters](#get-post-and-file-parameters)
- [FILE Upload handling](#file-upload-handling)
- [Body data handling](#body-data-handling)
- [JSON body handling with ArduinoJson](#json-body-handling-with-arduinojson)
- [Responses](#responses)
- [Redirect to another URL](#redirect-to-another-url)
- [Basic response with HTTP Code](#basic-response-with-http-code)
- [Basic response with HTTP Code and extra headers](#basic-response-with-http-code-and-extra-headers)
- [Basic response with string content](#basic-response-with-string-content)
- [Basic response with string content and extra headers](#basic-response-with-string-content-and-extra-headers)
- [Send large webpage from PROGMEM](#send-large-webpage-from-progmem)
- [Send large webpage from PROGMEM and extra headers](#send-large-webpage-from-progmem-and-extra-headers)
- [Send large webpage from PROGMEM containing templates](#send-large-webpage-from-progmem-containing-templates)
- [Send large webpage from PROGMEM containing templates and extra headers](#send-large-webpage-from-progmem-containing-templates-and-extra-headers)
- [Send binary content from PROGMEM](#send-binary-content-from-progmem)
- [Respond with content coming from a Stream](#respond-with-content-coming-from-a-stream)
- [Respond with content coming from a Stream and extra headers](#respond-with-content-coming-from-a-stream-and-extra-headers)
- [Respond with content coming from a Stream containing templates](#respond-with-content-coming-from-a-stream-containing-templates)
- [Respond with content coming from a Stream containing templates and extra headers](#respond-with-content-coming-from-a-stream-containing-templates-and-extra-headers)
- [Respond with content coming from a File](#respond-with-content-coming-from-a-file)
- [Respond with content coming from a File and extra headers](#respond-with-content-coming-from-a-file-and-extra-headers)
- [Respond with content coming from a File containing templates](#respond-with-content-coming-from-a-file-containing-templates)
- [Respond with content using a callback](#respond-with-content-using-a-callback)
- [Respond with content using a callback and extra headers](#respond-with-content-using-a-callback-and-extra-headers)
- [Respond with content using a callback containing templates](#respond-with-content-using-a-callback-containing-templates)
- [Respond with content using a callback containing templates and extra headers](#respond-with-content-using-a-callback-containing-templates-and-extra-headers)
- [Chunked Response](#chunked-response)
- [Chunked Response containing templates](#chunked-response-containing-templates)
- [Print to response](#print-to-response)
- [ArduinoJson Basic Response](#arduinojson-basic-response)
- [ArduinoJson Advanced Response](#arduinojson-advanced-response)
- [Serving static files](#serving-static-files)
- [Serving specific file by name](#serving-specific-file-by-name)
- [Serving files in directory](#serving-files-in-directory)
- [Serving static files with authentication](#serving-static-files-with-authentication)
- [Specifying Cache-Control header](#specifying-cache-control-header)
- [Specifying Date-Modified header](#specifying-date-modified-header)
- [Specifying Template Processor callback](#specifying-template-processor-callback)
- [Param Rewrite With Matching](#param-rewrite-with-matching)
- [Using filters](#using-filters)
- [Serve different site files in AP mode](#serve-different-site-files-in-ap-mode)
- [Rewrite to different index on AP](#rewrite-to-different-index-on-ap)
- [Serving different hosts](#serving-different-hosts)
- [Determine interface inside callbacks](#determine-interface-inside-callbacks)
- [Bad Responses](#bad-responses)
- [Respond with content using a callback without content length to HTTP/1.0 clients](#respond-with-content-using-a-callback-without-content-length-to-http10-clients)
- [Async WebSocket Plugin](#async-websocket-plugin)
- [Async WebSocket Event](#async-websocket-event)
- [Methods for sending data to a socket client](#methods-for-sending-data-to-a-socket-client)
- [Direct access to web socket message buffer](#direct-access-to-web-socket-message-buffer)
- [Limiting the number of web socket clients](#limiting-the-number-of-web-socket-clients)
- [Async Event Source Plugin](#async-event-source-plugin)
- [Setup Event Source on the server](#setup-event-source-on-the-server)
- [Setup Event Source in the browser](#setup-event-source-in-the-browser)
- [Scanning for available WiFi Networks](#scanning-for-available-wifi-networks)
- [Remove handlers and rewrites](#remove-handlers-and-rewrites)
- [Setting up the server](#setting-up-the-server)
- [Setup global and class functions as request handlers](#setup-global-and-class-functions-as-request-handlers)
- [Methods for controlling websocket connections](#methods-for-controlling-websocket-connections)
- [Adding Default Headers](#adding-default-headers)
- [Path variable](#path-variable)
## Installation
### Using PlatformIO
[PlatformIO](http://platformio.org) is an open source ecosystem for IoT development with cross platform build system, library manager and full support for Espressif ESP8266/ESP32 development. It works on the popular host OS: Mac OS X, Windows, Linux 32/64, Linux ARM (like Raspberry Pi, BeagleBone, CubieBoard).
1. Install [PlatformIO IDE](http://platformio.org/platformio-ide)
2. Create new project
没有合适的资源?快使用搜索试试~ 我知道了~
ESP8266 WebServer③-基于AsyncElegantOTA.h网页OTA升级的配套工程文件
共282个文件
o:120个
h:31个
sh:20个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 149 浏览量
2022-04-09
16:20:56
上传
评论
收藏 1.11MB 7Z 举报
温馨提示
基于PlatformIO实现本地网页OTA升级ESP8266。提供了完整例程。项目基于VScode PlatformIO平台。 具体说明见链接: https://blog.csdn.net/armcsdn/article/details/124061591
资源推荐
资源详情
资源评论
收起资源包目录
ESP8266 WebServer③-基于AsyncElegantOTA.h网页OTA升级的配套工程文件 (282个子文件)
libFrameworkArduino.a 1.02MB
libESP8266WiFi.a 560KB
libESPAsyncWebServer-esphome.a 539KB
libLittleFS.a 224KB
libESPAsyncTCP.a 185KB
libESPAsyncTCP-esphome.a 185KB
libHash.a 5KB
libFrameworkArduinoVariant.a 8B
littlefs.bin 1000KB
firmware.bin 389KB
.test.build_flags 25B
tcp_axtls.c 15KB
tcp_axtls.c 14KB
server.cer 587B
server.cer 587B
project.checksum 40B
ESPAsyncTCP.cpp 37KB
ESPAsyncTCP.cpp 36KB
AsyncTCP.cpp 35KB
AsyncWebSocket.cpp 33KB
WebRequest.cpp 32KB
WebResponses.cpp 24KB
ESPAsyncTCPbuffer.cpp 15KB
ESPAsyncTCPbuffer.cpp 15KB
SyncClient.cpp 11KB
SyncClient.cpp 11KB
AsyncEventSource.cpp 10KB
WebHandlers.cpp 7KB
WebAuthentication.cpp 7KB
WebServer.cpp 6KB
AsyncPrinter.cpp 6KB
AsyncPrinter.cpp 6KB
main.cpp 2KB
.sconsign310.dblite 762KB
firmware.elf 1.45MB
.gitattributes 66B
.gitignore 456B
.gitignore 94B
.gitignore 26B
.gitignore 11B
.gitignore 11B
.gitignore 11B
elegantWebpage.h 190KB
ESPAsyncWebServer.h 18KB
AsyncWebSocket.h 12KB
ESPAsyncTCP.h 11KB
ESPAsyncTCP.h 11KB
AsyncTCP.h 7KB
AsyncJson.h 7KB
AsyncElegantOTA.h 6KB
WebHandlerImpl.h 6KB
WebResponseImpl.h 5KB
StringArray.h 5KB
AsyncEventSource.h 4KB
ESPAsyncTCPbuffer.h 4KB
ESPAsyncTCPbuffer.h 4KB
DebugPrintMacros.h 3KB
SyncClient.h 3KB
SyncClient.h 3KB
tcp_axtls.h 3KB
tcp_axtls.h 3KB
DebugPrintMacros.h 3KB
AsyncPrinter.h 2KB
AsyncPrinter.h 2KB
WebAuthentication.h 2KB
AsyncWebSynchronization.h 1KB
async_config.h 1KB
Hash.h 1KB
async_config.h 1KB
config.h 781B
config.h 781B
config.h 781B
config.h 781B
index.html 1KB
platformio.ini 666B
regex_patterns.ino 2KB
Server.ino 2KB
Server.ino 2KB
simple_server.ino 2KB
Client.ino 1KB
Client.ino 1KB
CaptivePortal.ino 1KB
SyncClient.ino 1KB
SyncClient.ino 1KB
ESP8266_Async_Demo.ino 850B
ESP32_Async_Demo.ino 838B
c_cpp_properties.json 11KB
idedata.json 10KB
launch.json 2KB
library.json 869B
library.json 513B
library.json 442B
library.json 433B
library.json 428B
extensions.json 274B
server.key 611B
server.key 611B
local.eagle.app.v6.common.ld 9KB
LICENSE 7KB
LICENSE 1KB
共 282 条
- 1
- 2
- 3
资源评论
- jeff1681681682022-07-11这个资源内容超赞,对我来说很有价值,很实用,感谢大佬分享~
armcsdn
- 粉丝: 254
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功