- Why do we need this AsyncMQTT_ESP32 library
- Changelog
- Prerequisites
- Installation
- HOWTO Use analogRead() with ESP32 running WiFi and/or BlueTooth (BT/BLE)
- Basic Usage
- How to connect W5500, W6100 or ENC28J60 to ESP32_S2/S3/C3
- Examples
- Example FullyFeaturedSSL_ESP32_SC_W5500
- Debug Terminal Output Samples
- 1. FullyFeature_ESP32_SC_W5500 on ESP32S3_DEV with ESP32_S3_W5500
- 2. FullyFeatureSSL_ESP32_SC_W5500 on ESP32S3_DEV with ESP32_S3_W5500
- 3. FullyFeature_ESP32_SC_ENC on ESP32S3_DEV with ESP32_S3_ENC28J60
- 4. FullyFeatureSSL_ESP32_SC_ENC on ESP32S3_DEV with ESP32_S3_ENC28J60
- 5. FullyFeatureSSL_WT32_ETH01 on WT32-ETH01 with ETH_PHY_LAN8720
- 6. FullyFeatureSSL_ESP32_SC_W5500 on ESP32S2_DEV with ESP32_S2_W5500
- 7. FullyFeatureSSL_ESP32_SC_W5500 on ESP32C3_DEV with ESP32_C3_W5500
- 8. FullyFeatureSSL_ESP32_SC_ENC on ESP32C3_DEV with ESP32_C3_ENC28J60
- 9. FullyFeature_ESP32_W6100 on ESP32_DEV with ESP32_W6100
- 10. FullyFeatureSSL_ESP32_SC_W6100 on ESP32S3_DEV with ESP32_S3_W6100
 
