Skip to content

AsyncESP32_SC_W5500_Manager

This is an ESP32_S2/S3/C3 + LwIP W5500 Credentials and Connection Manager with fallback Web ConfigPortal. This Library is used for configuri

WIZnet

Published January 03, 2023

Original author: khoih-progOriginal source (new tab)

AsyncESP32_SC_W5500_Manager

Components

Hardware components

WIZnet parts

Project description

Features

This is an ESP32_S2/S3/C3 + LwIP W5500 Credentials and Connection Manager with fallback Web ConfigPortal. This Library is used for configuring ESP32_S2/S3/C3 Ethernet Static / DHCP and Credentials at runtime. You can specify static DNS servers, personalized HostName and CORS feature.

This library is based on, modified, bug-fixed and improved from:

  1. Khoi Hoang's ESPAsync_WiFiManager

to use the better and faster asynchronous ESPAsyncWebServer instead of WebServer_ESP32_W5500

Thanks to this AsyncESP32_SC_W5500_Manager library is based on and sync'ed with ESPAsync_WiFiManager, all the features currently supported by ESPAsync_WiFiManager will be available. Please have a look at ESPAsync_WiFiManager for those too-many-to-list features.


Why Async is better

  • Using asynchronous network means that you can handle more than one connection at the same time
  • You are called once the request is ready and parsed
  • When you send the response, you are immediately ready to handle other connections while the server is taking care of sending the response in the background
  • Speed is OMG
  • Easy to use API, HTTP Basic and Digest MD5 Authentication (default), ChunkedResponse
  • Easily extensible to handle any type of content
  • Supports Continue 100
  • Async WebSocket plugin offering different locations without extra servers or ports
  • Async EventSource (Server-Sent Events) plugin to send events to the browser
  • URL Rewrite plugin for conditional and permanent url rewrites
  • ServeStatic plugin that supports cache, Last-Modified, default index and more
  • Simple template processing engine to handle templates

To appreciate the power of the ESPAsyncWebServer and underlying Async libraries, please compare the more efficient Async_ESP32_FSWebServer example example with the complicated twin ESP32_FSWebServer.


Twin Libraries

Please also check these similar libraries

Base libraries

  1. WebServer_WT32_ETH01 for ESP32-based WT32_ETH01 using LwIP LAN8720
  2. WebServer_ESP32_ENC for ESP32-boards using LwIP ENC28J60
  3. WebServer_ESP32_W5500 for ESP32-boards using LwIP W5500
  4. WebServer_ESP32_SC_ENC for ESP32_S2/S3/C3-boards using LwIP ENC28J60
  5. WebServer_ESP32_SC_W5500 for ESP32_S2/S3/C3-boards using LwIP W5500

Synchronous Ethernet Manager libraries

  1. ESP32_ENC_Manager for ESP32-boards using LwIP ENC28J60
  2. ESP32_W5500_Manager for ESP32-boards using LwIP W5500
  3. ESP32_Ethernet_Manager for ESP32-boards using LwIP W5500 or ENC28J60
  4. ESP32_SC_ENC_Manager for ESP32_S2/S3/C3-boards using LwIP ENC28J60
  5. ESP32_SC_W5500_Manager for ESP32_S2/S3/C3-boards using LwIP W5500
  6. ESP32_SC_Ethernet_Manager for ESP32_S2/S3/C3-boards using LwIP W5500 or ENC28J60

Asynchronous Ethernet Manager libraries

  1. AsyncWT32_ETH01_Manager for ESP32-based WT32_ETH01 using LwIP LAN8720
  2. AsyncESP32_ENC_Manager for ESP32-boards using LwIP ENC28J60
  3. AsyncESP32_W5500_Manager for ESP32-boards using LwIP W5500
  4. AsyncESP32_Ethernet_Manager for ESP32-boards using LwIP W5500 or ENC28J60
  5. AsyncESP32_SC_ENC_Manager for ESP32_S2/S3/C3-boards using LwIP ENC28J60
  6. AsyncESP32_SC_W5500_Manager for ESP32_S2/S3/C3-boards using LwIP W5500
  7. AsyncESP32_SC_Ethernet_Manager for ESP32_S2/S3/C3-boards using LwIP W5500 or ENC28J60

Currently supported Boards

This AsyncESP32_SC_W5500_Manager library currently supports these following boards:

  1. ESP32_S3-based boards (ESP32S3_DEV, ESP32_S3_BOX, UM TINYS3, UM PROS3, UM FEATHERS3, etc.)
  2. ESP32-S2 (ESP32-S2 Saola, AI-Thinker ESP-12K, etc.)
  3. ESP32-C3 (ARDUINO_ESP32C3_DEV, etc.)

using LwIP W5500 Ethernet


ESP32S3_DEV

AsyncESP32_SC_W5500_Manager, ESP32S3_DEV

ESP32S2_DEV

AsyncESP32_SC_W5500_Manager, ESP32S2_DEV

ESP32C3_DEV

AsyncESP32_SC_W5500_Manager, ESP32C3_DEV


W5500

AsyncESP32_SC_W5500_Manager, W5500

AsyncESP32_SC_W5500_Manager, W5500



Prerequisites

  1. Arduino IDE 1.8.19+ for Arduino. GitHub release
  2. ESP32 Core 2.0.5+ for ESP32-based boards. Latest release
  3. ESPAsyncWebServer v1.2.3+. You have to use the latest forked ESPAsyncWebServer if the PR Fix compiler error for ESP32-C3 and mbed TLS v2.7.0+ #970 hasn't been merged. To install manually for Arduino IDE
  4. ESPAsyncDNSServer v1.0.0+ or Forked ESPAsyncDNSServer v1.0.0+
  5. AsyncTCP v1.1.1+. To install manually for Arduino IDE
  6. ESP_DoubleResetDetector v1.3.2+ if using DRD feature. To install, check arduino-library-badge. Use v1.1.0+ if using LittleFS for ESP32 v1.0.6+.
  7. WebServer_ESP32_SC_W5500 library v1.2.1+ if necessary to use ESP32 boards using LwIP W5500 Ethernet. To install, check arduino-library-badge


Installation

Use Arduino Library Manager

The best and easiest way is to use Arduino Library Manager. Search for AsyncESP32_SC_W5500_Manager, then select / install the latest version. You can also use this link arduino-library-badge for more detailed instructions.

Manual Install

  1. Navigate to AsyncESP32_SC_W5500_Manager page.
  2. Download the latest release AsyncESP32_SC_W5500_Manager-main.zip.
  3. Extract the zip file to AsyncESP32_SC_W5500_Manager-main directory
  4. Copy the whole AsyncESP32_SC_W5500_Manager-main folder to Arduino libraries' directory such as ~/Arduino/libraries/.

VS Code & PlatformIO:

  1. Install VS Code
  2. Install PlatformIO
  3. Install AsyncESP32_SC_W5500_Manager library by using Library Manager. Search for AsyncESP32_SC_W5500_Manager in Platform.io Author's Libraries
  4. Use included platformio.ini file from examples to ensure that all dependent libraries will installed automatically. Please visit documentation for the other options and examples at Project Configuration File


 

Documents

  • AsyncESP32_SC_W5500_Manager

Comments

Comments