You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 29, 2023. It is now read-only.
### Releases v1.6.0
1. Add support to any custom hardware / software `SPI` for W5x00 using [Ethernet_Generic Library](https://github.com/khoih-prog/Ethernet_Generic)
2. Add support to STM32L5 boards, such as `Nucleo-L552ZE-Q`
*[To use W5x00 Ethernet, for example using EthernetLarge library](#to-use-w5x00-ethernet-for-example-using-ethernetlarge-library)
47
47
*[To use ENC28J60 Ethernet, using EthernetENC library (**NEW and Better**)](#to-use-enc28j60-ethernet-using-ethernetenc-library-new-and-better)
48
48
*[To use ENC28J60 Ethernet, using UIPEthernet library](#to-use-enc28j60-ethernet-using-uipethernet-library)
49
+
*[2. How to select which SPI to use](#2-How-to-select-which-SPI-to-use)
49
50
*[Important](#important)
50
-
*[2. How to connect or select another CS/SS pin to use](#2-how-to-connect-or-select-another-csss-pin-to-use)
51
-
*[3. How to increase W5x00 TX/RX buffer](#3-how-to-increase-w5x00-txrx-buffer)
52
-
*[4. How to adjust sendContent_P() and send_P() buffer size](#4-how-to-adjust-sendcontent_p-and-send_p-buffer-size)
51
+
*[3. How to connect or select another CS/SS pin to use](#3-how-to-connect-or-select-another-csss-pin-to-use)
52
+
*[4. How to increase W5x00 TX/RX buffer](#4-how-to-increase-w5x00-txrx-buffer)
53
+
*[5. How to adjust sendContent_P() and send_P() buffer size](#5-how-to-adjust-sendcontent_p-and-send_p-buffer-size)
53
54
*[WebServer and non TLS/SSL WebClient Usage](#webserver-and-non-tlsssl-webclient-usage)
54
55
*[Init the CS/SS pin if use EthernetWrapper](#init-the-csss-pin-if-use-ethernetwrapper)
55
56
*[Class Constructor](#class-constructor)
@@ -143,6 +144,7 @@
143
144
*[13. WebClient_SSL_LAN8720 on BLACK_F407VE with LAN8720 Ethernet and STM32Ethernet Library](#13-webclient_ssl_lan8720-on-black_f407ve-with-lan8720-ethernet-and-stm32ethernet-library)
144
145
*[14. MQTTClient_SSL_LAN8720 on BLACK_F407VE with LAN8720 Ethernet and STM32Ethernet Library](#14-mqttclient_ssl_lan8720-on-black_f407ve-with-lan8720-ethernet-and-stm32ethernet-library)
145
146
*[15. MQTTClient_SSL_Complex_LAN8720 on BLACK_F407VE with LAN8720 Ethernet and STM32Ethernet Library](#15-mqttclient_ssl_complex_lan8720-on-black_f407ve-with-lan8720-ethernet-and-stm32ethernet-library)
147
+
*[16. AdvancedWebServer on NUCLEO_L552ZE_Q with W5x00 using Ethernet_Generic Library and custom SPI](#16-AdvancedWebServer-on-NUCLEO_L552ZE_Q-with-W5x00-using-Ethernet_Generic-Library-and-custom-SPI)
146
148
*[Debug](#debug)
147
149
*[Troubleshooting](#troubleshooting)
148
150
*[Issues](#issues)
@@ -250,7 +252,7 @@ Check [`EthernetWebServer Library Issue: Support for STM32F Series`](https://git
250
252
- Nucleo-64
251
253
- Discovery
252
254
- Generic STM32F0, STM32F1, STM32F2, STM32F3, STM32F4, STM32F7 (with 64+K Flash): x8 and up
253
-
- STM32L0, STM32L1, STM32L4
255
+
- STM32L0, STM32L1, STM32L4, STM32L5
254
256
- STM32G0, STM32G4
255
257
- STM32H7
256
258
- STM32WB
@@ -268,11 +270,14 @@ Check [`EthernetWebServer Library Issue: Support for STM32F Series`](https://git
268
270
269
271
#### Currently supported Ethernet shields/modules
270
272
271
-
1. W5x00 using [`Ethernet`](https://www.arduino.cc/en/Reference/Ethernet), [`EthernetLarge`](https://github.com/OPEnSLab-OSU/EthernetLarge), [`Ethernet2`](https://github.com/adafruit/Ethernet2) or [`Ethernet3`](https://github.com/sstaub/Ethernet3) library
273
+
1. W5x00 using [`Ethernet_Generic`](https://github.com/khoih-prog/Ethernet_Generic) library
272
274
273
-
2. ENC28J60 using new [`EthernetENC`](https://github.com/jandrassy/EthernetENC) or [`UIPEthernet`](https://github.com/UIPEthernet/UIPEthernet) library
275
+
2. W5x00 using [`Ethernet`](https://www.arduino.cc/en/Reference/Ethernet), [`EthernetLarge`](https://github.com/OPEnSLab-OSU/EthernetLarge), [`Ethernet2`](https://github.com/adafruit/Ethernet2) or [`Ethernet3`](https://github.com/sstaub/Ethernet3) library
276
+
277
+
3. ENC28J60 using new [`EthernetENC`](https://github.com/jandrassy/EthernetENC) or [`UIPEthernet`](https://github.com/UIPEthernet/UIPEthernet) library
278
+
279
+
4. LAN8720 using new [`STM32Ethernet`](https://github.com/stm32duino/STM32Ethernet) and [`LwIP`](https://github.com/stm32duino/LwIP) libraries.
274
280
275
-
3. LAN8720 using new [`STM32Ethernet`](https://github.com/stm32duino/STM32Ethernet) and [`LwIP`](https://github.com/stm32duino/LwIP) libraries.
276
281
277
282
#### Not supported boards
278
283
@@ -297,7 +302,7 @@ These boards are not supported:
297
302
-[`STM32Ethernet library v1.3.0+`](https://github.com/stm32duino/STM32Ethernet) for built-in LAN8742A Ethernet on (Nucleo-144, Discovery). [](https://github.com/stm32duino/STM32Ethernet/releases/latest)
298
303
-[`LwIP library v2.1.2+`](https://github.com/stm32duino/LwIP) for built-in LAN8742A Ethernet on (Nucleo-144, Discovery). [](https://github.com/stm32duino/LwIP/releases/latest)
299
304
5. For W5x00 Ethernet:
300
-
-[`Ethernet_Generic library v2.1.0+`](https://github.com/khoih-prog/Ethernet_Generic) for W5100, W5200 and W5500/WIZ550io/WIZ850io/USR-ES1 with Wiznet W5500 chip. [](https://github.com/khoih-prog/Ethernet_Generic/releases/latest)
305
+
-[`Ethernet_Generic library v2.2.0+`](https://github.com/khoih-prog/Ethernet_Generic) for W5100, W5200 and W5500/WIZ550io/WIZ850io/USR-ES1 with Wiznet W5500 chip. [](https://github.com/khoih-prog/Ethernet_Generic/releases/latest)
301
306
6. For ENC28J60 Ethernet:
302
307
-[`EthernetENC library v2.0.2+`](https://github.com/jandrassy/EthernetENC) for ENC28J60. [](https://github.com/jandrassy/EthernetENC/releases/latest). **New and Better**
303
308
-[`UIPEthernet library v2.0.11+`](https://github.com/UIPEthernet/UIPEthernet) for ENC28J60. [](https://github.com/UIPEthernet/UIPEthernet/releases/latest)
@@ -563,6 +568,56 @@ For example, EthernetLarge library
563
568
#include<EthernetWebServer_SSL_STM32.h>
564
569
```
565
570
571
+
#### 2. How to select which SPI to use
572
+
573
+
574
+
To use standard SPI, check if
575
+
576
+
```cpp
577
+
#defineUSING_CUSTOM_SPI false
578
+
#defineUSING_SPI2 false
579
+
```
580
+
581
+
582
+
To use SPI2 or any custom SPI
583
+
584
+
585
+
```cpp
586
+
// Be sure to use true only if necessary for your board, or compile error
587
+
#defineUSING_CUSTOM_SPI true
588
+
589
+
#if ( USING_CUSTOM_SPI )
590
+
// Currently test OK for F767ZI and L552ZE_Q
591
+
#define USING_SPI2 true
592
+
593
+
#if (USING_SPI2)
594
+
//#include <SPI.h>
595
+
// For L552ZE-Q, F767ZI, but you can change the pins for any other boards
//#warning Using USE_THIS_SS_PIN = CUR_PIN_SS = 24
609
+
610
+
#if defined(USE_THIS_SS_PIN)
611
+
#undef USE_THIS_SS_PIN
612
+
#endif
613
+
#defineUSE_THIS_SS_PIN CUR_PIN_SS //24
614
+
615
+
#endif
616
+
617
+
#endif
618
+
```
619
+
620
+
566
621
---
567
622
568
623
### Important:
@@ -572,7 +627,7 @@ For example, EthernetLarge library
572
627
573
628
---
574
629
575
-
### 2. How to connect or select another CS/SS pin to use
630
+
### 3. How to connect or select another CS/SS pin to use
576
631
577
632
**The default CS/SS pin is 10 for all boards, and is configurable in code.**
578
633
@@ -597,9 +652,12 @@ Increase debug level to 2 in `defines.h` of any example:
597
652
#define _ETHERNET_WEBSERVER_LOGLEVEL_ 2
598
653
```
599
654
600
-
The Debug Terminal will then show that the current SPI pin usage of **NUCLEO_F767ZI ==> SS/CS: D10, MOSI: D11, MISO: D12 and SCK: D13**
655
+
The Debug Terminal will then show that the current SPI pin usage of **NUCLEO_F767ZI ==> SS/CS: D10, MOSI: D11, MISO: D12 and SCK: D13** when using W5x00
601
656
602
657
```
658
+
Start AdvancedWebServer on NUCLEO_F767ZI, using W5x00 using Ethernet_Generic Library
659
+
Ethernet_Generic v2.2.0
660
+
EthernetWebServer_SSL_STM32 v1.6.0
603
661
[EWS] Board : NUCLEO_F767ZI , setCsPin: 10
604
662
[EWS] Default SPI pinout:
605
663
[EWS] MOSI: 11
@@ -613,7 +671,7 @@ Connected! IP address: 192.168.2.89
613
671
Connect the wires according to the displayed information.
614
672
615
673
616
-
### 3. How to increase W5x00 TX/RX buffer
674
+
### 4. How to increase W5x00 TX/RX buffer
617
675
618
676
- For **Ethernet_Generic** library only, simply use as follows to have large buffer similar to EthernetLarge library
619
677
```
@@ -633,15 +691,16 @@ Connect the wires according to the displayed information.
633
691
```
634
692
635
693
636
-
### 4. How to adjust sendContent_P() and send_P() buffer size
694
+
### 5. How to adjust sendContent_P() and send_P() buffer size
637
695
638
696
sendContent_P() and send_P() buffer size is set default at 4 Kbytes, and minimum is 512 bytes. If you need to change, just add a definition, e.g.:
639
697
640
698
```cpp
641
699
#defineSENDCONTENT_P_BUFFER_SZ 2048
642
700
```
643
701
644
-
Note that the buffer size must be larger than 512 bytes. See [Sending GZIP HTML ~ 120kb+ (suggested enhancement)](https://github.com/khoih-prog/EthernetWebServer_SSL_STM32/issues/3).
702
+
Note that the buffer size must be larger than 512 bytes. See [Sending GZIP HTML ~ 120kb+ (suggested enhancement)](https://github.com/khoih-prog/EthernetWebServer_STM32/issues/3).
703
+
645
704
646
705
647
706
---
@@ -1200,12 +1259,12 @@ Connect FDTI (USB to Serial) as follows:
@@ -1655,7 +1716,7 @@ The terminal output of **NUCLEO_F767ZI with ENC28J60 & EthernetENC Library** run
1655
1716
1656
1717
```
1657
1718
Start WebClientMulti_SSL on NUCLEO_F767ZI with ENC28J60 & EthernetENC Library
1658
-
EthernetWebServer_SSL_STM32 v1.5.1
1719
+
EthernetWebServer_SSL_STM32 v1.6.0
1659
1720
[EWS] =========================
1660
1721
[EWS] Default SPI pinout:
1661
1722
[EWS] MOSI: 11
@@ -1791,7 +1852,7 @@ The terminal output of **NUCLEO_F767ZI with LAN8742A Ethernet & STM32Ethernet Li
1791
1852
1792
1853
```
1793
1854
Start MQTTClient_SSL_Complex on NUCLEO_F767ZI with LAN8742A Ethernet & STM32Ethernet Library
1794
-
EthernetWebServer_SSL_STM32 v1.5.1
1855
+
EthernetWebServer_SSL_STM32 v1.6.0
1795
1856
[EWS] Board : NUCLEO_F767ZI , setCsPin: 10
1796
1857
[EWS] Default SPI pinout:
1797
1858
[EWS] MOSI: 11
@@ -1825,7 +1886,8 @@ The terminal output of **NUCLEO_F767ZI with W5x00 & Ethernet_Generic Library** r
1825
1886
1826
1887
```
1827
1888
Start MQTTClient_SSL_Complex on NUCLEO_F767ZI with W5x00 & Ethernet_Generic Library
1828
-
EthernetWebServer_SSL_STM32 v1.5.1
1889
+
Ethernet_Generic v2.2.0
1890
+
EthernetWebServer_SSL_STM32 v1.6.0
1829
1891
[EWS] Board : NUCLEO_F767ZI , setCsPin: 10
1830
1892
[EWS] Default SPI pinout:
1831
1893
[EWS] MOSI: 11
@@ -1857,7 +1919,7 @@ The terminal output of **NUCLEO_F767ZI with LAN8742A Ethernet & STM32Ethernet Li
1857
1919
1858
1920
```
1859
1921
Start MQTTS_ThingStream on NUCLEO_F767ZI with LAN8742A Ethernet & STM32Ethernet Library
1860
-
EthernetWebServer_SSL_STM32 v1.5.1
1922
+
EthernetWebServer_SSL_STM32 v1.6.0
1861
1923
[EWS] Board : NUCLEO_F767ZI , setCsPin: 10
1862
1924
[EWS] Default SPI pinout:
1863
1925
[EWS] MOSI: 11
@@ -1891,7 +1953,7 @@ The terminal output of **NUCLEO_F767ZI with ENC28J60 & EthernetENC Library** run
1891
1953
1892
1954
```
1893
1955
Start MQTTS_ThingStream_ThingStream on NUCLEO_F767ZI with ENC28J60 & EthernetENC Library
1894
-
EthernetWebServer_SSL_STM32 v1.5.1
1956
+
EthernetWebServer_SSL_STM32 v1.6.0
1895
1957
[EWS] Board : NUCLEO_F767ZI , setCsPin: 10
1896
1958
[EWS] Default SPI pinout:
1897
1959
[EWS] MOSI: 11
@@ -1923,7 +1985,8 @@ The terminal output of **NUCLEO_F767ZI with W5x00 & Ethernet_Generic Library** r
1923
1985
1924
1986
```
1925
1987
Start MQTTS_ThingStream_ThingStream on NUCLEO_F767ZI with W5x00 & Ethernet_Generic Library
1926
-
EthernetWebServer_SSL_STM32 v1.5.1
1988
+
Ethernet_Generic v2.2.0
1989
+
EthernetWebServer_SSL_STM32 v1.6.0
1927
1990
[EWS] Board : NUCLEO_F767ZI , setCsPin: 10
1928
1991
[EWS] Default SPI pinout:
1929
1992
[EWS] MOSI: 11
@@ -1955,7 +2018,7 @@ The terminal output of **BLACK_F407VE with LAN8720 Ethernet and STM32Ethernet Li
1955
2018
1956
2019
```
1957
2020
Start MQTTS_ThingStream_ThingStream on on BLACK_F407VE with LAN8720 Ethernet & STM32Ethernet Library
1958
-
EthernetWebServer_SSL_STM32 v1.5.1
2021
+
EthernetWebServer_SSL_STM32 v1.6.0
1959
2022
You're connected to the network, IP = 192.168.2.107
1960
2023
***************************************
1961
2024
esp32-sniffer/12345678/ble
@@ -1979,7 +2042,7 @@ The terminal output of **BLACK_F407VE with LAN8720 Ethernet and STM32Ethernet Li
1979
2042
1980
2043
```
1981
2044
Start WebClient_SSL_LAN8720 on BLACK_F407VE with LAN8720 Ethernet & STM32Ethernet Library
1982
-
EthernetWebServer_SSL_STM32 v1.5.1
2045
+
EthernetWebServer_SSL_STM32 v1.6.0
1983
2046
Using mac index = 6
1984
2047
Connected! IP address: 192.168.2.138
1985
2048
Connecting to : www.arduino.cc, port : 443
@@ -2061,7 +2124,7 @@ The terminal output of **BLACK_F407VE with LAN8720 Ethernet and STM32Ethernet Li
2061
2124
2062
2125
```
2063
2126
Start MQTTClient_SSL_LAN8720 on BLACK_F407VE with LAN8720 Ethernet & STM32Ethernet Library
2064
-
EthernetWebServer_SSL_STM32 v1.5.1
2127
+
EthernetWebServer_SSL_STM32 v1.6.0
2065
2128
You're connected to the network, IP = 192.168.2.138
2066
2129
Attempting MQTT connection to broker.emqx.io...connected
2067
2130
Published connection message successfully!
@@ -2085,7 +2148,7 @@ The terminal output of **BLACK_F407VE with LAN8720 Ethernet and STM32Ethernet Li
2085
2148
2086
2149
```
2087
2150
Start MQTTClient_SSL_Complex_LAN8720 on BLACK_F407VE with LAN8720 Ethernet & STM32Ethernet Library
2088
-
EthernetWebServer_SSL_STM32 v1.5.1
2151
+
EthernetWebServer_SSL_STM32 v1.6.0
2089
2152
You're connected to the network, IP = 192.168.2.142
2090
2153
Attempting MQTT connection to broker.emqx.io...connected
2091
2154
Published connection message successfully!
@@ -2102,8 +2165,35 @@ Message Send : STM32_Pub => Hello from MQTTClient_SSL_Complex_LAN8720 on BLACK_F
2102
2165
Message arrived [STM32_Pub] Hello from MQTTClient_SSL_Complex_LAN8720 on BLACK_F407VE, millis = 26573
2103
2166
Message Send : STM32_Pub => Hello from MQTTClient_SSL_Complex_LAN8720 on BLACK_F407VE, millis = 31581
2104
2167
Message arrived [STM32_Pub] Hello from MQTTClient_SSL_Complex_LAN8720 on BLACK_F407VE, millis = 31581
2168
+
```
2169
+
2170
+
---
2171
+
2172
+
#### 16. AdvancedWebServer on NUCLEO_L552ZE_Q with W5x00 using Ethernet_Generic Library and custom SPI
2173
+
2174
+
Following is debug terminal output and screen shot when running example [AdvancedWebServer](examples/AdvancedWebServer) on NUCLEO_L552ZE_Q, using W5500 Ethernet with Ethernet_Generic Library and custom SPI
Start AdvancedWebServer on NUCLEO_L552ZE_Q with W5x00 using Ethernet_Generic Library and custom SPI
2183
+
Ethernet_Generic v2.2.0
2184
+
EthernetWebServer_SSL_STM32 v1.6.0
2185
+
[EWS] Default SPI pinout:
2186
+
[EWS] MOSI: 22
2187
+
[EWS] MISO: 25
2188
+
[EWS] SCK: 23
2189
+
[EWS] SS: 24
2190
+
[EWS] =========================
2191
+
Connected! IP address: 192.168.2.116
2192
+
HTTP EthernetWebServer is @ IP : 192.168.2.116
2193
+
.[EWS] String Len = 0, extend to 2048
2194
+
......... .....
2195
+
```
2196
+
2107
2197
2108
2198
---
2109
2199
---
@@ -2166,9 +2256,14 @@ Submit issues to: [EthernetWebServer_SSL_STM32 issues](https://github.com/khoih-
2166
2256
16. Rewrite library and add example [multiFileProject](examples/multiFileProject) to demo for multiple-file project to fix `multiple-definitions` linker error
2167
2257
17. Change from `arduino.cc` to `arduino.tips` in examples
2168
2258
18. Add `lib_ldf_mode = chain+` in `platformio.ini`
2259
+
19. Add support to any custom hardware / software `SPI` for W5x00 using [Ethernet_Generic Library](https://github.com/khoih-prog/Ethernet_Generic)
2260
+
20. Add support to STM32L5 boards, such as `Nucleo-L552ZE-Q`
2169
2261
2262
+
2263
+
---
2170
2264
---
2171
2265
2266
+
2172
2267
### Contributions and Thanks
2173
2268
2174
2269
1. Based on and modified from [Ivan Grokhotkov's ESP8266WebServer](https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WebServer)
@@ -2177,6 +2272,8 @@ Submit issues to: [EthernetWebServer_SSL_STM32 issues](https://github.com/khoih-
2177
2272
4.[Adrian McEwen](https://github.com/amcewen) for [HttpClient Library](https://github.com/amcewen/HttpClient) on which the [ArduinoHttpClient Library](https://github.com/arduino-libraries/ArduinoHttpClient) and this [EthernetWebServer library](https://github.com/khoih-prog/EthernetWebServer) are relied.
2178
2273
5. Thanks to [Marcel Stör](https://github.com/marcelstoer) to report issue [Pull in OPEnSLab-OSU's SSLClient v1.6.11 #17](https://github.com/khoih-prog/EthernetWebServer_SSL/issues/17) which was fixed in v1.4.5
2179
2274
2275
+
---
2276
+
2180
2277
<table>
2181
2278
<tr>
2182
2279
<td align="center"><a href="https://github.com/igrr"><img src="https://github.com/igrr.png" width="100px;" alt="igrr"/><br /><sub><b>⭐️ Ivan Grokhotkov</b></sub></a><br /></td>
@@ -2198,6 +2295,7 @@ If you want to contribute to this project:
0 commit comments