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

Commit 4d9b52f

Browse files
authored
v1.2.0
### Major Release v1.2.0 1. Add high-level **HTTP and WebSockets Client** by merging [ArduinoHttpClient Library](https://github.com/arduino-libraries/ArduinoHttpClient) 2. Add many more examples for HTTP and WebSockets Client. 3. Add Version String.
1 parent 4c2227c commit 4d9b52f

File tree

50 files changed

+5442
-16
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+5442
-16
lines changed

README.md

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ This [EthernetWebServer_SSL_STM32 library](https://github.com/khoih-prog/Etherne
6060

6161
This [EthernetWebServer_SSL_STM32 library](https://github.com/khoih-prog/EthernetWebServer_SSL_STM32) adds [TLS 1.2](https://www.websecurity.digicert.com/security-topics/what-is-ssl-tls-https) functionality to EthernetClient, using BearSSL as an underlying TLS engine.
6262

63+
This [**EthernetWebServer_SSL_STM32 library**](https://github.com/khoih-prog/EthernetWebServer_SSL_STM32), from v1.2.0, also provides high-level **HTTP and WebSocket Client** with the functions are similar and compatible to those of [**ArduinoHttpClient Library**](https://github.com/arduino-libraries/ArduinoHttpClient)
64+
6365
---
6466

6567
#### Currently supported Boards
@@ -101,12 +103,14 @@ The [**EthernetWebServer_SSL_STM32 library**](https://github.com/khoih-prog/Ethe
101103
2. UDP Server and Client
102104
3. HTTP Server and HTTP/HTTPS Client
103105
4. HTTPS GET and POST requests, provides argument parsing, handles one client at a time.
106+
5. **High-level HTTP (GET, POST, PUT, PATCH, DELETE) and WebSocket Client**. From v1.2.0.
104107

105108
Library is based on and modified from:
106109

107110
1. [Ivan Grokhotkov's ESP8266WebServer](https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WebServer)
108111
2. [Ivan Grokhotkov's ESP32 WebServer](https://github.com/espressif/arduino-esp32/tree/master/libraries/WebServer)
109112
3. [OPEnSLab-OSU's SSLClient v1.6.9](https://github.com/OPEnSLab-OSU/SSLClient)
113+
4. [ArduinoHttpClient Library](https://github.com/arduino-libraries/ArduinoHttpClient)
110114

111115
The EthernetWebServer class, found in `EthernetWebServer.h` header, is a simple WebServer class, knowing how to handle HTTP requests such as GET and POST and can only support one one client at a time.
112116

@@ -117,6 +121,12 @@ Check [`EthernetWebServer Library Issue: Support for STM32F Series`](https://git
117121
---
118122
---
119123

124+
### Major Release v1.2.0
125+
126+
1. Add high-level **HTTP and WebSockets Client** by merging [ArduinoHttpClient Library](https://github.com/arduino-libraries/ArduinoHttpClient)
127+
2. Add many more examples for HTTP and WebSockets Client.
128+
3. Add Version String.
129+
120130
### Release v1.1.2
121131

122132
1. Add SSL debug feature.
@@ -137,7 +147,7 @@ Check [`EthernetWebServer Library Issue: Support for STM32F Series`](https://git
137147
---
138148
---
139149

140-
## Prerequisite
150+
## Prerequisites
141151

142152
1. [`Arduino IDE 1.8.13+` for Arduino](https://www.arduino.cc/en/Main/Software)
143153
2. [`Arduino Core for STM32 1.9.0+`](https://github.com/stm32duino/Arduino_Core_STM32) for STM32 (Use Arduino Board Manager)
@@ -893,6 +903,8 @@ If for some unfortunate reason you need SSL 3.0 or SSL 2.0, you will need to mod
893903

894904
### Examples:
895905

906+
#### WebServer, TLS/SSL Client Examples
907+
896908
1. [AdvancedWebServer](examples/AdvancedWebServer)
897909
2. [HelloServer](examples/HelloServer)
898910
3. [HelloServer2](examples/HelloServer2)
@@ -914,6 +926,22 @@ If for some unfortunate reason you need SSL 3.0 or SSL 2.0, you will need to mod
914926
19. [**MQTTS_ThingStream**](examples/MQTTS_ThingStream).
915927
20. [**MQTT_ThingStream**](examples/MQTT_ThingStream).
916928

929+
#### HTTP and WebSocket Client New Examples
930+
931+
1. [BasicAuthGet](examples/HTTPClient/BasicAuthGet)
932+
2. [CustomHeader](examples/HTTPClient/CustomHeader)
933+
3. [DweetGet](examples/HTTPClient/DweetGet)
934+
4. [DweetPost](examples/HTTPClient/DweetPost)
935+
5. [HueBlink](examples/HTTPClient/HueBlink)
936+
6. [node_test_server](examples/HTTPClient/node_test_server)
937+
7. [PostWithHeaders](examples/HTTPClient/PostWithHeaders)
938+
8. [SimpleDelete](examples/HTTPClient/SimpleDelete)
939+
9. [SimpleGet](examples/HTTPClient/SimpleGet)
940+
10. [SimpleHTTPExample](examples/HTTPClient/SimpleHTTPExample)
941+
11. [SimplePost](examples/HTTPClient/SimplePost)
942+
12. [SimplePut](examples/HTTPClient/SimplePut)
943+
13. [SimpleWebSocket](examples/HTTPClient/SimpleWebSocket)
944+
917945
---
918946
---
919947

@@ -952,6 +980,8 @@ void handleRoot()
952980
int hr = min / 60;
953981
int day = hr / 24;
954982

983+
hr = hr % 24;
984+
955985
snprintf(temp, BUFFER_SIZE - 1,
956986
"<html>\
957987
<head>\
@@ -1024,6 +1054,7 @@ void setup(void)
10241054

10251055
Serial.begin(115200);
10261056
Serial.println("\nStart AdvancedWebServer on " + String(BOARD_NAME) + ", using " + String(SHIELD_TYPE));
1057+
Serial.println(ETHERNET_WEBSERVER_SSL_STM32_VERSION);
10271058

10281059
ET_LOGWARN3(F("Board :"), BOARD_NAME, F(", setCsPin:"), USE_THIS_SS_PIN);
10291060

@@ -1270,6 +1301,7 @@ IPAddress ip(192, 168, 2, 232);
12701301

12711302
```
12721303
Start AdvancedWebServer on NUCLEO_F767ZI, using LAN8742A Ethernet & STM32Ethernet Library
1304+
EthernetWebServer_SSL_STM32 v1.2.0
12731305
HTTP EthernetWebServer is @ IP : 192.168.2.117
12741306
EthernetWebServer::handleClient: New Client
12751307
method: GET
@@ -1391,6 +1423,7 @@ Connection: close
13911423

13921424
```
13931425
Start WebClientRepeating on NUCLEO_F767ZI, using ENC28J60 & EthernetENC Library
1426+
EthernetWebServer_SSL_STM32 v1.2.0
13941427
[ETHERNET_WEBSERVER] Board : NUCLEO_F767ZI , setCsPin: 10
13951428
[ETHERNET_WEBSERVER] Default SPI pinout:
13961429
[ETHERNET_WEBSERVER] MOSI: 11
@@ -1463,6 +1496,7 @@ Disconnecting from server...
14631496

14641497
```
14651498
Start UdpNTPClient on NUCLEO_F767ZI, using W5x00 & Ethernet2 Library
1499+
EthernetWebServer_SSL_STM32 v1.2.0
14661500
[ETHERNET_WEBSERVER] Board : NUCLEO_F767ZI , setCsPin: 10
14671501
[ETHERNET_WEBSERVER] Default SPI pinout:
14681502
[ETHERNET_WEBSERVER] MOSI: 11
@@ -1485,6 +1519,7 @@ The UTC time is 22:20:21
14851519

14861520
```
14871521
Start WebClient_SSL on NUCLEO_F767ZI with LAN8742A Ethernet & STM32Ethernet Library
1522+
EthernetWebServer_SSL_STM32 v1.2.0
14881523
[ETHERNET_WEBSERVER] =========================
14891524
[ETHERNET_WEBSERVER] Default SPI pinout:
14901525
[ETHERNET_WEBSERVER] MOSI: 11
@@ -1587,6 +1622,7 @@ Received 3324 bytes in 0.5398 s, rate = 6.16 kbytes/second
15871622

15881623
```
15891624
Start WebClient_SSL on NUCLEO_F767ZI with W5x00 & Ethernet3 Library
1625+
EthernetWebServer_SSL_STM32 v1.2.0
15901626
[ETHERNET_WEBSERVER] =========== USE_ETHERNET3 ===========
15911627
[ETHERNET_WEBSERVER] Default SPI pinout:
15921628
[ETHERNET_WEBSERVER] MOSI: 11
@@ -1688,6 +1724,7 @@ Received 3405 bytes in 0.4360 s, rate = 7.81 kbytes/second
16881724

16891725
```
16901726
Start WebClientMulti_SSL on NUCLEO_F767ZI with ENC28J60 & EthernetENC Library
1727+
EthernetWebServer_SSL_STM32 v1.2.0
16911728
[ETHERNET_WEBSERVER] =========================
16921729
[ETHERNET_WEBSERVER] Default SPI pinout:
16931730
[ETHERNET_WEBSERVER] MOSI: 11
@@ -1821,6 +1858,7 @@ Received 3998 bytes in 0.0656 s, rate = 60.98 kbytes/second
18211858

18221859
```
18231860
Start MQTTClient_SSL_Complex on NUCLEO_F767ZI with LAN8742A Ethernet & STM32Ethernet Library
1861+
EthernetWebServer_SSL_STM32 v1.2.0
18241862
[ETHERNET_WEBSERVER] Board : NUCLEO_F767ZI , setCsPin: 10
18251863
[ETHERNET_WEBSERVER] Default SPI pinout:
18261864
[ETHERNET_WEBSERVER] MOSI: 11
@@ -1852,6 +1890,7 @@ Message arrived [STM32_Pub] Hello from MQTTClient_SSL_Complex on NUCLEO_F767ZI,
18521890

18531891
```
18541892
Start MQTTClient_SSL_Complex on NUCLEO_F767ZI with W5x00 & Ethernet2 Library
1893+
EthernetWebServer_SSL_STM32 v1.2.0
18551894
[ETHERNET_WEBSERVER] Board : NUCLEO_F767ZI , setCsPin: 10
18561895
[ETHERNET_WEBSERVER] Default SPI pinout:
18571896
[ETHERNET_WEBSERVER] MOSI: 11
@@ -1881,6 +1920,7 @@ Message arrived [STM32_Pub] Hello from MQTTClient_SSL_Complex on NUCLEO_F767ZI,
18811920

18821921
```
18831922
Start MQTTS_ThingStream on NUCLEO_F767ZI with LAN8742A Ethernet & STM32Ethernet Library
1923+
EthernetWebServer_SSL_STM32 v1.2.0
18841924
[ETHERNET_WEBSERVER] Board : NUCLEO_F767ZI , setCsPin: 10
18851925
[ETHERNET_WEBSERVER] Default SPI pinout:
18861926
[ETHERNET_WEBSERVER] MOSI: 11
@@ -1912,6 +1952,7 @@ MQTT Message receive [esp32-sniffer/12345678/ble] Hello from MQTTS_ThingStream o
19121952

19131953
```
19141954
Start MQTTS_ThingStream_ThingStream on NUCLEO_F767ZI with ENC28J60 & EthernetENC Library
1955+
EthernetWebServer_SSL_STM32 v1.2.0
19151956
[ETHERNET_WEBSERVER] Board : NUCLEO_F767ZI , setCsPin: 10
19161957
[ETHERNET_WEBSERVER] Default SPI pinout:
19171958
[ETHERNET_WEBSERVER] MOSI: 11
@@ -1941,6 +1982,7 @@ MQTT Message receive [esp32-sniffer/12345678/ble] Hello from MQTTS_ThingStream_T
19411982

19421983
```
19431984
Start MQTTS_ThingStream_ThingStream on NUCLEO_F767ZI with W5x00 & Ethernet3 Library
1985+
EthernetWebServer_SSL_STM32 v1.2.0
19441986
[ETHERNET_WEBSERVER] Board : NUCLEO_F767ZI , setCsPin: 10
19451987
[ETHERNET_WEBSERVER] Default SPI pinout:
19461988
[ETHERNET_WEBSERVER] MOSI: 11
@@ -1971,6 +2013,12 @@ MQTT Message receive [esp32-sniffer/12345678/ble] Hello from MQTTS_ThingStream_T
19712013

19722014
## Releases History
19732015

2016+
### Major Release v1.2.0
2017+
2018+
1. Add high-level **HTTP and WebSockets Client** by merging [ArduinoHttpClient Library](https://github.com/arduino-libraries/ArduinoHttpClient)
2019+
2. Add many more examples for HTTP and WebSockets Client.
2020+
3. Add Version String.
2021+
19742022
### Release v1.1.2
19752023

19762024
1. Add SSL debug feature.
@@ -2040,6 +2088,7 @@ The library provides these features:
20402088
2. UDP Server and Client
20412089
3. HTTP Server and HTTP/HTTPS Client
20422090
4. HTTPS GET and POST requests, provides argument parsing, handles one client at a time.
2091+
5. **High-level HTTP (GET, POST, PUT, PATCH, DELETE) and WebSocket Client**. From v1.2.0.
20432092

20442093
---
20452094
---
@@ -2057,7 +2106,7 @@ Submit issues to: [EthernetWebServer_SSL_STM32 issues](https://github.com/khoih-
20572106
3. Support more non-compatible Ethernet Libraries such as Ethernet_Shield_W5200, EtherCard, EtherSia
20582107
4. Add mDNS features.
20592108
5. Use AsyncTCP features from [Phil Bowles' STM32AsyncTCP](https://github.com/philbowles/STM32AsyncTCP).
2060-
6. Add **High-level HTTP (GET, POST, PUT, PATCH, DELETE) and WebSocket Client**
2109+
20612110

20622111
### DONE
20632112

@@ -2068,20 +2117,21 @@ Submit issues to: [EthernetWebServer_SSL_STM32 issues](https://github.com/khoih-
20682117
5. Add support to all STM32 boards (**STM32F/L/H/G/WB/MP1**) with 32K+ Flash.
20692118
6. Add support to PROGMEM-related commands, such as sendContent_P() and send_P()
20702119
7. Add TLS/SSL Client support to all STM32 boards (**STM32F/L/H/G/WB/MP1**) with 32K+ Flash.
2071-
2120+
8. Add **High-level HTTP (GET, POST, PUT, PATCH, DELETE) and WebSocket Client**
20722121
---
20732122

20742123
### Contributions and Thanks
20752124

20762125
1. Based on and modified from [Ivan Grokhotkov's ESP8266WebServer](https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WebServer)
20772126
2. [OPEnSLab-OSU](https://github.com/PEnSLab-OSU) for [OPEnSLab-OSU's SSLClient](https://github.com/OPEnSLab-OSU/SSLClient)
20782127
3. Thanks to [Miguel Alexandre Wisintainer](https://github.com/tcpipchip) to help debug and test.
2079-
2128+
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.
20802129

20812130
<table>
20822131
<tr>
20832132
<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>
20842133
<td align="center"><a href="https://github.com/OPEnSLab-OSU"><img src="https://github.com/OPEnSLab-OSU.png" width="100px;" alt="OPEnSLab-OSU"/><br /><sub><b>⭐️ OPEnSLab-OSU</b></sub></a><br /></td>
2134+
<td align="center"><a href="https://github.com/amcewen"><img src="https://github.com/amcewen.png" width="100px;" alt="amcewen"/><br /><sub><b>⭐️ Adrian McEwen</b></sub></a><br /></td>
20852135
<td align="center"><a href="https://github.com/tcpipchip"><img src="https://github.com/tcpipchip.png" width="100px;" alt="tcpipchip"/><br /><sub><b>Miguel Wisintainer</b></sub></a><br /></td>
20862136
</tr>
20872137
</table>

examples/AdvancedWebServer/AdvancedWebServer.ino

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
/****************************************************************************************************************************
22
AdvancedWebServer.h - Dead simple web-server for Ethernet shields
33
4-
For STM32 with built-in Ethernet (Nucleo-144, DISCOVERY, etc) or W5x00/ENC28J60 Ethernet
4+
For STM32F/L/H/G/WB/MP1 with built-in Ethernet LAN8742A (Nucleo-144, DISCOVERY, etc) or W5x00/ENC28J60 shield/module
55
6-
EthernetWebServer_STM32 is a library for the STM32 run built-in Ethernet WebServer
6+
EthernetWebServer_SSL_STM32 is a library for STM32 using the Ethernet shields to run WebServer and Client with/without SSL
7+
8+
Use SSLClient Library code from https://github.com/OPEnSLab-OSU/SSLClient
79
8-
Based on and modified from ESP8266 https://github.com/esp8266/Arduino/releases
9-
Built by Khoi Hoang https://github.com/khoih-prog/EthernetWebServer_STM32
10+
Built by Khoi Hoang https://github.com/khoih-prog/EthernetWebServer_SSL_STM32
1011
Licensed under MIT license
1112
1213
Copyright (c) 2015, Majenko Technologies
@@ -140,6 +141,7 @@ void setup(void)
140141

141142
Serial.begin(115200);
142143
Serial.println("\nStart AdvancedWebServer on " + String(BOARD_NAME) + ", using " + String(SHIELD_TYPE));
144+
Serial.println(ETHERNET_WEBSERVER_SSL_STM32_VERSION);
143145

144146
ET_LOGWARN3(F("Board :"), BOARD_NAME, F(", setCsPin:"), USE_THIS_SS_PIN);
145147

0 commit comments

Comments
 (0)