Skip to content
This repository was archived by the owner on Feb 4, 2023. It is now read-only.

Commit eeb018f

Browse files
authored
v1.7.0 to add ESP32_S2
#### Releases v1.7.0 1. Add support to `ESP32_S2` boards using `LwIP W5500 Ethernet`
1 parent 93e6610 commit eeb018f

34 files changed

+208
-69
lines changed

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ If you don't find anything, please [open a new issue](https://github.com/khoih-p
1515
Please ensure to specify the following:
1616

1717
* Arduino IDE version (e.g. 1.8.19) or Platform.io version
18+
* Board type (e.g. ESP32S3_DEV, ESP32S2_DEV, ESP32C3_DEV)
1819
* Board Core Version (e.g. ESP32 core v2.0.5)
1920
* Contextual information (e.g. what you were trying to achieve)
2021
* Simplest possible steps to reproduce
@@ -25,12 +26,11 @@ Please ensure to specify the following:
2526

2627
Please be educated, civilized and constructive. Disrespective posts against [GitHub Code of Conduct](https://docs.github.com/en/site-policy/github-terms/github-event-code-of-conduct) will be ignored and deleted.
2728

28-
2929
### Example
3030

3131
```
3232
Arduino IDE version: 1.8.19
33-
ESP32_DEV board
33+
ESP32S3_DEV board
3434
ESP32 core v2.0.5
3535
OS: Ubuntu 20.04 LTS
3636
Linux xy-Inspiron-3593 5.15.0-56-generic #62~20.04.1-Ubuntu SMP Tue Nov 22 21:24:20 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

README.md

Lines changed: 125 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
* [Methods for controlling websocket connections](#methods-for-controlling-websocket-connections)
7878
* [Adding Default Headers](#adding-default-headers)
7979
* [Path variable](#path-variable)
80-
* [How to connect W5500 to ESP32_S3](#How-to-connect-W5500-to-ESP32_S3)
80+
* [How to connect W5500 to ESP32_S2/S3](#How-to-connect-W5500-to-ESP32_S2S3)
8181
* [Examples](#examples)
8282
* [ 1. Async_AdvancedWebServer](examples/Async_AdvancedWebServer)
8383
* [ 2. Async_AdvancedWebServer_MemoryIssues_SendArduinoString](examples/Async_AdvancedWebServer_MemoryIssues_SendArduinoString)
@@ -103,6 +103,7 @@
103103
* [4. AsyncWebServer_SendChunked on ESP32S3_DEV with ESP32_S3_W5500](#4-AsyncWebServer_SendChunked-on-ESP32S3_DEV-with-ESP32_S3_W5500)
104104
* [5. Async_WebSocketsServer on ESP32S3_DEV with ESP32_S3_W5500](#5-Async_WebSocketsServer-on-ESP32S3_DEV-with-ESP32_S3_W5500)
105105
* [6. Async_HTTPBasicAuth on ESP32S3_DEV with ESP32_S3_W5500](#6-Async_HTTPBasicAuth-on-ESP32S3_DEV-with-ESP32_S3_W5500)
106+
* [7. Async_AdvancedWebServer_SendChunked on ESP32S2_DEV with ESP32_S2_W5500](#7-Async_AdvancedWebServer_SendChunked-on-ESP32S2_DEV-with-ESP32_S2_W5500)
106107
* [Debug](#debug)
107108
* [Troubleshooting](#troubleshooting)
108109
* [Issues](#issues)
@@ -220,8 +221,17 @@ to apply the better and faster **asynchronous** feature of the **powerful** [ESP
220221

221222

222223
1. **ESP32_S3 boards** using `LwIP W5500 Ethernet`
224+
2. **ESP32_S2 boards** using `LwIP W5500 Ethernet`
223225

224-
Hopefully the `ESP32_S2` and `ESP32_C3-based` boards will be supported in the near future to use `LwIP W5500 or ENC28J60 Ethernet`
226+
Hopefully the `ESP32_C3-based` boards will be supported in the near future to use `LwIP W5500 or ENC28J60 Ethernet`
227+
228+
---
229+
230+
#### ESP32S2_DEV
231+
232+
<p align="center">
233+
<img src="https://github.com/khoih-prog/AsyncWebServer_ESP32_SC_W5500/raw/main/pics/ESP32S2_DEV.png">
234+
</p>
225235

226236

227237
#### ESP32S3_DEV
@@ -230,7 +240,7 @@ to apply the better and faster **asynchronous** feature of the **powerful** [ESP
230240
<img src="https://github.com/khoih-prog/AsyncWebServer_ESP32_SC_W5500/raw/main/pics/ESP32S3_DEV.png">
231241
</p>
232242

233-
243+
---
234244

235245
#### W5500
236246

@@ -1502,7 +1512,7 @@ build_flags =
15021512
---
15031513
---
15041514

1505-
### How to connect W5500 to ESP32_S3
1515+
### How to connect W5500 to ESP32_S2/S3
15061516

15071517
You can change the `INT` pin to another one. Default is `GPIO4`
15081518

@@ -1513,13 +1523,6 @@ You can change the `INT` pin to another one. Default is `GPIO4`
15131523

15141524
---
15151525

1516-
1517-
#### ESP32S3_DEV
1518-
1519-
<p align="center">
1520-
<img src="https://github.com/khoih-prog/AsyncWebServer_ESP32_SC_W5500/raw/main/pics/ESP32S3_DEV.png">
1521-
</p>
1522-
15231526
#### W5500
15241527

15251528
<p align="center">
@@ -1530,6 +1533,14 @@ You can change the `INT` pin to another one. Default is `GPIO4`
15301533
<img src="https://github.com/khoih-prog/AsyncWebServer_ESP32_SC_W5500/raw/main/pics/W5500_small.png">
15311534
</p>
15321535

1536+
---
1537+
1538+
1539+
#### ESP32S3_DEV
1540+
1541+
<p align="center">
1542+
<img src="https://github.com/khoih-prog/AsyncWebServer_ESP32_SC_W5500/raw/main/pics/ESP32S3_DEV.png">
1543+
</p>
15331544

15341545

15351546
|W5500|<--->|ESP32_S3|
@@ -1544,6 +1555,27 @@ You can change the `INT` pin to another one. Default is `GPIO4`
15441555
|3.3V|<--->|3.3V|
15451556

15461557

1558+
---
1559+
1560+
#### ESP32S2_DEV
1561+
1562+
<p align="center">
1563+
<img src="https://github.com/khoih-prog/AsyncWebServer_ESP32_SC_W5500/raw/main/pics/ESP32S2_DEV.png">
1564+
</p>
1565+
1566+
1567+
|ENC28J60|<--->|ESP32_S2|
1568+
|:-:|:-:|:-:|
1569+
|MOSI|<--->|GPIO35|
1570+
|MISO|<--->|GPIO37|
1571+
|SCK|<--->|GPIO36|
1572+
|SS|<--->|GPIO34|
1573+
|INT|<--->|GPIO4|
1574+
|RST|<--->|RST|
1575+
|GND|<--->|GND|
1576+
|3.3V|<--->|3.3V|
1577+
1578+
15471579
---
15481580
---
15491581

@@ -1593,7 +1625,7 @@ Following are debug terminal output and screen shots when running example [Async
15931625

15941626
```cpp
15951627
Start AsyncMultiWebServer_ESP32_W5500 on ESP32S3_DEV with ESP32_S3_W5500
1596-
AsyncWebServer_ESP32_SC_W5500 v1.6.3 for core v2.0.0+
1628+
AsyncWebServer_ESP32_SC_W5500 v1.7.0 for core v2.0.0+
15971629
[AWS] Default SPI pinout:
15981630
[AWS] SPI_HOST: 2
15991631
[AWS] MOSI: 11
@@ -1643,7 +1675,7 @@ Following is the debug terminal and screen shot when running example [Async_Adva
16431675
16441676
```cpp
16451677
Start Async_AdvancedWebServer_MemoryIssues_Send_CString on ESP32S3_DEV with ESP32_S3_W5500
1646-
AsyncWebServer_ESP32_SC_W5500 v1.6.3 for core v2.0.0+
1678+
AsyncWebServer_ESP32_SC_W5500 v1.7.0 for core v2.0.0+
16471679
[AWS] Default SPI pinout:
16481680
[AWS] SPI_HOST: 2
16491681
[AWS] MOSI: 11
@@ -1677,7 +1709,7 @@ While using `Arduino String`, the HEAP usage is very large
16771709

16781710
```cpp
16791711
Start Async_AdvancedWebServer_MemoryIssues_SendArduinoString on ESP32S3_DEV with ESP32_S3_W5500
1680-
AsyncWebServer_ESP32_SC_W5500 v1.6.3 for core v2.0.0+
1712+
AsyncWebServer_ESP32_SC_W5500 v1.7.0 for core v2.0.0+
16811713
[AWS] Default SPI pinout:
16821714
[AWS] SPI_HOST: 2
16831715
[AWS] MOSI: 11
@@ -1719,7 +1751,7 @@ Following is debug terminal output when running example [Async_AdvancedWebServer
17191751
17201752
```cpp
17211753
Start Async_AdvancedWebServer_SendChunked on ESP32S3_DEV with ESP32_S3_W5500
1722-
AsyncWebServer_ESP32_SC_W5500 v1.6.3 for core v2.0.0+
1754+
AsyncWebServer_ESP32_SC_W5500 v1.7.0 for core v2.0.0+
17231755
[AWS] Default SPI pinout:
17241756
[AWS] SPI_HOST: 2
17251757
[AWS] MOSI: 11
@@ -1789,7 +1821,7 @@ Following is debug terminal output when running example [AsyncWebServer_SendChun
17891821

17901822
```cpp
17911823
Start AsyncWebServer_SendChunked on ESP32S3_DEV with ESP32_S3_W5500
1792-
AsyncWebServer_ESP32_SC_W5500 v1.6.3 for core v2.0.0+
1824+
AsyncWebServer_ESP32_SC_W5500 v1.7.0 for core v2.0.0+
17931825
[AWS] Default SPI pinout:
17941826
[AWS] SPI_HOST: 2
17951827
[AWS] MOSI: 11
@@ -1840,7 +1872,7 @@ Following is debug terminal output when running example [Async_WebSocketsServer]
18401872
18411873
```cpp
18421874
Starting Async_WebSocketsServer on ESP32S3_DEV with ESP32_S3_W5500
1843-
AsyncWebServer_ESP32_SC_W5500 v1.6.3 for core v2.0.0+
1875+
AsyncWebServer_ESP32_SC_W5500 v1.7.0 for core v2.0.0+
18441876
[AWS] Default SPI pinout:
18451877
[AWS] SPI_HOST: 2
18461878
[AWS] MOSI: 11
@@ -1870,7 +1902,7 @@ Following is debug terminal output when running example [Async_HTTPBasicAuth](ex
18701902

18711903
```cpp
18721904
Start Async_HTTPBasicAuth on ESP32S3_DEV with ESP32_S3_W5500
1873-
AsyncWebServer_ESP32_SC_W5500 v1.6.3 for core v2.0.0+
1905+
AsyncWebServer_ESP32_SC_W5500 v1.7.0 for core v2.0.0+
18741906
[AWS] Default SPI pinout:
18751907
[AWS] SPI_HOST: 2
18761908
[AWS] MOSI: 11
@@ -1891,6 +1923,79 @@ Login using username = admin and password = esp32_w5500
18911923
```
18921924
18931925
1926+
---
1927+
1928+
#### 7. Async_AdvancedWebServer_SendChunked on ESP32S2_DEV with ESP32_S2_W5500
1929+
1930+
Following is debug terminal output when running example [Async_AdvancedWebServer_SendChunked](examples/Async_AdvancedWebServer_SendChunked) on `ESP32S2_DEV with LwIP W5500`, using ESP32 core `v2.0.0+`, to demo how to use `beginChunkedResponse()` to send large `html` in chunks. The `built-in MAC address` is now used instead of user-defined one.
1931+
1932+
```cpp
1933+
Start Async_AdvancedWebServer_SendChunked on ESP32S2_DEV with ESP32_S2_W5500
1934+
AsyncWebServer_ESP32_SC_W5500 v1.7.0 for core v2.0.0+
1935+
[AWS] Default SPI pinout:
1936+
[AWS] SPI_HOST: 2
1937+
[AWS] MOSI: 35
1938+
[AWS] MISO: 37
1939+
[AWS] SCK: 36
1940+
[AWS] CS: 34
1941+
[AWS] INT: 4
1942+
[AWS] SPI Clock (MHz): 25
1943+
[AWS] =========================
1944+
1945+
ETH Started
1946+
ETH Connected
1947+
ETH MAC: 7E:DF:A1:08:32:C9, IPv4: 192.168.2.133
1948+
FULL_DUPLEX, 100Mbps
1949+
AsyncWebServer is @ IP : 192.168.2.133
1950+
.[AWS] Total length to send in chunks = 31259
1951+
[AWS] Bytes sent in chunk = 5620
1952+
[AWS] Bytes sent in chunk = 1428
1953+
[AWS] Bytes sent in chunk = 1428
1954+
[AWS] Bytes sent in chunk = 1428
1955+
[AWS] Bytes sent in chunk = 1428
1956+
[AWS] Bytes sent in chunk = 1428
1957+
[AWS] Bytes sent in chunk = 1428
1958+
[AWS] Bytes sent in chunk = 1428
1959+
[AWS] Bytes sent in chunk = 1428
1960+
[AWS] Bytes sent in chunk = 1428
1961+
[AWS] Bytes sent in chunk = 1428
1962+
[AWS] Bytes sent in chunk = 1428
1963+
[AWS] Bytes sent in chunk = 1428
1964+
[AWS] Bytes sent in chunk = 1428
1965+
[AWS] Bytes sent in chunk = 1428
1966+
[AWS] Bytes sent in chunk = 1428
1967+
[AWS] Bytes sent in chunk = 1428
1968+
[AWS] Bytes sent in chunk = 2791
1969+
[AWS] Bytes sent in chunk = 0
1970+
[AWS] Total length to send in chunks = 31279
1971+
[AWS] Bytes sent in chunk = 5620
1972+
[AWS] Bytes sent in chunk = 1428
1973+
[AWS] Bytes sent in chunk = 1428
1974+
[AWS] Bytes sent in chunk = 1428
1975+
[AWS] Bytes sent in chunk = 1428
1976+
[AWS] Bytes sent in chunk = 1428
1977+
[AWS] Bytes sent in chunk = 1428
1978+
[AWS] Bytes sent in chunk = 1428
1979+
[AWS] Bytes sent in chunk = 1428
1980+
[AWS] Bytes sent in chunk = 1428
1981+
[AWS] Bytes sent in chunk = 1428
1982+
[AWS] Bytes sent in chunk = 1428
1983+
[AWS] Bytes sent in chunk = 1428
1984+
[AWS] Bytes sent in chunk = 1428
1985+
[AWS] Bytes sent in chunk = 1428
1986+
[AWS] Bytes sent in chunk = 1428
1987+
[AWS] Bytes sent in chunk = 1428
1988+
[AWS] Bytes sent in chunk = 2811
1989+
[AWS] Bytes sent in chunk = 0
1990+
```
1991+
1992+
You can access the Async Advanced WebServers @ the server IP
1993+
1994+
<p align="center">
1995+
<img src="https://github.com/khoih-prog/AsyncWebServer_ESP32_SC_W5500/raw/main/pics/AsyncWebServer_SendChunked_ESP32_S2.png">
1996+
</p>
1997+
1998+
18941999
---
18952000
---
18962001

@@ -1943,6 +2048,8 @@ Submit issues to: [AsyncWebServer_ESP32_SC_W5500 issues](https://github.com/khoi
19432048
8. Add examples [Async_AdvancedWebServer_SendChunked](https://github.com/khoih-prog/AsyncWebServer_RP2040W/tree/main/examples/Async_AdvancedWebServer_SendChunked) and [AsyncWebServer_SendChunked](https://github.com/khoih-prog/AsyncWebServer_RP2040W/tree/main/examples/AsyncWebServer_SendChunked) to demo how to use `beginChunkedResponse()` to send large `html` in chunks
19442049
9. Use `allman astyle` and add `utils`
19452050
10. Add `Async_WebSocketsServer`, `Async_HttpBasicAuth` and `MQTT` examples
2051+
11. Add support to **ESP32S2-based boards** using `LwIP W5500 Ethernet`
2052+
19462053

19472054
---
19482055
---

changelog.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
## Table of contents
1616

1717
* [Changelog](#changelog)
18+
* [Releases v1.7.0](#releases-v170)
1819
* [Releases v1.6.3](#releases-v163)
1920

2021

@@ -23,6 +24,10 @@
2324

2425
## Changelog
2526

27+
#### Releases v1.7.0
28+
29+
1. Add support to `ESP32_S2` boards using `LwIP W5500 Ethernet`
30+
2631
#### Releases v1.6.3
2732

2833
1. Initial coding to port [ESPAsyncWebServer](https://github.com/me-no-dev/ESPAsyncWebServer) to ESP32_S3 boards using `LwIP W5500 Ethernet`.

library.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name":"AsyncWebServer_ESP32_SC_W5500",
3-
"version": "1.6.3",
3+
"version": "1.7.0",
44
"description":"Asynchronous HTTP and WebSocket Server Library for (ESP32_S2/S3/C3 + LwIP W5500). Now supporting using CString to save heap to send very large data and with examples to demo how to use beginChunkedResponse() to send large html in chunks",
55
"keywords":"http, async, async-webserver, async-websocket, websocket, webserver, esp32, esp32-s2, esp32-s3, esp32-c3, w5500, lwip, lwip-w5500, lwip-ethernet",
66
"authors":

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=AsyncWebServer_ESP32_SC_W5500
2-
version=1.6.3
2+
version=1.7.0
33
author=Hristo Gochkov,Khoi Hoang
44
maintainer=Khoi Hoang <khoih.prog@gmail.com>
55
license=GPLv3
75.9 KB
Loading

pics/ESP32S2_DEV.png

352 KB
Loading

src/AsyncEventSource.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@
2222
You should have received a copy of the GNU Lesser General Public License along with this library;
2323
if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2424
25-
Version: 1.6.3
25+
Version: 1.7.0
2626
2727
Version Modified By Date Comments
2828
------- ----------- ---------- -----------
2929
1.6.3 K Hoang 15/12/2022 Initial porting for W5500 + ESP32_S3. Sync with AsyncWebServer_ESP32_W5500 v1.6.3
30+
1.7.0 K Hoang 19/12/2022 Add support to ESP32_S2_W5500 (ESP32_S2 + LwIP W5500)
3031
*****************************************************************************************************************************/
3132

3233
#include "Arduino.h"

src/AsyncEventSource.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@
2222
You should have received a copy of the GNU Lesser General Public License along with this library;
2323
if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2424
25-
Version: 1.6.3
25+
Version: 1.7.0
2626
2727
Version Modified By Date Comments
2828
------- ----------- ---------- -----------
2929
1.6.3 K Hoang 15/12/2022 Initial porting for W5500 + ESP32_S3. Sync with AsyncWebServer_ESP32_W5500 v1.6.3
30+
1.7.0 K Hoang 19/12/2022 Add support to ESP32_S2_W5500 (ESP32_S2 + LwIP W5500)
3031
*****************************************************************************************************************************/
3132

3233
#ifndef ASYNCEVENTSOURCE_H_

src/AsyncJson.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@
2222
You should have received a copy of the GNU Lesser General Public License along with this library;
2323
if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2424
25-
Version: 1.6.3
25+
Version: 1.7.0
2626
2727
Version Modified By Date Comments
2828
------- ----------- ---------- -----------
2929
1.6.3 K Hoang 15/12/2022 Initial porting for W5500 + ESP32_S3. Sync with AsyncWebServer_ESP32_W5500 v1.6.3
30+
1.7.0 K Hoang 19/12/2022 Add support to ESP32_S2_W5500 (ESP32_S2 + LwIP W5500)
3031
*****************************************************************************************************************************/
3132
/*
3233
Async Response to use with ArduinoJson and AsyncWebServer

0 commit comments

Comments
 (0)