- Debug
- Troubleshooting
- Issues
- TO DO
- DONE
- Contributions and Thanks
- Contributing
- License
- Copyright
Why do we need this AsyncMQTT_ESP32 library
This AsyncMQTT_ESP32 library is based on and modified from Marvin Roger's async-mqtt-client Library, to provide support to ESP32/S2/S3/C3 boards using WiFi or LwIP W5500 / W6100 / ENC28J60 / LAN8720 Ethernet
- 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
- ESP32 (ESP32-DEV, etc.)
- ESP32 (ESP32-DEV, etc.)
- ESP32-S3 (ESP32S3_DEV, ESP32_S3_BOX, UM TINYS3, UM PROS3, UM FEATHERS3, etc.)
- ESP32-S2 (ESP32S2_DEV, etc.)
- ESP32-C3 (ESP32C3_DEV, etc.)
FULL_DUPLEX, 100Mbps
FULL_DUPLEX, 100Mbps
FULL_DUPLEX, 10Mbps
- Arduino IDE 1.8.19+for Arduino.
- ESP32 Core 2.0.6+for ESP32-based boards.
- AsyncTCP v1.1.1+for ESP32. To install manually for Arduno IDE
- AsyncTCP_SSL v1.3.1+for ESP32.
- WebServer_WT32_ETH01 v1.5.1+for ESP32-based WT32_ETH01 using either ESP32 core v2.0.0+ or v1.0.6-.
- WebServer_ESP32_ENC library v1.5.1+if necessary to use ESP32 boards using- LwIP ENC28J60Ethernet. To install, check
- WebServer_ESP32_W5500 library v1.5.2+if necessary to use ESP32 boards using- LwIP W5500Ethernet. To install, check
- WebServer_ESP32_SC_ENC library v1.2.0+if necessary to use- ESP32_S2/S3/C3boards using- LwIP ENC28J60Ethernet. To install, check
- WebServer_ESP32_SC_W5500 library v1.2.1+if necessary to use- ESP32_S2/S3/C3boards using- LwIP W5500Ethernet. To install, check
- WebServer_ESP32_W6100 library v1.5.2+if necessary to use ESP32 boards using- LwIP W6100Ethernet. To install, check
- WebServer_ESP32_SC_W6100 library v1.2.1+if necessary to use- ESP32_S2/S3/C3boards using- LwIP W6100Ethernet. To install, check
The best and easiest way is to use Arduino Library Manager. Search for AsyncMQTT_ESP32, then select / install the latest version.
You can also use this link  for more detailed instructions.
Another way to install is to:
- Navigate to AsyncMQTT_ESP32 page.
- Download the latest release AsyncMQTT_ESP32-main.zip.
- Extract the zip file to AsyncMQTT_ESP32-maindirectory
- Copy whole AsyncMQTT_ESP32-mainfolder to Arduino libraries' directory such as~/Arduino/libraries/.
- Install VS Code
- Install PlatformIO
- Install AsyncMQTT_ESP32 library by using Library Manager. Search for AsyncMQTT_ESP32 in Platform.io Author's Libraries
- 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
Please have a look at ESP_WiFiManager Issue 39: Not able to read analog port when using the autoconnect example to have more detailed description and solution of the issue.
- ADC1controls- ADCfunction for pins GPIO32-GPIO39
- ADC2controls- ADCfunction for pins GPIO0, 2, 4, 12-15, 25-27
Look in file adc_common.c
In ADC2, there're two locks used for different cases:
lock shared with app and Wi-Fi: ESP32: When Wi-Fi using the ADC2, we assume it will never stop, so app checks the lock and returns immediately if failed. ESP32S2: The controller's control over the ADC is determined by the arbiter. There is no need to control by lock.
lock shared between tasks: when several tasks sharing the ADC2, we want to guarantee all the requests will be handled. Since conversions are short (about 31us), app returns the lock very soon, we use a spinlock to stand there waiting to do conversions one by one.
adc2_spinlock should be acquired first, then adc2_wifi_lock or rtc_spinlock.
- In order to use ADC2for other functions, we have to acquire complicated firmware locks and very difficult to do
- So, it's not advisable to use ADC2with WiFi/BlueTooth (BT/BLE).
- Use ADC1, and pins GPIO32-GPIO39
- If somehow it's a must to use those pins serviced by ADC2(GPIO0, 2, 4, 12, 13, 14, 15, 25, 26 and 27), use the fix mentioned at the end of ESP_WiFiManager Issue 39: Not able to read analog port when using the autoconnect example to work with ESP32 WiFi/BlueTooth (BT/BLE).
Please check API documentation.
FULL_DUPLEX, 100Mbps
FULL_DUPLEX, 100Mbps
FULL_DUPLEX, 10Mbps
You can change the INT pin to another one. Default is GPIO4
// Must connect INT to GPIOxx or not working
#define INT_GPIO            4| W5500, W6100 or ENC28J60 | <---> | ESP32_S3 | 
|---|---|---|
| MOSI | <---> | GPIO11 | 
| MISO | <---> | GPIO13 | 
| SCK | <---> | GPIO12 | 
| CS/SS | <---> | GPIO10 | 
| INT | <---> | GPIO4 | 
| RST | <---> | RST | 
| GND | <---> | GND | 
| 3.3V | <---> | 3.3V | 
You can change the INT pin to another one. Default is GPIO4
// Must connect INT to GPIOxx or not working
#define INT_GPIO            4| W5500, W6100 or ENC28J60 | <---> | ESP32_S2 | 
|---|---|---|
| MOSI | <---> | GPIO35 | 
| MISO | <---> | GPIO37 | 
| SCK | <---> | GPIO36 | 
| CS/SS | <---> | GPIO34 | 
| INT | <---> | GPIO4 | 
| RST | <---> | RST | 
| GND | <---> | GND | 
| 3.3V | <---> | 3.3V | 
You can change the INT pin to another one. Default is GPIO4
// Must connect INT to GPIOxx or not working
#define INT_GPIO            10| W5500, W6100 or ENC28J60 | <---> | ESP32_C3 | 
|---|---|---|
| MOSI | <---> | GPIO6 | 
| MISO | <---> | GPIO5 | 
| SCK | <---> | GPIO4 | 
| CS/SS | <---> | GPIO7 | 
| INT | <---> | GPIO10 | 
| RST | <---> | RST | 
| GND | <---> | GND | 
| 3.3V | <---> | 3.3V | 
Example FullyFeaturedSSL_ESP32_SC_W5500
2. File defines.h
This is terminal debug output when running FullyFeatured_ESP32_SC_W5500 on ESP32S3_DEV with LwIP W5500, connecting to broker.emqx.io MQTT server.
Starting FullyFeature_ESP32_SC_W5500 on ESP32S3_DEV with ESP32_S3_W5500
WebServer_ESP32_SC_W5500 v1.2.1 for core v2.0.0+
AsyncMQTT_ESP32 v1.10.0 for ESP32 core v2.0.0+
ETH starting
ETH connected
ETH got IP
IP address: 192.168.2.108
Connecting to MQTT...
Connected to MQTT broker: broker.emqx.io, port: 1883
PubTopic: async-mqtt/ESP32_SC_W5500_Pub
************************************************
Session present: 0
Subscribing at QoS 2, packetId: 1
Publishing at QoS 0
Publishing at QoS 1, packetId: 2
Publishing at QoS 2, packetId: 3
************************************************
Subscribe acknowledged.
  packetId: 1
  qos: 2
