diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0421e1b..7e0f5e0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,8 +14,8 @@ If you don't find anything, please [open a new issue](https://github.com/khoih-p Please ensure to specify the following: -* Arduino IDE version (e.g. 1.8.13) or Platform.io version -* `ESP8266`,`ESP32` or `STM32` Core Version (e.g. ESP8266 core v2.7.4, ESP32 v1.0.6 or STM32 v1.9.0) +* Arduino IDE version (e.g. 1.8.15) or Platform.io version +* `ESP8266`,`ESP32` or `STM32` Core Version (e.g. ESP8266 core v3.0.1, ESP32 v1.0.6 or STM32 v2.0.0) * Contextual information (e.g. what you were trying to achieve) * Simplest possible steps to reproduce * Anything that might be relevant in your opinion, such as: @@ -26,10 +26,10 @@ Please ensure to specify the following: ### Example ``` -Arduino IDE version: 1.8.13 +Arduino IDE version: 1.8.15 ESP32 Core Version 1.0.6 OS: Ubuntu 20.04 LTS -Linux xy-Inspiron-3593 5.4.0-70-generic #78-Ubuntu SMP Fri Mar 19 13:29:52 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux +Linux xy-Inspiron-3593 5.4.0-77-generic #86-Ubuntu SMP Thu Jun 17 02:35:03 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux Context: I encountered an endless loop while trying to connect to Local WiFi. @@ -40,6 +40,7 @@ Steps to reproduce: 3. ... 4. ... ``` + ### Sending Feature Requests Feel free to post feature requests. It's helpful if you can explain exactly why the feature would be useful. diff --git a/README.md b/README.md index 0c4bd4b..4997f63 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ * [Principles of operation](#principles-of-operation) * [Currently supported Boards](#currently-supported-boards) * [Changelog](#changelog) + * [Releases v1.3.0](#releases-v130) * [Releases v1.2.0](#releases-v120) * [Releases v1.1.5](#releases-v115) * [Releases v1.1.4](#releases-v114) @@ -46,20 +47,22 @@ * [7. For STM32 boards](#7-for-stm32-boards) * [7.1. For STM32 boards to use LAN8720](#71-for-stm32-boards-to-use-lan8720) * [7.2. For STM32 boards to use Serial1](#72-for-stm32-boards-to-use-serial1) -* [HOWTO Install esp32-s2 core for ESP32-S2 (Saola, AI-Thinker ESP-12K) boards into Arduino IDE)](#howto-install-esp32-s2-core-for-esp32-s2-saola-ai-thinker-esp-12k-boards-into-arduino-ide) +* [HOWTO Install esp32 core for ESP32-S2 (Saola, AI-Thinker ESP-12K) and ESP32-C3 boards into Arduino IDE](#howto-install-esp32-core-for-esp32-s2-saola-ai-thinker-esp-12k-and-esp32-c3-boards-into-arduino-ide) * [1. Save the original esp32 core](#1-save-the-original-esp32-core) - * [2. Download esp32-s2 core](#2-download-esp32-s2-core) - * [2.1 Download zip](#21-download-zip) - * [2.2 Unzip](#22-unzip) - * [2.3 Update esp32-s2 core directories](#23-update-esp32-s2-core-directories) - * [3. Download tools](#3-download-tools) + * [2. Install esp32 core v1.0.6](#2-install-esp32-core-v106) + * [2.1 Install esp32 core](#21-install-esp32-core) + * [2.2 Download latest zip with esp32-s2 support](#22-download-latest-zip-with-esp32-s2-support) + * [2.3 Unzip](#23-unzip) + * [2.3 Update esp32 core directories](#24-update-esp32-core-directories) + * [3. Download tools for ESP32-S2](#3-download-tools-for-esp32-s2) * [3.1 Download Toolchain for Xtensa (ESP32-S2) based on GCC](#31-download-toolchain-for-xtensa-esp32-s2-based-on-gcc) * [3.2 Download esptool](#32-download-esptool) * [3.3 Unzip](#33-unzip) * [4. Update tools](#4-update-tools) * [4.1 Update Toolchain](#41-update-toolchain) * [4.2 Update esptool](#42-update-esptool) - * [5. esp32-s2 WebServer Library Patch](#5-esp32-s2-webserver-library-patch) + * [5. Download tools for ESP32-C3](#5-download-tools-for-esp32-c3) + * [6. esp32-s2 WebServer Library Patch](#6-esp32-s2-webserver-library-patch) * [Note for Platform IO using ESP32 LittleFS](#note-for-platform-io-using-esp32-littlefs) * [HOWTO Fix `Multiple Definitions` Linker Error](#howto-fix-multiple-definitions-linker-error) * [Note for Platform IO using ESP32 LittleFS](#note-for-platform-io-using-esp32-littlefs) @@ -90,6 +93,9 @@ * [4. AsyncDweetPost_STM32_LAN8720](examples/STM32_LAN8720/AsyncDweetPost_STM32_LAN8720) * [5. AsyncSimpleGET_STM32_LAN8720](examples/STM32_LAN8720/AsyncSimpleGET_STM32_LAN8720) * [6. AsyncWebClientRepeating_STM32_LAN8720](examples/STM32_LAN8720/AsyncWebClientRepeating_STM32_LAN8720) + * [For WT32_ETH01](#for-wt32_eth01) + * [1. AsyncHTTPRequest_WT32_ETH01](examples/WT32_ETH01/AsyncHTTPRequest_WT32_ETH01) + * [2. AsyncHTTPMultiRequests_WT32_ETH01](examples/WT32_ETH01/AsyncHTTPMultiRequests_WT32_ETH01) * [Example AsyncHTTPRequest_STM32](#example-asynchttprequest_stm32) * [1. File AsyncHTTPRequest_STM32.ino](#1-file-asynchttprequest_stm32ino) * [2. File defines.h](#2-file-definesh) @@ -100,6 +106,8 @@ * [4. AsyncHTTPRequest_ESP running on ESP8266_NODEMCU](#4-asynchttprequest_esp-running-on-esp8266_nodemcu) * [5. AsyncWebClientRepeating_STM32 running on STM32F7 Nucleo-144 NUCLEO_F767ZI using built-in LAN8742A](#5-asyncwebclientrepeating_stm32-running-on-stm32f7-nucleo-144-nucleo_f767zi-using-built-in-lan8742a) * [6. AsyncWebClientRepeating_STM32_LAN8720 running on STM32F4 BLACK_F407VE using LAN8720](#6-asyncwebclientrepeating_stm32_lan8720-running-on-stm32f4-black_f407ve-using-lan8720) + * [7. AsyncHTTPMultiRequests_WT32_ETH01 on ESP32_DEV with ETH_PHY_LAN8720](#7-asynchttpmultirequests_wt32_eth01-on-esp32_dev-with-eth_phy_lan8720) + * [8. AsyncHTTPRequest_WT32_ETH01 on ESP32_DEV with ETH_PHY_LAN8720](#8-asynchttprequest_wt32_eth01-on-esp32_dev-with-eth_phy_lan8720) * [Debug](#debug) * [Troubleshooting](#troubleshooting) * [Issues](#issues) @@ -118,7 +126,7 @@ ### Features -1. Asynchronous HTTP Request library for ESP8266, including ESP32-S2 (ESP32-S2 Saola, AI-Thinker ESP-12K, etc.) using built-in WiFi, and STM32 boards using LAN8720 or built-in LAN8742A Ethernet. +1. Asynchronous HTTP Request library for ESP8266, including ESP32-S2 (ESP32-S2 Saola, AI-Thinker ESP-12K, etc.) using built-in WiFi, WT32_ETH01 (ESP32 + LAN8720) and STM32 boards using LAN8720 or built-in LAN8742A Ethernet. 2. Providing a subset of HTTP. 3. Relying on on **[`ESPAsyncTCP`](https://github.com/me-no-dev/ESPAsyncTCP) for ESP8266, [`AsyncTCP`](https://github.com/me-no-dev/AsyncTCP) for ESP32** using built-in WiFi 4. Relying on **[`STM32duino LwIP`](https://github.com/stm32duino/LwIP)/[`STM32duino STM32Ethernet`](https://github.com/stm32duino/STM32Ethernet)/[`STM32AsyncTCP`](https://github.com/philbowles/STM32AsyncTCP) for STM32 using LAN8720 or built-in LAN8742A Ethernet.** @@ -172,12 +180,19 @@ This library is based on, modified from: 3. **STM32F4 boards (BLACK_F407VE, BLACK_F407VG, BLACK_F407ZE, BLACK_F407ZG, BLACK_F407VE_Mini, DIYMORE_F407VGT, FK407M1)** +#### 5. **WT32_ETH01** using ESP32-based boards and LAN8720 Ethernet + --- --- ## Changelog +### Releases v1.3.0 + +1. Add support to WT32_ETH01 (ESP32 + LAN8720) boards +2. Add examples with new features + ### Releases v1.2.0 1. Add support to **LAN8720** Ethernet for many **STM32F4** (F407xx, NUCLEO_F429ZI) and **STM32F7** (DISCO_F746NG, NUCLEO_F746ZG, NUCLEO_F756ZG) boards. @@ -235,18 +250,19 @@ This library is based on, modified from: ## Prerequisites - 1. [`Arduino IDE 1.8.13+` for Arduino](https://www.arduino.cc/en/Main/Software) - 2. [`ESP8266 Core 2.7.4+`](https://github.com/esp8266/Arduino) for ESP8266-based boards. [![Latest release](https://img.shields.io/github/release/esp8266/Arduino.svg)](https://github.com/esp8266/Arduino/releases/latest/) + 1. [`Arduino IDE 1.8.15+` for Arduino](https://www.arduino.cc/en/Main/Software) + 2. [`ESP8266 Core 3.0.1+`](https://github.com/esp8266/Arduino) for ESP8266-based boards. [![Latest release](https://img.shields.io/github/release/esp8266/Arduino.svg)](https://github.com/esp8266/Arduino/releases/latest/) 3. [`ESP32 Core 1.0.6+`](https://github.com/espressif/arduino-esp32) for ESP32-based boards. [Latest stable release ![Release Version](https://img.shields.io/github/release/espressif/arduino-esp32.svg?style=plastic) - 4. [`ESP32S2 Core 1.0.4+`](https://github.com/espressif/arduino-esp32/tree/esp32s2) for ESP32-S2-based boards. - 5. [`Arduino Core for STM32 1.9.0+`](https://github.com/stm32duino/Arduino_Core_STM32) for for STM32 using built-in Ethernet LAN8742A. [![GitHub release](https://img.shields.io/github/release/stm32duino/Arduino_Core_STM32.svg)](https://github.com/stm32duino/Arduino_Core_STM32/releases/latest) + 4. [`ESP32-S2/C3 Core 1.0.6+`](https://github.com/espressif/arduino-esp32) for ESP32-S2/C3-based boards. Must follow [HOWTO Install esp32 core for ESP32-S2 (Saola, AI-Thinker ESP-12K) and ESP32-C3 boards into Arduino IDE](#howto-install-esp32-core-for-esp32-s2-saola-ai-thinker-esp-12k-and-esp32-c3-boards-into-arduino-ide). + 5. [`Arduino Core for STM32 2.0.0+`](https://github.com/stm32duino/Arduino_Core_STM32) for for STM32 using built-in Ethernet LAN8742A. [![GitHub release](https://img.shields.io/github/release/stm32duino/Arduino_Core_STM32.svg)](https://github.com/stm32duino/Arduino_Core_STM32/releases/latest) 6. [`ESPAsyncTCP v1.2.2+`](https://github.com/me-no-dev/ESPAsyncTCP) for ESP8266. 7. [`AsyncTCP v1.1.1+`](https://github.com/me-no-dev/AsyncTCP) for ESP32. 8. [`STM32Ethernet library v1.2.0+`](https://github.com/stm32duino/STM32Ethernet) for STM32 using built-in Ethernet LAN8742A on (Nucleo-144, Discovery). [![GitHub release](https://img.shields.io/github/release/stm32duino/STM32Ethernet.svg)](https://github.com/stm32duino/STM32Ethernet/releases/latest) 9. [`LwIP library v2.1.2+`](https://github.com/stm32duino/LwIP) for STM32 using built-in Ethernet LAN8742A on (Nucleo-144, Discovery). [![GitHub release](https://img.shields.io/github/release/stm32duino/LwIP.svg)](https://github.com/stm32duino/LwIP/releases/latest) 10. [`STM32AsyncTCP library v1.0.1+`](https://github.com/khoih-prog/STM32AsyncTCP) for built-in Ethernet on (Nucleo-144, Discovery). To install manually for Arduino IDE. -11. [`ESPAsync_WiFiManager library v1.6.2+`](https://github.com/khoih-prog/ESPAsync_WiFiManager) for ESP32/ESP8266 using some examples. [![GitHub release](https://img.shields.io/github/release/khoih-prog/ESPAsync_WiFiManager.svg)](https://github.com/khoih-prog/ESPAsync_WiFiManager/releases) +11. [`ESPAsync_WiFiManager library v1.9.1+`](https://github.com/khoih-prog/ESPAsync_WiFiManager) for ESP32/ESP8266 using some examples. [![GitHub release](https://img.shields.io/github/release/khoih-prog/ESPAsync_WiFiManager.svg)](https://github.com/khoih-prog/ESPAsync_WiFiManager/releases) 12. [`LittleFS_esp32 v1.0.6+`](https://github.com/lorol/LITTLEFS) for ESP32-based boards using LittleFS. To install, check [![arduino-library-badge](https://www.ardu-badge.com/badge/LittleFS_esp32.svg?)](https://www.ardu-badge.com/LittleFS_esp32). +13. [`WebServer_WT32_ETH01 library v1.1.0+`](https://github.com/khoih-prog/WebServer_WT32_ETH01) if necessary to use WT32_ETH01 boards. To install, check [![arduino-library-badge](https://www.ardu-badge.com/badge/WebServer_WT32_ETH01.svg?)](https://www.ardu-badge.com/WebServer_WT32_ETH01) --- @@ -437,7 +453,7 @@ theses files must be copied into the corresponding directory: --- --- -## HOWTO Install esp32-s2 core for ESP32-S2 (Saola, AI-Thinker ESP-12K) boards into Arduino IDE +## HOWTO Install esp32 core for ESP32-S2 (Saola, AI-Thinker ESP-12K) and ESP32-C3 boards into Arduino IDE These are instructions demonstrating the steps to install esp32-s2 core on Ubuntu machines. For Windows or other OS'es, just follow the the similar principles and steps. @@ -455,27 +471,32 @@ First, copy the whole original esp32 core to another safe place. Then delete all --- -### 2. Download esp32-s2 core -#### 2.1 Download zip +### 2. Install esp32 core v1.0.6 -Download [**esp32-s2 core**](https://github.com/espressif/arduino-esp32/tree/esp32s2) in the `zip` format: +#### 2.1 Install esp32 core -`arduino-esp32-esp32s2.zip` +Just use Arduino IDE Board Manager to install [ESP32 Arduino Release 1.0.6 based on ESP-IDF v3.3.5](https://github.com/espressif/arduino-esp32/releases/tag/1.0.6). This official v1.06 core doesn't have esp32-s2/s3 support. You have to download and use the latest master branch. -#### 2.2 Unzip + +#### 2.2 Download latest zip with esp32-s2 support + +As of **April 16th 2021**, the **esp32-s2/c3** board support has been included in master branch of esp32 core. Download [**esp32 core, master branch**](https://github.com/espressif/arduino-esp32) in the zip format. + +#### 2.3 Unzip

-#### 2.3 Update esp32-s2 core directories +#### 2.4 Update esp32 core directories + +Copy all subdirectories of esp32 core into `/home/your_account/.arduino15/packages/esp32/hardware/esp32/1.0.6` -Copy all subdirectories of esp32-s2 core into `/home/your_account/.arduino15/packages/esp32/hardware/esp32/1.0.4` --- -### 3 Download tools +### 3 Download tools for ESP32-S2 #### 3.1 Download Toolchain for Xtensa (ESP32-S2) based on GCC @@ -508,7 +529,7 @@ Download [esptool](https://github.com/espressif/esptool/releases) int the `zip` #### 4.1 Update Toolchain -Copy whole `xtensa-esp32s2-elf` directory into `/home/your_account/.arduino15/packages/esp32/hardware/esp32/1.0.4/tools` +Copy whole `xtensa-esp32s2-elf` directory into `/home/your_account/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools` #### 4.2 Update esptool @@ -516,7 +537,7 @@ Copy whole `xtensa-esp32s2-elf` directory into `/home/your_account/.arduino15/pa Rename `esptool-3.0` directory to `esptool` -Copy whole `esptool` directory into `/home/your_account/.arduino15/packages/esp32/hardware/esp32/1.0.4/tools` +Copy whole `esptool` directory into `/home/your_account/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools`

@@ -524,7 +545,28 @@ Copy whole `esptool` directory into `/home/your_account/.arduino15/packages/esp3

-### 5. esp32-s2 WebServer Library Patch +### 5 Download tools for ESP32-C3 + +Download [**esp32-c3 Toolchain**](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/api-guides/tools/idf-tools.html#riscv32-esp-elf) corresponding to your environment (linux-amd64, win64, etc.). + +For example`riscv32-esp-elf-gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff-linux-amd64.tar.gz`, then un-archive. + +Then using the similar steps as in + +* [3. Download tools for ESP32-S2](#3-download-tools-for-esp32-s2) + * [3.1 Download Toolchain for Xtensa (ESP32-S2) based on GCC](#31-download-toolchain-for-xtensa-esp32-s2-based-on-gcc) + * [3.2 Download esptool](#32-download-esptool) + * [3.3 Unzip](#33-unzip) +* [4. Update tools](#4-update-tools) + * [4.1 Update Toolchain](#41-update-toolchain) + * [4.2 Update esptool](#42-update-esptool) + +then copy whole `riscv32-esp-elf` directory into `/home/your_account/.arduino15/packages/esp32/hardware/esp32/1.0.6/tools` + + +### 6. esp32-s2 WebServer Library Patch + +#### Necessary only for esp32 core v1.0.6- If you haven't installed a new version with [WebServer.handleClient delay PR #4350](https://github.com/espressif/arduino-esp32/pull/4350) or haven't applied the above mentioned PR, you have to use the following patch. @@ -728,6 +770,11 @@ Connect FDTI (USB to Serial) as follows: 5. [AsyncSimpleGET_STM32_LAN8720](examples/STM32_LAN8720/AsyncSimpleGET_STM32_LAN8720) 6. [AsyncWebClientRepeating_STM32_LAN8720](examples/STM32_LAN8720/AsyncWebClientRepeating_STM32_LAN8720) +#### For WT32_ETH01 + + 1. [AsyncHTTPRequest_WT32_ETH01](examples/WT32_ETH01/AsyncHTTPRequest_WT32_ETH01) + 2. [AsyncHTTPMultiRequests_WT32_ETH01](examples/WT32_ETH01/AsyncHTTPMultiRequests_ESP) + --- ### Example [AsyncHTTPRequest_STM32](examples/AsyncHTTPRequest_STM32) @@ -959,7 +1006,7 @@ IPAddress ip(192, 168, 2, 232); ``` Start AsyncHTTPRequest_STM32 on NUCLEO_F767ZI -AsyncHTTPRequest_Generic v1.1.5 +AsyncHTTPRequest_Generic v1.3.0 AsyncHTTPRequest @ IP : 192.168.2.72 ************************************** @@ -1004,7 +1051,7 @@ week_number: 37 ``` Starting AsyncHTTPRequest_ESP_WiFiManager using LittleFS on ESP8266_NODEMCU -AsyncHTTPRequest_Generic v1.1.5 +AsyncHTTPRequest_Generic v1.3.0 Stored: SSID = HueNet1, Pass = 12345678 Got stored Credentials. Timeout 120s ConnectMultiWiFi in setup @@ -1037,7 +1084,7 @@ HHHHHH ``` Starting AsyncHTTPRequest_ESP_WiFiManager using SPIFFS on ESP32_DEV -AsyncHTTPRequest_Generic v1.1.5 +AsyncHTTPRequest_Generic v1.3.0 Stored: SSID = HueNet1, Pass = 12345678 Got stored Credentials. Timeout 120s ConnectMultiWiFi in setup @@ -1088,7 +1135,7 @@ HHHHHHHHH HHHHHHHHHH HHHHHHHHHH ``` Starting AsyncHTTPRequest_ESP using ESP8266_NODEMCU -AsyncHTTPRequest_Generic v1.1.5 +AsyncHTTPRequest_Generic v1.3.0 Connecting to WiFi SSID: HueNet1 ........... HTTP WebServer is @ IP : 192.168.2.81 @@ -1120,7 +1167,7 @@ HHHHHHHHH HHHHHHHHHH HHHHHHHHHH H ``` Start AsyncWebClientRepeating_STM32 on NUCLEO_F767ZI -AsyncHTTPRequest_Generic v1.1.5 +AsyncHTTPRequest_Generic v1.3.0 AsyncHTTPRequest @ IP : 192.168.2.72 ************************************** @@ -1175,7 +1222,7 @@ AsyncHTTPRequest @ IP : 192.168.2.72 ``` Start AsyncWebClientRepeating_STM32_LAN8720 on BLACK_F407VE -AsyncHTTPRequest_Generic v1.2.0 +AsyncHTTPRequest_Generic v1.3.0 AsyncHTTPRequest @ IP : 192.168.2.150 @@ -1224,6 +1271,63 @@ AsyncHTTPRequest @ IP : 192.168.2.150 ************************************** ``` +--- + +#### 7. [AsyncHTTPMultiRequests_WT32_ETH01](examples/WT32_ETH01/AsyncHTTPMultiRequests_WT32_ETH01) on ESP32_DEV with ETH_PHY_LAN8720 + +``` +Starting AsyncHTTPRequest_WT32_ETH01 on ESP32_DEV with ETH_PHY_LAN8720 +WebServer_WT32_ETH01 v1.1.0 +AsyncHTTPRequest_Generic v1.3.0 +ETH MAC: A8:03:2A:A1:61:73, IPv4: 192.168.2.232, FULL_DUPLEX, 100Mbps +AsyncHTTPRequest @ IP : 192.168.2.232 + + +***************Current*************** +{"lat":-24.32,"lon":-46.9983,"timezone":"America/Sao_Paulo","timezone_offset":-10800,"current":{"dt":1625887856,"sunrise":1625910700,"sunset":1625949281,"temp":290.45,"feels_like":290.51,"pressure":1022,"humidity":87,"dew_point":288.27,"uvi":0,"clouds":97,"visibility":10000,"wind_speed":1.3,"wind_deg":3,"wind_gust":1.77,"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04n"}]}} +************************************** +HHHHHH +***************Minutely*************** +{"lat":-24.32,"lon":-46.9983,"timezone":"America/Sao_Paulo","timezone_offset":-10800,"minutely":[{"dt":1625887920,"precipitation":0},{"dt":1625887980,"precipitation":0},{"dt":1625888040,"precipitation":0},{"dt":1625888100,"precipitation":0},{"dt":1625888160,"precipitation":0},{"dt":1625888220,"precipitation":0},{"dt":1625888280,"precipitation":0},{"dt":1625888340,"precipitation":0},{"dt":1625888400,"precipitation":0},{"dt":1625888460,"precipitation":0},{"dt":1625888520,"precipitation":0},{"dt":1625888580,"precipitation":0},{"dt":1625888640,"precipitation":0},{"dt":1625888700,"precipitation":0},{"dt":1625888760,"precipitation":0},{"dt":1625888820,"precipitation":0},{"dt":1625888880,"precipitation":0},{"dt":1625888940,"precipitation":0},{"dt":1625889000,"precipitation":0},{"dt":1625889060,"precipitation":0},{"dt":1625889120,"precipitation":0},{"dt":1625889180,"precipitation":0},{"dt":1625889240,"precipitation":0},{"dt":1625889300,"precipitation":0},{"dt":1625889360,"precipitation":0},{"dt":1625889420,"precipitation":0},{"dt":1625889480,"precipitation":0},{"dt":1625889540,"precipitation":0},{"dt":1625889600,"precipitation":0},{"dt":1625889660,"precipitation":0},{"dt":1625889720,"precipitation":0},{"dt":1625889780,"precipitation":0},{"dt":1625889840,"precipitation":0},{"dt":1625889900,"precipitation":0},{"dt":1625889960,"precipitation":0},{"dt":1625890020,"precipitation":0},{"dt":1625890080,"precipitation":0},{"dt":1625890140,"precipitation":0},{"dt":1625890200,"precipitation":0},{"dt":1625890260,"precipitation":0},{"dt":1625890320,"precipitation":0},{"dt":1625890380,"precipitation":0},{"dt":1625890440,"precipitation":0},{"dt":1625890500,"precipitation":0},{"dt":1625890560,"precipitation":0},{"dt":1625890620,"precipitation":0},{"dt":1625890680,"precipitation":0},{"dt":1625890740,"precipitation":0},{"dt":1625890800,"precipitation":0},{"dt":1625890860,"precipitation":0},{"dt":1625890920,"precipitation":0},{"dt":1625890980,"precipitation":0},{"dt":1625891040,"precipitation":0},{"dt":1625891100,"precipitation":0},{"dt":1625891160,"precipitation":0},{"dt":1625891220,"precipitation":0},{"dt":1625891280,"precipitation":0},{"dt":1625891340,"precipitation":0},{"dt":1625891400,"precipitation":0},{"dt":1625891460,"precipitation":0},{"dt":1625891520,"precipitation":0}]} +************************************** +HHHH HH +***************Daily*************** +{"lat":-24.32,"lon":-46.9983,"timezone":"America/Sao_Paulo","timezone_offset":-10800,"daily":[{"dt":1625929200,"sunrise":1625910700,"sunset":1625949281,"moonrise":1625912640,"moonset":1625951340,"moon_phase":0.02,"temp":{"day":295.51,"min":288.03,"max":295.54,"night":289.23,"eve":290.52,"morn":288.14},"feels_like":{"day":295.42,"night":289.24,"eve":290.69,"morn":288.1},"pressure":1021,"humidity":62,"dew_point":287.26,"wind_speed":2.25,"wind_deg":151,"wind_gust":2.36,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":0,"pop":0.01,"uvi":4.97},{"dt":1626015600,"sunrise":1625997092,"sunset":1626035705,"moonrise":1626001860,"moonset":1626041220,"moon_phase":0.05,"temp":{"day":295.33,"min":288.28,"max":295.45,"night":290.23,"eve":290.91,"morn":288.28},"feels_like":{"day":295.27,"night":290.5,"eve":291.22,"morn":288.07},"pressure":1021,"humidity":64,"dew_point":287.51,"wind_speed":2.46,"wind_deg":173,"wind_gust":2.85,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":0,"pop":0,"uvi":5.01},{"dt":1626102000,"sunrise":1626083482,"sunset":1626122130,"moonrise":1626090900,"moonset":1626131100,"moon_phase":0.08,"temp":{"day":295.54,"min":289.16,"max":295.58,"night":290.41,"eve":291.33,"morn":289.32},"feels_like":{"day":295.61,"night":290.7,"eve":291.66,"morn":289.45},"pressure":1022,"humidity":68,"dew_point":288.68,"wind_speed":2.3,"wind_deg":115,"wind_gust":2.47,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":0,"pop":0.01,"uvi":5.02},{"dt":1626188400,"sunrise":1626169871,"sunset":1626208556,"moonrise":1626179700,"moonset":1626220980,"moon_phase":0.12,"temp":{"day":297.47,"min":288.79,"max":297.47,"night":291.03,"eve":291.51,"morn":288.79},"feels_like":{"day":297.42,"night":291.09,"eve":291.75,"morn":288.73},"pressure":1020,"humidity":56,"dew_point":287.21,"wind_speed":2.26,"wind_deg":6,"wind_gust":2.64,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":7,"pop":0,"uvi":5.16},{"dt":1626274800,"sunrise":1626256259,"sunset":1626294981,"moonrise":1626268380,"moonset":1626310860,"moon_phase":0.15,"temp":{"day":300.56,"min":291.14,"max":300.56,"night":292.56,"eve":293.32,"morn":291.14},"feels_like":{"day":300.44,"night":292.31,"eve":293.3,"morn":290.64},"pressure":1017,"humidity":42,"dew_point":285.41,"wind_speed":2.21,"wind_deg":9,"wind_gust":2.64,"weather":[{"id":804,"main":"Clouds","description":"overcast clouds","icon":"04d"}],"clouds":99,"pop":0,"uvi":1.57},{"dt":1626361200,"sunrise":1626342645,"sunset":1626381407,"moonrise":1626356940,"moonset":1626400740,"moon_phase":0.19,"temp":{"day":303.08,"min":291.35,"max":303.08,"night":294.83,"eve":295.82,"morn":291.35},"feels_like":{"day":302.65,"night":294.54,"eve":295.79,"morn":290.77},"pressure":1012,"humidity":39,"dew_point":286.19,"wind_speed":2.6,"wind_deg":343,"wind_gust":5.27,"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03d"}],"clouds":40,"pop":0,"uvi":2},{"dt":1626447600,"sunrise":1626429031,"sunset":1626467833,"moonrise":1626445440,"moonset":1626490680,"moon_phase":0.22,"temp":{"day":292.5,"min":289.95,"max":294.21,"night":289.95,"eve":290.68,"morn":291.26},"feels_like":{"day":292.84,"night":290.14,"eve":290.92,"morn":291.4},"pressure":1021,"humidity":90,"dew_point":290.28,"wind_speed":4.17,"wind_deg":265,"wind_gust":7.18,"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":100,"pop":0.76,"rain":4.13,"uvi":2},{"dt":1626534000,"sunrise":1626515415,"sunset":1626554260,"moonrise":1626534060,"moonset":0,"moon_phase":0.25,"temp":{"day":288.1,"min":287.9,"max":289.38,"night":288.96,"eve":288.71,"morn":288.22},"feels_like":{"day":288.16,"night":289.05,"eve":288.78,"morn":288.24},"pressure":1025,"humidity":96,"dew_point":287.06,"wind_speed":3.79,"wind_deg":144,"wind_gust":6.59,"weather":[{"id":501,"main":"Rain","description":"moderate rain","icon":"10d"}],"clouds":100,"pop":1,"rain":32.28,"uvi":2}]} +************************************** +H +``` + +--- + +#### 8. [AsyncHTTPRequest_WT32_ETH01](examples/WT32_ETH01/AsyncHTTPRequest_WT32_ETH01) on ESP32_DEV with ETH_PHY_LAN8720 + +``` +Starting AsyncHTTPRequest_WT32_ETH01 on ESP32_DEV with ETH_PHY_LAN8720 +WebServer_WT32_ETH01 v1.1.0 +AsyncHTTPRequest_Generic v1.3.0 +ETH MAC: A8:03:2A:A1:61:73, IPv4: 192.168.2.232, FULL_DUPLEX, 100Mbps +AsyncHTTPRequest @ IP : 192.168.2.232 + +************************************** +abbreviation: EDT +client_ip: 45.72.193.56 +datetime: 2021-07-09T23:16:50.506413-04:00 +day_of_week: 5 +day_of_year: 190 +dst: true +dst_from: 2021-03-14T07:00:00+00:00 +dst_offset: 3600 +dst_until: 2021-11-07T06:00:00+00:00 +raw_offset: -18000 +timezone: America/Toronto +unixtime: 1625887010 +utc_datetime: 2021-07-10T03:16:50.506413+00:00 +utc_offset: -04:00 +week_number: 27 +************************************** +``` + + --- --- @@ -1271,12 +1375,17 @@ Submit issues to: [AsyncHTTPRequest_Generic issues](https://github.com/khoih-pro 3. Add debugging features. 4. Add PUT, PATCH, DELETE and HEAD besides GET and POST. 5. Add support to **Ethernet LAN8720** using [STM32Ethernet library](https://github.com/stm32duino/STM32Ethernet), for boards such as **Nucleo-144 (F429ZI, NUCLEO_F746NG, NUCLEO_F746ZG, NUCLEO_F756ZG), Discovery (DISCO_F746NG)** and **STM32F4 boards (BLACK_F407VE, BLACK_F407VG, BLACK_F407ZE, BLACK_F407ZG, BLACK_F407VE_Mini, DIYMORE_F407VGT, FK407M1)** - + 6. Add support to **WT32_ETH01** using ESP32-based boards and LAN8720 Ethernet --- ## Releases +### Releases v1.3.0 + +1. Add support to WT32_ETH01 (ESP32 + LAN8720) boards +2. Add examples with new features + ### Releases v1.2.0 1. Add support to **LAN8720** Ethernet for many **STM32F4** (F407xx, NUCLEO_F429ZI) and **STM32F7** (DISCO_F746NG, NUCLEO_F746ZG, NUCLEO_F756ZG) boards. diff --git a/examples/AsyncCustomHeader_STM32/AsyncCustomHeader_STM32.ino b/examples/AsyncCustomHeader_STM32/AsyncCustomHeader_STM32.ino index f80eb88..3e3899c 100644 --- a/examples/AsyncCustomHeader_STM32/AsyncCustomHeader_STM32.ino +++ b/examples/AsyncCustomHeader_STM32/AsyncCustomHeader_STM32.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ #include "defines.h" diff --git a/examples/AsyncDweetGet_STM32/AsyncDweetGet_STM32.ino b/examples/AsyncDweetGet_STM32/AsyncDweetGet_STM32.ino index 821673b..80f1358 100644 --- a/examples/AsyncDweetGet_STM32/AsyncDweetGet_STM32.ino +++ b/examples/AsyncDweetGet_STM32/AsyncDweetGet_STM32.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ /** diff --git a/examples/AsyncDweetPost_STM32/AsyncDweetPost_STM32.ino b/examples/AsyncDweetPost_STM32/AsyncDweetPost_STM32.ino index 8494dc2..4d7bf79 100644 --- a/examples/AsyncDweetPost_STM32/AsyncDweetPost_STM32.ino +++ b/examples/AsyncDweetPost_STM32/AsyncDweetPost_STM32.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ // Dweet.io POST client. Connects to dweet.io once every ten seconds, sends a POST request and a request body. diff --git a/examples/AsyncHTTPMultiRequests_ESP/AsyncHTTPMultiRequests_ESP.ino b/examples/AsyncHTTPMultiRequests_ESP/AsyncHTTPMultiRequests_ESP.ino index f4de436..338ebeb 100644 --- a/examples/AsyncHTTPMultiRequests_ESP/AsyncHTTPMultiRequests_ESP.ino +++ b/examples/AsyncHTTPMultiRequests_ESP/AsyncHTTPMultiRequests_ESP.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ //************************************************************************************************************ // @@ -200,7 +185,7 @@ void setup() Serial.print("."); } - Serial.print(F("\nHTTP WebServer is @ IP : ")); + Serial.print(F("AsyncHTTPRequest @ IP : ")); Serial.println(WiFi.localIP()); request.setDebug(false); diff --git a/examples/AsyncHTTPRequest_ESP/AsyncHTTPRequest_ESP.ino b/examples/AsyncHTTPRequest_ESP/AsyncHTTPRequest_ESP.ino index caabae0..ab41301 100644 --- a/examples/AsyncHTTPRequest_ESP/AsyncHTTPRequest_ESP.ino +++ b/examples/AsyncHTTPRequest_ESP/AsyncHTTPRequest_ESP.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ //************************************************************************************************************ // @@ -167,7 +152,7 @@ void setup() Serial.print("."); } - Serial.print(F("\nHTTP WebServer is @ IP : ")); + Serial.print(F("AsyncHTTPRequest @ IP : ")); Serial.println(WiFi.localIP()); request.setDebug(false); diff --git a/examples/AsyncHTTPRequest_ESP_WiFiManager/AsyncHTTPRequest_ESP_WiFiManager.ino b/examples/AsyncHTTPRequest_ESP_WiFiManager/AsyncHTTPRequest_ESP_WiFiManager.ino index 18147ed..e91c9eb 100644 --- a/examples/AsyncHTTPRequest_ESP_WiFiManager/AsyncHTTPRequest_ESP_WiFiManager.ino +++ b/examples/AsyncHTTPRequest_ESP_WiFiManager/AsyncHTTPRequest_ESP_WiFiManager.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ //************************************************************************************************************ // diff --git a/examples/AsyncHTTPRequest_STM32/AsyncHTTPRequest_STM32.ino b/examples/AsyncHTTPRequest_STM32/AsyncHTTPRequest_STM32.ino index af2ef88..47ab244 100644 --- a/examples/AsyncHTTPRequest_STM32/AsyncHTTPRequest_STM32.ino +++ b/examples/AsyncHTTPRequest_STM32/AsyncHTTPRequest_STM32.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ //************************************************************************************************************ // diff --git a/examples/AsyncSimpleGET_STM32/AsyncSimpleGET_STM32.ino b/examples/AsyncSimpleGET_STM32/AsyncSimpleGET_STM32.ino index 936ae25..76b2e27 100644 --- a/examples/AsyncSimpleGET_STM32/AsyncSimpleGET_STM32.ino +++ b/examples/AsyncSimpleGET_STM32/AsyncSimpleGET_STM32.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ #include "defines.h" diff --git a/examples/AsyncWebClientRepeating_STM32/AsyncWebClientRepeating_STM32.ino b/examples/AsyncWebClientRepeating_STM32/AsyncWebClientRepeating_STM32.ino index 0ed3ad3..f65c000 100644 --- a/examples/AsyncWebClientRepeating_STM32/AsyncWebClientRepeating_STM32.ino +++ b/examples/AsyncWebClientRepeating_STM32/AsyncWebClientRepeating_STM32.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ #include "defines.h" diff --git a/examples/STM32_LAN8720/AsyncCustomHeader_STM32_LAN8720/AsyncCustomHeader_STM32_LAN8720.ino b/examples/STM32_LAN8720/AsyncCustomHeader_STM32_LAN8720/AsyncCustomHeader_STM32_LAN8720.ino index 03e1f81..87598b1 100644 --- a/examples/STM32_LAN8720/AsyncCustomHeader_STM32_LAN8720/AsyncCustomHeader_STM32_LAN8720.ino +++ b/examples/STM32_LAN8720/AsyncCustomHeader_STM32_LAN8720/AsyncCustomHeader_STM32_LAN8720.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ #include "defines.h" diff --git a/examples/STM32_LAN8720/AsyncDweetGet_STM32_LAN8720/AsyncDweetGet_STM32_LAN8720.ino b/examples/STM32_LAN8720/AsyncDweetGet_STM32_LAN8720/AsyncDweetGet_STM32_LAN8720.ino index 91318ad..704266e 100644 --- a/examples/STM32_LAN8720/AsyncDweetGet_STM32_LAN8720/AsyncDweetGet_STM32_LAN8720.ino +++ b/examples/STM32_LAN8720/AsyncDweetGet_STM32_LAN8720/AsyncDweetGet_STM32_LAN8720.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ /** diff --git a/examples/STM32_LAN8720/AsyncDweetPost_STM32_LAN8720/AsyncDweetPost_STM32_LAN8720.ino b/examples/STM32_LAN8720/AsyncDweetPost_STM32_LAN8720/AsyncDweetPost_STM32_LAN8720.ino index 483a27e..908e7cd 100644 --- a/examples/STM32_LAN8720/AsyncDweetPost_STM32_LAN8720/AsyncDweetPost_STM32_LAN8720.ino +++ b/examples/STM32_LAN8720/AsyncDweetPost_STM32_LAN8720/AsyncDweetPost_STM32_LAN8720.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ // Dweet.io POST client. Connects to dweet.io once every ten seconds, sends a POST request and a request body. diff --git a/examples/STM32_LAN8720/AsyncHTTPRequest_STM32_LAN8720/AsyncHTTPRequest_STM32_LAN8720.ino b/examples/STM32_LAN8720/AsyncHTTPRequest_STM32_LAN8720/AsyncHTTPRequest_STM32_LAN8720.ino index 552ff75..e3dba63 100644 --- a/examples/STM32_LAN8720/AsyncHTTPRequest_STM32_LAN8720/AsyncHTTPRequest_STM32_LAN8720.ino +++ b/examples/STM32_LAN8720/AsyncHTTPRequest_STM32_LAN8720/AsyncHTTPRequest_STM32_LAN8720.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ //************************************************************************************************************ // diff --git a/examples/STM32_LAN8720/AsyncSimpleGET_STM32_LAN8720/AsyncSimpleGET_STM32_LAN8720.ino b/examples/STM32_LAN8720/AsyncSimpleGET_STM32_LAN8720/AsyncSimpleGET_STM32_LAN8720.ino index fd1cd4b..bbf014c 100644 --- a/examples/STM32_LAN8720/AsyncSimpleGET_STM32_LAN8720/AsyncSimpleGET_STM32_LAN8720.ino +++ b/examples/STM32_LAN8720/AsyncSimpleGET_STM32_LAN8720/AsyncSimpleGET_STM32_LAN8720.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ #include "defines.h" diff --git a/examples/STM32_LAN8720/AsyncWebClientRepeating_STM32_LAN8720/AsyncWebClientRepeating_STM32_LAN8720.ino b/examples/STM32_LAN8720/AsyncWebClientRepeating_STM32_LAN8720/AsyncWebClientRepeating_STM32_LAN8720.ino index f187836..0d211e1 100644 --- a/examples/STM32_LAN8720/AsyncWebClientRepeating_STM32_LAN8720/AsyncWebClientRepeating_STM32_LAN8720.ino +++ b/examples/STM32_LAN8720/AsyncWebClientRepeating_STM32_LAN8720/AsyncWebClientRepeating_STM32_LAN8720.ino @@ -16,21 +16,6 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - - Version: 1.2.0 - - Version Modified By Date Comments - ------- ----------- ---------- ----------- - 1.0.0 K Hoang 14/09/2020 Initial coding to add support to STM32 using built-in Ethernet (Nucleo-144, DISCOVERY, etc). - 1.0.1 K Hoang 09/10/2020 Restore cpp code besides Impl.h code. - 1.0.2 K Hoang 09/11/2020 Make Mutex Lock and delete more reliable and error-proof - 1.1.0 K Hoang 23/12/2020 Add HTTP PUT, PATCH, DELETE and HEAD methods - 1.1.1 K Hoang 24/12/2020 Prevent crash if request and/or method not correct. - 1.1.2 K Hoang 11/02/2021 Rename _lock and _unlock to avoid conflict with AsyncWebServer library - 1.1.3 K Hoang 25/02/2021 Fix non-persistent Connection header bug - 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency - 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library - 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 *****************************************************************************************************************************/ #include "defines.h" diff --git a/examples/WT32_ETH01/AsyncHTTPMultiRequests_WT32_ETH01/AsyncHTTPMultiRequests_WT32_ETH01.ino b/examples/WT32_ETH01/AsyncHTTPMultiRequests_WT32_ETH01/AsyncHTTPMultiRequests_WT32_ETH01.ino new file mode 100644 index 0000000..ed35584 --- /dev/null +++ b/examples/WT32_ETH01/AsyncHTTPMultiRequests_WT32_ETH01/AsyncHTTPMultiRequests_WT32_ETH01.ino @@ -0,0 +1,264 @@ +/**************************************************************************************************************************** + AsyncHTTPMultiRequests_WT32_ETH01.ino - Dead simple AsyncHTTPRequest for ESP8266, ESP32 and currently STM32 with built-in LAN8742A Ethernet + + For ESP8266, ESP32 and STM32 with built-in LAN8742A Ethernet (Nucleo-144, DISCOVERY, etc) + + AsyncHTTPRequest_Generic is a library for the ESP8266, ESP32 and currently STM32 run built-in Ethernet WebServer + + Based on and modified from asyncHTTPrequest Library (https://github.com/boblemaire/asyncHTTPrequest) + + Built by Khoi Hoang https://github.com/khoih-prog/AsyncHTTPRequest_Generic + Licensed under MIT license + + Copyright (C) <2018> + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License + as published bythe Free Software Foundation, either version 3 of the License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with this program. If not, see . + *****************************************************************************************************************************/ +//************************************************************************************************************ +// +// There are scores of ways to use AsyncHTTPRequest. The important thing to keep in mind is that +// it is asynchronous and just like in JavaScript, everything is event driven. You will have some +// reason to initiate an asynchronous HTTP request in your program, but then sending the request +// headers and payload, gathering the response headers and any payload, and processing +// of that response, can (and probably should) all be done asynchronously. +// +// In this example, a Ticker function is setup to fire every 300 seconds to initiate a request. +// Everything is handled in AsyncHTTPRequest without blocking. +// The callback onReadyStateChange is made progressively and like most JS scripts, we look for +// readyState == 4 (complete) here. At that time the response is retrieved and printed. +// +// Note that there is no code in loop(). A code entered into loop would run oblivious to +// the ongoing HTTP requests. The Ticker could be removed and periodic calls to sendRequest() +// could be made in loop(), resulting in the same asynchronous handling. +// +// For demo purposes, debug is turned on for handling of the first request. These are the +// events that are being handled in AsyncHTTPRequest. They all begin with Debug(nnn) where +// nnn is the elapsed time in milliseconds since the transaction was started. +// +//************************************************************************************************************* + +#if !( defined(ESP32) ) + #error This code is intended to run on the ESP32 platform! Please check your Tools->Board setting. +#endif + +// Level from 0-4 +#define ASYNC_HTTP_DEBUG_PORT Serial +#define _ASYNC_HTTP_LOGLEVEL_ 1 + +// 300s = 5 minutes to not flooding +#define HTTP_REQUEST_INTERVAL 60 //300 + +// 10s +#define HEARTBEAT_INTERVAL 10 + +#include // https://github.com/khoih-prog/WebServer_WT32_ETH01 + +#include // https://github.com/khoih-prog/AsyncHTTPRequest_Generic +#include + +AsyncHTTPRequest request; +Ticker ticker; +Ticker ticker1; + +///////////////////////////////////////////// + +// Select the IP address according to your local network +IPAddress myIP(192, 168, 2, 232); +IPAddress myGW(192, 168, 2, 1); +IPAddress mySN(255, 255, 255, 0); + +// Google DNS Server IP +IPAddress myDNS(8, 8, 8, 8); + +bool eth_connected = false; + +///////////////////////////////////////////// + +void heartBeatPrint(void) +{ + static int num = 1; + + if (eth_connected) + Serial.print(F("H")); // H means connected to WiFi + else + Serial.print(F("F")); // F means not connected to WiFi + + if (num == 80) + { + Serial.println(); + num = 1; + } + else if (num++ % 10 == 0) + { + Serial.print(F(" ")); + } +} + +// To replace with your real APP_API +#define APP_API "SECRECT_APP_API" + +String requestPart1 = "http://api.openweathermap.org/data/2.5/onecall?lat=-24.32&lon=-46.9983"; +String requestAPPID = "&appid=" + String(APP_API); + +// exclude fields: current,minutely,hourly,daily,alerts +String requestCurrent = requestPart1 + "&exclude=minutely,hourly,daily,alerts" + requestAPPID; +String requestMinutely = requestPart1 + "&exclude=current,hourly,daily,alerts" + requestAPPID; +String requestHourly = requestPart1 + "&exclude=current,minutely,daily,alerts" + requestAPPID; +String requestDaily = requestPart1 + "&exclude=current,minutely,hourly,alerts" + requestAPPID; +String requestAlert = requestPart1 + "&exclude=current,minutely,hourly,daily" + requestAPPID; + +#define NUM_REQUESTS 5 + +const char* requestName[ NUM_REQUESTS ] = { "Current", "Minutely", "Hourly", "Daily", "Alert" }; + +const char* requestAll[ NUM_REQUESTS ] = { requestCurrent.c_str(), requestMinutely.c_str(), requestHourly.c_str(), requestDaily.c_str(), requestAlert.c_str() }; + +uint8_t requestIndex = 0; + +void sendRequest() +{ + static bool requestOpenResult; + + if (request.readyState() == readyStateUnsent || request.readyState() == readyStateDone) + { + requestOpenResult = request.open("GET", requestAll[requestIndex] ); + + if (requestOpenResult) + { + // Only send() if open() returns true, or crash + request.send(); + } + else + { + Serial.println("Can't send bad request"); + } + } + else + { + Serial.println("Can't send request"); + } +} + +void requestCB(void* optParm, AsyncHTTPRequest* request, int readyState) +{ + (void) optParm; + + if (readyState == readyStateDone) + { + Serial.print("\n***************"); Serial.print(requestName[ requestIndex ]); Serial.println("***************"); + Serial.println(request->responseText()); + Serial.println("**************************************"); + +#if 1 + // Bypass hourly + if (requestIndex == 1) + requestIndex = 3; + else + requestIndex = (requestIndex + 1) % NUM_REQUESTS; +#else + // hourly too long, not display anyway. Not enough heap. + requestIndex = (requestIndex + 1) % NUM_REQUESTS; + #endif + + request->setDebug(false); + } +} + +void WiFiEvent(WiFiEvent_t event) +{ + switch (event) + { + case SYSTEM_EVENT_ETH_START: + Serial.println("\nETH Started"); + //set eth hostname here + ETH.setHostname("WT32-ETH01"); + break; + case SYSTEM_EVENT_ETH_CONNECTED: + Serial.println("ETH Connected"); + break; + + case SYSTEM_EVENT_ETH_GOT_IP: + if (!eth_connected) + { + Serial.print("ETH MAC: "); + Serial.print(ETH.macAddress()); + Serial.print(", IPv4: "); + Serial.print(ETH.localIP()); + + if (ETH.fullDuplex()) + { + Serial.print(", FULL_DUPLEX"); + } + + Serial.print(", "); + Serial.print(ETH.linkSpeed()); + Serial.println("Mbps"); + eth_connected = true; + } + + break; + + case SYSTEM_EVENT_ETH_DISCONNECTED: + Serial.println("ETH Disconnected"); + eth_connected = false; + break; + + case SYSTEM_EVENT_ETH_STOP: + Serial.println("\nETH Stopped"); + eth_connected = false; + break; + + default: + break; + } +} + +void setup() +{ + // put your setup code here, to run once: + Serial.begin(115200); + while (!Serial); + + delay(200); + + Serial.print("\nStarting AsyncHTTPRequest_WT32_ETH01 on " + String(ARDUINO_BOARD)); + Serial.println(" with " + String(SHIELD_TYPE)); + Serial.println(WEBSERVER_WT32_ETH01_VERSION); + Serial.println(ASYNC_HTTP_REQUEST_GENERIC_VERSION); + + Serial.setDebugOutput(true); + + //bool begin(uint8_t phy_addr=ETH_PHY_ADDR, int power=ETH_PHY_POWER, int mdc=ETH_PHY_MDC, int mdio=ETH_PHY_MDIO, + // eth_phy_type_t type=ETH_PHY_TYPE, eth_clock_mode_t clk_mode=ETH_CLK_MODE); + //ETH.begin(ETH_PHY_ADDR, ETH_PHY_POWER, ETH_PHY_MDC, ETH_PHY_MDIO, ETH_PHY_TYPE, ETH_CLK_MODE); + ETH.begin(ETH_PHY_ADDR, ETH_PHY_POWER); + + // Static IP, leave without this line to get IP via DHCP + //bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0); + ETH.config(myIP, myGW, mySN, myDNS); + + WiFi.onEvent(WiFiEvent); + + while (!eth_connected) + delay(100); + + Serial.print(F("AsyncHTTPRequest @ IP : ")); + Serial.println(ETH.localIP()); + + request.setDebug(false); + + request.onReadyStateChange(requestCB); + ticker.attach(HTTP_REQUEST_INTERVAL, sendRequest); + + ticker1.attach(HEARTBEAT_INTERVAL, heartBeatPrint); + + // Send first request now + sendRequest(); +} + +void loop() +{ +} diff --git a/examples/WT32_ETH01/AsyncHTTPRequest_WT32_ETH01/AsyncHTTPRequest_WT32_ETH01.ino b/examples/WT32_ETH01/AsyncHTTPRequest_WT32_ETH01/AsyncHTTPRequest_WT32_ETH01.ino new file mode 100644 index 0000000..832efc3 --- /dev/null +++ b/examples/WT32_ETH01/AsyncHTTPRequest_WT32_ETH01/AsyncHTTPRequest_WT32_ETH01.ino @@ -0,0 +1,231 @@ +/**************************************************************************************************************************** + AsyncHTTPRequest_WT32_ETH01.ino - Dead simple AsyncHTTPRequest for ESP8266, ESP32 and currently STM32 with built-in LAN8742A Ethernet + + For ESP8266, ESP32 and STM32 with built-in LAN8742A Ethernet (Nucleo-144, DISCOVERY, etc) + + AsyncHTTPRequest_Generic is a library for the ESP8266, ESP32 and currently STM32 run built-in Ethernet WebServer + + Based on and modified from asyncHTTPrequest Library (https://github.com/boblemaire/asyncHTTPrequest) + + Built by Khoi Hoang https://github.com/khoih-prog/AsyncHTTPRequest_Generic + Licensed under MIT license + + Copyright (C) <2018> + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License + as published bythe Free Software Foundation, either version 3 of the License, or (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with this program. If not, see . + *****************************************************************************************************************************/ +//************************************************************************************************************ +// +// There are scores of ways to use AsyncHTTPRequest. The important thing to keep in mind is that +// it is asynchronous and just like in JavaScript, everything is event driven. You will have some +// reason to initiate an asynchronous HTTP request in your program, but then sending the request +// headers and payload, gathering the response headers and any payload, and processing +// of that response, can (and probably should) all be done asynchronously. +// +// In this example, a Ticker function is setup to fire every 300 seconds to initiate a request. +// Everything is handled in AsyncHTTPRequest without blocking. +// The callback onReadyStateChange is made progressively and like most JS scripts, we look for +// readyState == 4 (complete) here. At that time the response is retrieved and printed. +// +// Note that there is no code in loop(). A code entered into loop would run oblivious to +// the ongoing HTTP requests. The Ticker could be removed and periodic calls to sendRequest() +// could be made in loop(), resulting in the same asynchronous handling. +// +// For demo purposes, debug is turned on for handling of the first request. These are the +// events that are being handled in AsyncHTTPRequest. They all begin with Debug(nnn) where +// nnn is the elapsed time in milliseconds since the transaction was started. +// +//************************************************************************************************************* + +#if !( defined(ESP32) ) + #error This code is intended to run on the ESP32 platform! Please check your Tools->Board setting. +#endif + +// Level from 0-4 +#define ASYNC_HTTP_DEBUG_PORT Serial +#define _ASYNC_HTTP_LOGLEVEL_ 1 + +// 300s = 5 minutes to not flooding +#define HTTP_REQUEST_INTERVAL 60 //300 + +// 10s +#define HEARTBEAT_INTERVAL 10 + +#include // https://github.com/khoih-prog/WebServer_WT32_ETH01 + +#include // https://github.com/khoih-prog/AsyncHTTPRequest_Generic +#include + +AsyncHTTPRequest request; +Ticker ticker; +Ticker ticker1; + +///////////////////////////////////////////// + +// Select the IP address according to your local network +IPAddress myIP(192, 168, 2, 232); +IPAddress myGW(192, 168, 2, 1); +IPAddress mySN(255, 255, 255, 0); + +// Google DNS Server IP +IPAddress myDNS(8, 8, 8, 8); + +bool eth_connected = false; + +///////////////////////////////////////////// + +void heartBeatPrint(void) +{ + static int num = 1; + + if (eth_connected) + Serial.print(F("H")); // H means connected + else + Serial.print(F("F")); // F means not connected + + if (num == 80) + { + Serial.println(); + num = 1; + } + else if (num++ % 10 == 0) + { + Serial.print(F(" ")); + } +} + +void sendRequest() +{ + static bool requestOpenResult; + + if (request.readyState() == readyStateUnsent || request.readyState() == readyStateDone) + { + //requestOpenResult = request.open("GET", "http://worldtimeapi.org/api/timezone/Europe/London.txt"); + requestOpenResult = request.open("GET", "http://worldtimeapi.org/api/timezone/America/Toronto.txt"); + + if (requestOpenResult) + { + // Only send() if open() returns true, or crash + request.send(); + } + else + { + Serial.println("Can't send bad request"); + } + } + else + { + Serial.println("Can't send request"); + } +} + +void requestCB(void* optParm, AsyncHTTPRequest* request, int readyState) +{ + (void) optParm; + + if (readyState == readyStateDone) + { + Serial.println("\n**************************************"); + Serial.println(request->responseText()); + Serial.println("**************************************"); + + request->setDebug(false); + } +} + +void WiFiEvent(WiFiEvent_t event) +{ + switch (event) + { + case SYSTEM_EVENT_ETH_START: + Serial.println("\nETH Started"); + //set eth hostname here + ETH.setHostname("WT32-ETH01"); + break; + case SYSTEM_EVENT_ETH_CONNECTED: + Serial.println("ETH Connected"); + break; + + case SYSTEM_EVENT_ETH_GOT_IP: + if (!eth_connected) + { + Serial.print("ETH MAC: "); + Serial.print(ETH.macAddress()); + Serial.print(", IPv4: "); + Serial.print(ETH.localIP()); + + if (ETH.fullDuplex()) + { + Serial.print(", FULL_DUPLEX"); + } + + Serial.print(", "); + Serial.print(ETH.linkSpeed()); + Serial.println("Mbps"); + eth_connected = true; + } + + break; + + case SYSTEM_EVENT_ETH_DISCONNECTED: + Serial.println("ETH Disconnected"); + eth_connected = false; + break; + + case SYSTEM_EVENT_ETH_STOP: + Serial.println("\nETH Stopped"); + eth_connected = false; + break; + + default: + break; + } +} + +void setup() +{ + // put your setup code here, to run once: + Serial.begin(115200); + while (!Serial); + + Serial.print("\nStarting AsyncHTTPRequest_WT32_ETH01 on " + String(ARDUINO_BOARD)); + Serial.println(" with " + String(SHIELD_TYPE)); + Serial.println(WEBSERVER_WT32_ETH01_VERSION); + Serial.println(ASYNC_HTTP_REQUEST_GENERIC_VERSION); + + Serial.setDebugOutput(true); + + //bool begin(uint8_t phy_addr=ETH_PHY_ADDR, int power=ETH_PHY_POWER, int mdc=ETH_PHY_MDC, int mdio=ETH_PHY_MDIO, + // eth_phy_type_t type=ETH_PHY_TYPE, eth_clock_mode_t clk_mode=ETH_CLK_MODE); + //ETH.begin(ETH_PHY_ADDR, ETH_PHY_POWER, ETH_PHY_MDC, ETH_PHY_MDIO, ETH_PHY_TYPE, ETH_CLK_MODE); + ETH.begin(ETH_PHY_ADDR, ETH_PHY_POWER); + + // Static IP, leave without this line to get IP via DHCP + //bool config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0); + ETH.config(myIP, myGW, mySN, myDNS); + + WiFi.onEvent(WiFiEvent); + + while (!eth_connected) + delay(100); + + Serial.print(F("\nHTTP WebClient is @ IP : ")); + Serial.println(ETH.localIP()); + + request.setDebug(false); + + request.onReadyStateChange(requestCB); + ticker.attach(HTTP_REQUEST_INTERVAL, sendRequest); + + ticker1.attach(HEARTBEAT_INTERVAL, heartBeatPrint); + + // Send first request now + sendRequest(); +} + +void loop() +{ +} diff --git a/library.json b/library.json index e723c6d..99b8d8c 100644 --- a/library.json +++ b/library.json @@ -1,8 +1,8 @@ { "name":"AsyncHTTPRequest_Generic", - "version": "1.2.0", - "description":"Simple Async HTTP Request library, supporting GET, POST, PUT, PATCH, DELETE and HEAD, on top of AsyncTCP libraries, such as AsyncTCP, ESPAsyncTCP, AsyncTCP_STM32, etc.. for ESP32 (including ESP32-S2), ESP8266 and currently STM32 with LAN8720 or built-in LAN8742A Ethernet.", - "keywords":"communication, async, tcp, http, ESP8266, ESP32, ESP32-S2, ESPAsyncTCP, AsyncTCP, stm32, ethernet, wifi, lan8742a, lan8720, f407ve, nucleo, nucleo-144, stm32f7, stm32f4", + "version": "1.3.0", + "description":"Simple Async HTTP Request library, supporting GET, POST, PUT, PATCH, DELETE and HEAD, on top of AsyncTCP libraries, such as AsyncTCP, ESPAsyncTCP, AsyncTCP_STM32, etc.. for ESP32 (including ESP32-S2), WT32_ETH01 (ESP32 + LAN8720), ESP8266 and currently STM32 with LAN8720 or built-in LAN8742A Ethernet.", + "keywords":"communication, async, tcp, http, ESP8266, ESP32, ESP32-S2, wt32-eth01, ESPAsyncTCP, AsyncTCP, stm32, ethernet, wifi, lan8742a, lan8720, f407ve, nucleo, nucleo-144, stm32f7, stm32f4", "authors": [ { "name": "Bob Lemaire", @@ -39,7 +39,7 @@ { "owner": "khoih.prog", "name": "ESPAsync_WiFiManager", - "version": ">=1.6.2", + "version": ">=1.9.1", "platforms": ["espressif8266", "espressif32"] }, { @@ -60,6 +60,12 @@ "version": ">=1.0.6", "platforms": ["espressif32"] }, + { + "owner": "khoih.prog", + "name": "WebServer_WT32_ETH01", + "version": ">=1.1.0", + "platforms": ["espressif32"] + }, { "name": "STM32AsyncTCP", "version": "https://github.com/khoih-prog/STM32AsyncTCP" diff --git a/library.properties b/library.properties index 9de69ef..716a95a 100644 --- a/library.properties +++ b/library.properties @@ -1,12 +1,12 @@ name=AsyncHTTPRequest_Generic -version=1.2.0 +version=1.3.0 author=Bob Lemaire,Khoi Hoang maintainer=Khoi Hoang license=MIT -sentence=Simple Async HTTP Request library, supporting GET, POST, PUT, PATCH, DELETE and HEAD, on top of AsyncTCP libraries, such as AsyncTCP, ESPAsyncTCP, AsyncTCP_STM32, etc.. for ESP32 (including ESP32-S2), ESP8266 and currently STM32 with LAN8720 or built-in LAN8742A Ethernet. +sentence=Simple Async HTTP Request library, supporting GET, POST, PUT, PATCH, DELETE and HEAD, on top of AsyncTCP libraries, such as AsyncTCP, ESPAsyncTCP, AsyncTCP_STM32, etc.. for ESP32 (including ESP32-S2), WT32_ETH01 (ESP32 + LAN8720), ESP8266 and currently STM32 with LAN8720 or built-in LAN8742A Ethernet. paragraph=This AsyncHTTPRequest_Generic Library, supporting GET, POST, PUT, PATCH, DELETE and HEAD, for ESP32 (including ESP32-S2), ESP8266 and STM32 with LAN8720 or built-in LAN8742A Ethernet, such as Nucleo-144 F767ZI, F407VE, etc. category=Communication,AsyncTCP,AsyncHTTP url=https://github.com/khoih-prog/AsyncHTTPRequest_Generic architectures=* -depends=AsyncTCP,ESPAsyncTCP,ESPAsync_WiFiManager,STM32duino LwIP,STM32duino STM32Ethernet +depends=AsyncTCP,ESPAsyncTCP,ESPAsync_WiFiManager,STM32duino LwIP,STM32duino STM32Ethernet,WebServer_WT32_ETH01 includes=AsyncHTTPRequest_Generic.h diff --git a/platformio/platformio.ini b/platformio/platformio.ini index 50f1f84..14d88f2 100644 --- a/platformio/platformio.ini +++ b/platformio/platformio.ini @@ -40,8 +40,9 @@ lib_deps = ; https://github.com/khoih-prog/STM32AsyncTCP.git ; STM32duino LwIP@>=2.1.2 ; STM32duino STM32Ethernet@>=1.2.0 -; ESPAsync_WiFiManager@>=1.6.2 +; ESPAsync_WiFiManager@>=1.9.1 ; LittleFS_esp32@>=1.0.6 +; WebServer_WT32_ETH01@>=1.1.0 ; PlatformIO 5.x me-no-dev/AsyncTCP@>=1.1.1 me-no-dev/ESPAsyncTCP@>=1.2.2 @@ -49,8 +50,9 @@ lib_deps = https://github.com/khoih-prog/STM32AsyncTCP.git stm32duino/STM32duino LwIP@>=2.1.2 stm32duino/STM32duino STM32Ethernet@>=1.2.0 - khoih-prog/ESPAsync_WiFiManager@>=1.6.2 + khoih-prog/ESPAsync_WiFiManager@>=1.9.1 lorol/LittleFS_esp32@>=1.0.6 + khoih.prog/WebServer_WT32_ETH01@>=1.1.0 build_flags = ; set your debug output (default=Serial) diff --git a/src/AsyncHTTPRequest_Debug_Generic.h b/src/AsyncHTTPRequest_Debug_Generic.h index 4d20181..2d3c675 100644 --- a/src/AsyncHTTPRequest_Debug_Generic.h +++ b/src/AsyncHTTPRequest_Debug_Generic.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #pragma once diff --git a/src/AsyncHTTPRequest_Generic.h b/src/AsyncHTTPRequest_Generic.h index a528332..2f683df 100644 --- a/src/AsyncHTTPRequest_Generic.h +++ b/src/AsyncHTTPRequest_Generic.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #pragma once @@ -38,7 +39,7 @@ #ifndef ASYNC_HTTP_REQUEST_GENERIC_H #define ASYNC_HTTP_REQUEST_GENERIC_H -#define ASYNC_HTTP_REQUEST_GENERIC_VERSION "AsyncHTTPRequest_Generic v1.2.0" +#define ASYNC_HTTP_REQUEST_GENERIC_VERSION "AsyncHTTPRequest_Generic v1.3.0" #include diff --git a/src/AsyncHTTPRequest_Impl_Generic.h b/src/AsyncHTTPRequest_Impl_Generic.h index 27892f0..7785608 100644 --- a/src/AsyncHTTPRequest_Impl_Generic.h +++ b/src/AsyncHTTPRequest_Impl_Generic.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #pragma once diff --git a/src/utility/xbuf.h b/src/utility/xbuf.h index d674193..ddde03e 100644 --- a/src/utility/xbuf.h +++ b/src/utility/xbuf.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ /******************************************************************************************** diff --git a/src/utility/xbuf_Impl.h b/src/utility/xbuf_Impl.h index 436c977..c74ee99 100644 --- a/src/utility/xbuf_Impl.h +++ b/src/utility/xbuf_Impl.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #pragma once diff --git a/src_cpp/AsyncHTTPRequest_Debug_Generic.h b/src_cpp/AsyncHTTPRequest_Debug_Generic.h index 4d20181..2d3c675 100644 --- a/src_cpp/AsyncHTTPRequest_Debug_Generic.h +++ b/src_cpp/AsyncHTTPRequest_Debug_Generic.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #pragma once diff --git a/src_cpp/AsyncHTTPRequest_Generic.cpp b/src_cpp/AsyncHTTPRequest_Generic.cpp index b06f571..857094d 100644 --- a/src_cpp/AsyncHTTPRequest_Generic.cpp +++ b/src_cpp/AsyncHTTPRequest_Generic.cpp @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #include "AsyncHTTPRequest_Debug_Generic.h" diff --git a/src_cpp/AsyncHTTPRequest_Generic.h b/src_cpp/AsyncHTTPRequest_Generic.h index a7d52e7..04d3110 100644 --- a/src_cpp/AsyncHTTPRequest_Generic.h +++ b/src_cpp/AsyncHTTPRequest_Generic.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #pragma once @@ -38,7 +39,7 @@ #ifndef ASYNC_HTTP_REQUEST_GENERIC_H #define ASYNC_HTTP_REQUEST_GENERIC_H -#define ASYNC_HTTP_REQUEST_GENERIC_VERSION "AsyncHTTPRequest_Generic v1.2.0" +#define ASYNC_HTTP_REQUEST_GENERIC_VERSION "AsyncHTTPRequest_Generic v1.3.0" #include diff --git a/src_cpp/utility/xbuf.cpp b/src_cpp/utility/xbuf.cpp index e7d6ca0..8e6fd3b 100644 --- a/src_cpp/utility/xbuf.cpp +++ b/src_cpp/utility/xbuf.cpp @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #include "utility/xbuf.h" diff --git a/src_cpp/utility/xbuf.h b/src_cpp/utility/xbuf.h index eef3340..4e9172c 100644 --- a/src_cpp/utility/xbuf.h +++ b/src_cpp/utility/xbuf.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ /******************************************************************************************** diff --git a/src_h/AsyncHTTPRequest_Debug_Generic.h b/src_h/AsyncHTTPRequest_Debug_Generic.h index 4d20181..2d3c675 100644 --- a/src_h/AsyncHTTPRequest_Debug_Generic.h +++ b/src_h/AsyncHTTPRequest_Debug_Generic.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #pragma once diff --git a/src_h/AsyncHTTPRequest_Generic.h b/src_h/AsyncHTTPRequest_Generic.h index a528332..2f683df 100644 --- a/src_h/AsyncHTTPRequest_Generic.h +++ b/src_h/AsyncHTTPRequest_Generic.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #pragma once @@ -38,7 +39,7 @@ #ifndef ASYNC_HTTP_REQUEST_GENERIC_H #define ASYNC_HTTP_REQUEST_GENERIC_H -#define ASYNC_HTTP_REQUEST_GENERIC_VERSION "AsyncHTTPRequest_Generic v1.2.0" +#define ASYNC_HTTP_REQUEST_GENERIC_VERSION "AsyncHTTPRequest_Generic v1.3.0" #include diff --git a/src_h/AsyncHTTPRequest_Impl_Generic.h b/src_h/AsyncHTTPRequest_Impl_Generic.h index 27892f0..7785608 100644 --- a/src_h/AsyncHTTPRequest_Impl_Generic.h +++ b/src_h/AsyncHTTPRequest_Impl_Generic.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #pragma once diff --git a/src_h/utility/xbuf.h b/src_h/utility/xbuf.h index d674193..ddde03e 100644 --- a/src_h/utility/xbuf.h +++ b/src_h/utility/xbuf.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ /******************************************************************************************** diff --git a/src_h/utility/xbuf_Impl.h b/src_h/utility/xbuf_Impl.h index 436c977..c74ee99 100644 --- a/src_h/utility/xbuf_Impl.h +++ b/src_h/utility/xbuf_Impl.h @@ -17,7 +17,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . - Version: 1.2.0 + Version: 1.3.0 Version Modified By Date Comments ------- ----------- ---------- ----------- @@ -31,6 +31,7 @@ 1.1.4 K Hoang 21/03/2021 Fix `library.properties` dependency 1.1.5 K Hoang 22/03/2021 Fix dependency on STM32AsyncTCP Library 1.2.0 K Hoang 11/04/2021 Add support to LAN8720 using STM32F4 or STM32F7 + 1.3.0 K Hoang 09/07/2021 Add support to WT32_ETH01 (ESP32 + LAN8720) boards *****************************************************************************************************************************/ #pragma once