Skip to content

Latest commit

 

History

History
55 lines (34 loc) · 2.64 KB

README.md

File metadata and controls

55 lines (34 loc) · 2.64 KB

https://avatars.githubusercontent.com/u/195753706?s=96&v=4

AsyncTCP

License: LGPL 3.0 Continuous Integration PlatformIO Registry

Discord Server: https://discord.gg/X7zpGdyUcY

Async TCP Library for ESP32 Arduino

This is a fully asynchronous TCP library, aimed at enabling trouble-free, multi-connection network environment for Espressif's ESP32 MCUs.

This library is the base for ESPAsyncWebServer

How to install

The library can be downloaded from the releases page at https://github.com/ESP32Async/AsyncTCP/releases.

It is also deployed in these registries:

AsyncClient and AsyncServer

The base classes on which everything else is built. They expose all possible scenarios, but are really raw and require more skills to use.

Important recommendations

Most of the crashes are caused by improper configuration of the library for the project. Here are some recommendations to avoid them.

I personally use the following configuration in my projects:

  -D CONFIG_ASYNC_TCP_MAX_ACK_TIME=5000 // (keep default)
  -D CONFIG_ASYNC_TCP_PRIORITY=10 // (keep default)
  -D CONFIG_ASYNC_TCP_QUEUE_SIZE=64 // (keep default)
  -D CONFIG_ASYNC_TCP_RUNNING_CORE=1 // force async_tcp task to be on same core as the app (default is core 0)
  -D CONFIG_ASYNC_TCP_STACK_SIZE=4096 // reduce the stack size (default is 16K)

Compatibility

  • ESP32
  • Arduino Core 2.x and 3.x