Publish received.
  topic: async-mqtt/ESP32_SC_W5500_Pub
  qos: 0
  dup: 0
  retain: 0
  len: 16
  index: 0
  total: 16
Publish acknowledged.
  packetId: 2
Publish received.
  topic: async-mqtt/ESP32_SC_W5500_Pub
  qos: 1
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_SC_W5500_Pub
  qos: 2
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish acknowledged.
  packetId: 3This is terminal debug output when running FullyFeaturedSSL_ESP32_SC_W5500 on ESP32S3_DEV with LwIP W5500, connecting to broker.emqx.io secured MQTTS server (port 8883)
Starting FullyFeatureSSL_ESP32_SC_W5500 on ESP32S3_DEV with ESP32_S3_W5500
WebServer_ESP32_SC_W5500 v1.2.1 for core v2.0.0+
AsyncMQTT_ESP32 v1.10.0 for ESP32 core v2.0.0+
ETH starting
ETH connected
ETH got IP
IP address: 192.168.2.125
Connecting to MQTT...
Connected to MQTT broker: broker.emqx.io, port: 8883
PubTopic: async-mqtt/ESP32_W5500_SSL_Pub
************************************************
Session present: 0
Subscribing at QoS 2, packetId: 1
Publishing at QoS 0
Publishing at QoS 1, packetId: 2
Publishing at QoS 2, packetId: 3
************************************************
Subscribe acknowledged.
  packetId: 1
  qos: 2
Publish received.
  topic: async-mqtt/ESP32_W5500_SSL_Pub
  qos: 0
  dup: 0
  retain: 0
  len: 16
  index: 0
  total: 16
Publish acknowledged
  packetId: 2
Publish received.
  topic: async-mqtt/ESP32_W5500_SSL_Pub
  qos: 1
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_W5500_SSL_Pub
  qos: 2
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish acknowledged
  packetId: 3This is terminal debug output when running FullyFeatured_ESP32_SC_ENC on ESP32S3_DEV with LwIP ENC28J60, connecting to broker.emqx.io MQTT server.
Starting FullyFeature_ESP32_SC_ENC on ESP32S3_DEV with ESP32_S3_ENC28J60
WebServer_ESP32_SC_ENC v1.2.0 for core v2.0.0+
AsyncMQTT_ESP32 v1.10.0 for ESP32 core v2.0.0+
ETH starting
ETH connected
ETH got IP
IP address: 192.168.2.88
Connecting to MQTT...
Connected to MQTT broker: broker.emqx.io, port: 1883
PubTopic: async-mqtt/ESP32_SC_ENC_Pub
************************************************
Session present: 0
Subscribing at QoS 2, packetId: 1
Publishing at QoS 0
Publishing at QoS 1, packetId: 2
Publishing at QoS 2, packetId: 3
************************************************
Subscribe acknowledged.
  packetId: 1
  qos: 2
Publish received.
  topic: async-mqtt/ESP32_SC_ENC_Pub
  qos: 0
  dup: 0
  retain: 0
  len: 14
  index: 0
  total: 14
Publish acknowledged.
  packetId: 2
Publish received.
  topic: async-mqtt/ESP32_SC_ENC_Pub
  qos: 1
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_SC_ENC_Pub
  qos: 2
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish acknowledged.
  packetId: 3This is terminal debug output when running FullyFeaturedSSL_ESP32_SC_ENC on ESP32S3_DEV with LwIP ENC28J60, connecting to broker.emqx.io secured MQTTS server (port 8883)
Starting FullyFeatureSSL_ESP32_SC_ENC on ESP32S3_DEV with ESP32_S3_ENC28J60
WebServer_ESP32_SC_ENC v1.2.0 for core v2.0.0+
AsyncMQTT_ESP32 v1.10.0 for ESP32 core v2.0.0+
ETH starting
ETH connected
ETH got IP
IP address: 192.168.2.109
Connecting to MQTT...
Connected to MQTT broker: broker.emqx.io, port: 8883
PubTopic: async-mqtt/ESP32_SC_ENC_SSL_Pub
************************************************
Session present: 0
Subscribing at QoS 2, packetId: 1
Publishing at QoS 0
Publishing at QoS 1, packetId: 2
Publishing at QoS 2, packetId: 3
************************************************
Subscribe acknowledged.
  packetId: 1
  qos: 2
Publish received.
  topic: async-mqtt/ESP32_SC_ENC_SSL_Pub
  qos: 0
  dup: 0
  retain: 0
  len: 17
  index: 0
  total: 17
Publish acknowledged
  packetId: 2
Publish received.
  topic: async-mqtt/ESP32_SC_ENC_SSL_Pub
  qos: 1
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_SC_ENC_SSL_Pub
  qos: 2
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish acknowledged
  packetId: 3This is terminal debug output when running FullyFeaturedSSL_WT32_ETH01 on WT32-ETH01 connecting to broker.emqx.io secured MQTT server (port 8883)
Starting FullyFeatureSSL_WT32_ETH01 on WT32-ETH01 with ETH_PHY_LAN8720
WebServer_WT32_ETH01 v1.5.1 for core v2.0.0+
AsyncMQTT_ESP32 v1.10.0 for ESP32 core v2.0.0+
ETH starting
ETH connected
ETH got IP
IP address: 192.168.2.97
Connecting to MQTT...
Connected to MQTT broker: broker.emqx.io, port: 8883
PubTopic: async-mqtt/WT32_ETH01_SSL_Pub
************************************************
Session present: 0
Subscribing at QoS 2, packetId: 1
Publishing at QoS 0
Publishing at QoS 1, packetId: 2
Publishing at QoS 2, packetId: 3
************************************************
Subscribe acknowledged.
  packetId: 1
  qos: 2
Publish received.
  topic: async-mqtt/WT32_ETH01_SSL_Pub
  qos: 0
  dup: 0
  retain: 0
  len: 15
  index: 0
  total: 15
Publish acknowledged
  packetId: 2
Publish received.
  topic: async-mqtt/WT32_ETH01_SSL_Pub
  qos: 1
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/WT32_ETH01_SSL_Pub
  qos: 2
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish acknowledged
  packetId: 3This is terminal debug output when running FullyFeaturedSSL_ESP32_SC_W5500 on ESP32S2_DEV connecting to broker.emqx.io secured MQTT server (port 8883)
Starting FullyFeatureSSL_ESP32_SC_W5500 on ESP32S2_DEV with ESP32_S2_W5500
WebServer_ESP32_SC_W5500 v1.2.1 for core v2.0.0+
AsyncMQTT_ESP32 v1.10.0 for ESP32 core v2.0.0+
Using built-in mac_eth = 7E:DF:A1:08:32:C9
ETH starting
ETH connected
ETH got IP
IP address: 192.168.2.133
Connecting to MQTT...
Connected to MQTT broker: broker.emqx.io, port: 8883
PubTopic: async-mqtt/ESP32_W5500_SSL_Pub
************************************************
Session present: 0
Subscribing at QoS 2, packetId: 1
Publishing at QoS 0
Publishing at QoS 1, packetId: 2
Publishing at QoS 2, packetId: 3
************************************************
Subscribe acknowledged.
  packetId: 1
  qos: 2
Publish received.
  topic: async-mqtt/ESP32_W5500_SSL_Pub
  qos: 2
  dup: 0
  retain: 1
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_W5500_SSL_Pub
  qos: 0
  dup: 0
  retain: 0
  len: 16
  index: 0
  total: 16
Publish acknowledged
  packetId: 2
Publish received.
  topic: async-mqtt/ESP32_W5500_SSL_Pub
  qos: 1
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_W5500_SSL_Pub
  qos: 2
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish acknowledged
  packetId: 3This is terminal debug output when running FullyFeaturedSSL_ESP32_SC_W5500 on ESP32C3_DEV connecting to broker.emqx.io secured MQTT server (port 8883)
Starting FullyFeatureSSL_ESP32_SC_W5500 on ESP32C3_DEV with ESP32_C3_W5500
WebServer_ESP32_SC_W5500 v1.2.1 for core v2.0.0+
AsyncMQTT_ESP32 v1.10.0 for ESP32 core v2.0.0+
Using built-in mac_eth = 7C:DF:A1:BC:BC:53
ETH starting
ETH connected
ETH got IP
IP address: 192.168.2.135
Connecting to MQTT...
Connected to MQTT broker: broker.emqx.io, port: 8883
PubTopic: async-mqtt/ESP32_W5500_SSL_Pub
************************************************
Session present: 0
Subscribing at QoS 2, packetId: 1
Publishing at QoS 0
Publishing at QoS 1, packetId: 2
Publishing at QoS 2, packetId: 3
************************************************
Subscribe acknowledged.
  packetId: 1
  qos: 2
Publish received.
  topic: async-mqtt/ESP32_W5500_SSL_Pub
  qos: 2
  dup: 0
  retain: 1
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_W5500_SSL_Pub
  qos: 0
  dup: 0
  retain: 0
  len: 16
  index: 0
  total: 16
Publish acknowledged
  packetId: 2
Publish received.
  topic: async-mqtt/ESP32_W5500_SSL_Pub
  qos: 1
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_W5500_SSL_Pub
  qos: 2
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish acknowledged
  packetId: 3This is terminal debug output when running FullyFeaturedSSL_ESP32_SC_ENC on ESP32C3_DEV connecting to broker.emqx.io secured MQTT server (port 8883)
Starting FullyFeatureSSL_ESP32_SC_ENC on ESP32C3_DEV with ESP32_C3_ENC28J60
WebServer_ESP32_SC_ENC v1.2.0 for core v2.0.0+
AsyncMQTT_ESP32 v1.10.0 for ESP32 core v2.0.0+
Using built-in mac_eth = 7C:DF:A1:DA:66:87
ETH starting
ETH connected
ETH got IP
IP address: 192.168.2.136
Connecting to MQTT...
Connected to MQTT broker: broker.emqx.io, port: 8883
PubTopic: async-mqtt/ESP32_SC_ENC_SSL_Pub
************************************************
Session present: 0
Subscribing at QoS 2, packetId: 1
Publishing at QoS 0
Publishing at QoS 1, packetId: 2
Publishing at QoS 2, packetId: 3
************************************************
Subscribe acknowledged.
  packetId: 1
  qos: 2
Publish received.
  topic: async-mqtt/ESP32_SC_ENC_SSL_Pub
  qos: 2
  dup: 0
  retain: 1
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_SC_ENC_SSL_Pub
  qos: 0
  dup: 0
  retain: 0
  len: 17
  index: 0
  total: 17
Publish acknowledged
  packetId: 2
Publish received.
  topic: async-mqtt/ESP32_SC_ENC_SSL_Pub
  qos: 1
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_SC_ENC_SSL_Pub
  qos: 2
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish acknowledged
  packetId: 3This is terminal debug output when running FullyFeatured_ESP32_W6100 on ESP32_DEV connecting to broker.emqx.io secured MQTT server (port 1883)
Starting FullyFeature_ESP32_W6100 on ESP32_DEV with ESP32_W6100
WebServer_ESP32_W6100 v1.5.2 for core v2.0.0+
AsyncMQTT_ESP32 v1.10.0 for ESP32 core v2.0.0+
ETH starting
ETH connected
ETH got IP
IP address: 192.168.2.158
Connecting to MQTT...
Connected to MQTT broker: broker.emqx.io, port: 1883
PubTopic: async-mqtt/ESP32_W6100_Pub
************************************************
Session present: 0
Subscribing at QoS 2, packetId: 1
Publishing at QoS 0
Publishing at QoS 1, packetId: 2
Publishing at QoS 2, packetId: 3
************************************************
Subscribe acknowledged.
  packetId: 1
  qos: 2
Publish received.
  topic: async-mqtt/ESP32_W6100_Pub
  qos: 0
  dup: 0
  retain: 0
  len: 16
  index: 0
  total: 16
Publish acknowledged.
  packetId: 2
Publish received.
  topic: async-mqtt/ESP32_W6100_Pub
  qos: 1
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_W6100_Pub
  qos: 2
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish acknowledged.
  packetId: 3This is terminal debug output when running FullyFeaturedSSL_ESP32_SC_W6100 on ESP32S3_DEV connecting to broker.emqx.io secured MQTT server (port 8883)
Starting FullyFeatureSSL_ESP32_SC_W6100 on ESP32S3_DEV with ESP32_S3_W6100
WebServer_ESP32_SC_W6100 v1.2.1 for core v2.0.0+
AsyncMQTT_ESP32 v1.10.0 for ESP32 core v2.0.0+
ETH starting
ETH connected
ETH got IP
IP address: 192.168.2.92
Connecting to MQTT...
Connected to MQTT broker: broker.emqx.io, port: 8883
PubTopic: async-mqtt/ESP32_W6100_SSL_Pub
************************************************
Session present: 0
Subscribing at QoS 2, packetId: 1
Publishing at QoS 0
Publishing at QoS 1, packetId: 2
Publishing at QoS 2, packetId: 3
************************************************
Subscribe acknowledged.
  packetId: 1
  qos: 2
Publish received.
  topic: async-mqtt/ESP32_W6100_SSL_Pub
  qos: 2
  dup: 0
  retain: 1
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_W6100_SSL_Pub
  qos: 0
  dup: 0
  retain: 0
  len: 16
  index: 0
  total: 16
Publish acknowledged
  packetId: 2
Publish received.
  topic: async-mqtt/ESP32_W6100_SSL_Pub
  qos: 1
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish received.
  topic: async-mqtt/ESP32_W6100_SSL_Pub
  qos: 2
  dup: 0
  retain: 0
  len: 6
  index: 0
  total: 6
Publish acknowledged
  packetId: 3Debug is enabled by default on Serial. Debug Level from 0 to 4. To disable, change the MYSQL_LOGLEVEL to 0
#define ASYNC_MQTT_DEBUG_PORT               Serial
// Debug Level from 0 to 4
#define _ASYNC_MQTT_LOGLEVEL_               1If you get compilation errors, more often than not, you may need to install a newer version of the core for Arduino boards.
Sometimes, the library will only work if you update the board core to the latest version because I am using newly added functions.
Submit issues to: AsyncMQTT_ESP32 issues
- Bug fixing.
- Add support to any ESP32/S2/S3/C3boards using WiFi withSSL/TLS
- Add support to ESP32boards usingLwIP W5500 / ENC28J60 / LAN8720 EthernetwithSSL/TLS
- Add support to ESP32S3boards usingLwIP W5500 / ENC28J60 / LAN8720 EthernetwithSSL/TLS
- Add support to ESP32S2boards usingLwIP W5500 / ENC28J60 / LAN8720 EthernetwithSSL/TLS
- Add support to ESP32C3boards usingLwIP W5500 / ENC28J60 / LAN8720 EthernetwithSSL/TLS
- Add support to ESP32andESP32S2/S3/C3boards usingLwIP W6100 EthernetwithSSL/TLS
- Based on and modified from Marvin Roger's async-mqtt-client Library
|  ⭐️ Marvin Roger | 
If you want to contribute to this project:
- Report bugs and errors
- Ask for enhancements
- Create issues and pull requests
- Tell other people about this library
- 
Many of the credits go to original author Marvin Roger 
- 
The library is licensed under MIT 
- Copyright (c) 2017- Marvin Roger
- Copyright (c) 2022- Khoi Hoang







