From 751a4be4b1d0db66d77acfc28a64abec4b94acb8 Mon Sep 17 00:00:00 2001
From: Khoi Hoang <57012152+khoih-prog@users.noreply.github.com>
Date: Thu, 15 Jul 2021 14:14:33 -0400
Subject: [PATCH] v1.6.1 for connectMultiWiFi params
### Releases v1.6.1
1. Add configurable connectMultiWiFi parameters. Check [Minimize blocking during multi-wifi reconnect #6](https://github.com/khoih-prog/Blynk_Async_WM/issues/6)
2. Update ESP8266_CORE_VERSION for ESP8266 core v3.0.1+
---
CONTRIBUTING.md | 10 ++--
README.md | 84 ++++++++++++++++-----------
library.json | 4 +-
library.properties | 4 +-
platformio/platformio.ini | 2 +-
src/BlynkSimpleEsp32_Async_WM.h | 19 ++++--
src/BlynkSimpleEsp32_SSL_Async_WM.h | 19 ++++--
src/BlynkSimpleEsp8266_Async_WM.h | 30 +++++++---
src/BlynkSimpleEsp8266_SSL_Async_WM.h | 28 ++++++---
9 files changed, 128 insertions(+), 72 deletions(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b8e8c5d..b932fe0 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` or `ESP32` Core Version (e.g. ESP8266 core v3.0.0 or ESP32 v1.0.6)
+* Arduino IDE version (e.g. 1.8.15) or Platform.io version
+* `ESP8266` or `ESP32` Core Version (e.g. ESP8266 core v3.0.1 or ESP32 v1.0.6)
* 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: v1.8.13
-ESP8266 Core Version v3.0.0
+Arduino IDE version: v1.8.15
+ESP8266 Core Version v3.0.1
OS: Ubuntu 20.04 LTS
-Linux Inspiron 5.4.0-73-generic #82-Ubuntu SMP Wed Apr 14 17:39:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
+Linux Inspiron 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:
The board couldn't autoreconnect to Local Blynk Server after router power recycling.
diff --git a/README.md b/README.md
index 0e624d3..396893c 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,7 @@
* [Why using SSL insecured mode now](#why-using-ssl-insecured-mode-now)
* [Currently supported Boards](#currently-supported-boards)
* [Changelog](#changelog)
+ * [Releases v1.6.1](#releases-v161)
* [Major Releases v1.6.0](#major-releases-v160)
* [Major Releases v1.5.0](#major-releases-v150)
* [Releases v1.4.1](#releases-v141)
@@ -110,7 +111,7 @@
* [3. File Credentials.h](#3-file-credentialsh)
* [4. File dynamicParams.h](#4-file-dynamicparamsh)
* [Debug Terminal Output Samples](#debug-terminal-output-samples)
- * [1. Async_ESP8266WM_MRD_Config using LittleFS with SSL on ESP8266_NODEMCU](#1-async_esp8266wm_mrd_config-using-littlefs-with-ssl-on-esp8266_nodemcu)
+ * [1. Async_ESP8266WM_MRD_Config using LittleFS with SSL on ESP8266_NODEMCU_ESP12E](#1-async_esp8266wm_mrd_config-using-littlefs-with-ssl-on-esp8266_nodemcu_esp12e)
* [1.1. No MultiReset Detected => Running normally](#11-no-multireset-detected--running-normally)
* [1.2. MultiReset Detected => Enter Config Portal](#12-multireset-detected--enter-config-portal)
* [1.3. Exit Config Portal with Data](#13-exit-config-portal-with-data)
@@ -132,7 +133,7 @@
* [7. Async_ESP32WM_MRD_ForcedConfig using LITTLEFS with SSL on ESP32_DEV to demo WiFi Scan](#7-async_esp32wm_mrd_forcedconfig-using-littlefs-with-ssl-on-esp32_dev-to-demo-wifi-scan)
* [7.1 MRD/DRD => Open Config Portal](#71-mrddrd--open-config-portal)
* [7.2 Config Data Saved => Connection to Blynk](#72-config-data-saved--connection-to-blynk)
- * [8. Async_ESP8266WM_MRD_Config using LITTLEFS with SSL on ESP8266_NODEMCU_ESP12E using new ESP8266 core v3.0.0](#8-async_esp8266wm_mrd_config-using-littlefs-with-ssl-on-esp8266_nodemcu_esp12e-using-new-esp8266-core-v300)
+ * [8. Async_ESP8266WM_MRD_Config using LITTLEFS with SSL on ESP8266_NODEMCU_ESP12E using new ESP8266 core v3.0.1](#8-async_esp8266wm_mrd_config-using-littlefs-with-ssl-on-esp8266_nodemcu_esp12e-using-new-esp8266-core-v301)
* [Debug](#debug)
* [Troubleshooting](#troubleshooting)
* [Releases](#releases)
@@ -203,6 +204,11 @@ This [**Blynk_Async_WM** library](https://github.com/khoih-prog/Blynk_Async_WM)
## Changelog
+### Releases v1.6.1
+
+1. Add configurable connectMultiWiFi parameters. Check [Minimize blocking during multi-wifi reconnect #6](https://github.com/khoih-prog/Blynk_Async_WM/issues/6)
+2. Update ESP8266_CORE_VERSION for ESP8266 core v3.0.1+
+
### Major Releases v1.6.0
1. Fix AP connect issue caused by **breaking ESP8266 core v3.0.0**. Caused by multiple core changes, but the new solution results a better and faster connection to AP.
@@ -278,11 +284,11 @@ This [**Blynk_Async_WM** library](https://github.com/khoih-prog/Blynk_Async_WM)
## Prerequisites
- 1. [`Arduino IDE 1.8.13+` for Arduino](https://www.arduino.cc/en/Main/Software)
+ 1. [`Arduino IDE 1.8.15+` for Arduino](https://www.arduino.cc/en/Main/Software)
2. [`Blynk library 0.6.1+`](https://github.com/blynkkk/blynk-library/releases). [![Latest release](https://img.shields.io/github/release/blynkkk/blynk-library.svg)](https://github.com/blynkkk/blynk-library/releases/latest/). Never use the `Blynk beta` versions.
3. [`ESP32 Core 1.0.6+`](https://github.com/espressif/arduino-esp32) for ESP32-based boards. [![Latest release](https://img.shields.io/github/release/espressif/arduino-esp32.svg)](https://github.com/espressif/arduino-esp32/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. [`ESP8266 Core 3.0.0+`](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/). To use ESP8266 core 2.7.1+ for LittleFS.
+ 5. [`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/). To use ESP8266 core 2.7.1+ for LittleFS.
6. [`ESP_DoubleResetDetector library 1.1.1+`](https://github.com/khoih-prog/ESP_DoubleResetDetector) to use DRD feature. To install, check [![arduino-library-badge](https://www.ardu-badge.com/badge/ESP_DoubleResetDetector.svg?)](https://www.ardu-badge.com/ESP_DoubleResetDetector).
7. [`ESP_MultiResetDetector library 1.1.1+`](https://github.com/khoih-prog/ESP_MultiResetDetector) to use MRD feature. To install, check [![arduino-library-badge](https://www.ardu-badge.com/badge/ESP_MultiResetDetector.svg?)](https://www.ardu-badge.com/ESP_MultiResetDetector).
8. [`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). **Notice**: This [`LittleFS_esp32 library`](https://github.com/lorol/LITTLEFS) has been integrated to Arduino [esp32 core v1.0.6](https://github.com/espressif/arduino-esp32/tree/master/libraries/LITTLEFS).
@@ -1662,17 +1668,17 @@ Blynk_WM_Configuration defaultConfig =
### Debug Terminal Output Samples
-### 1. Async_ESP8266WM_MRD_Config using LittleFS with SSL on ESP8266_NODEMCU
+### 1. Async_ESP8266WM_MRD_Config using LittleFS with SSL on ESP8266_NODEMCU_ESP12E
-The following is the sample terminal output when running example [Async_ESP8266WM_MRD_Config](examples/Async_ESP8266WM_MRD_Config) on **ESP8266_NODEMCU**
+The following is the sample terminal output when running example [Async_ESP8266WM_MRD_Config](examples/Async_ESP8266WM_MRD_Config) on **ESP8266_NODEMCU_ESP12E**
#### 1.1 No MultiReset Detected => Running normally
```
-Starting Async_ESP8266WM_MRD_Config using LittleFS with SSL on ESP8266_NODEMCU
-ESP8266 core v2.7.4
-Blynk_Async_WM SSL for ESP8266 v1.6.0
+Starting Async_ESP8266WM_MRD_Config using LittleFS with SSL on ESP8266_NODEMCU_ESP12E
+ESP8266 core v3.0.1
+Blynk_Async_WM SSL for ESP8266 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
@@ -1721,7 +1727,7 @@ Saving config file OK
/ _ )/ /_ _____ / /__
/ _ / / // / _ \/ '_/
/____/_/\_, /_//_/_/\_\
- /___/ v0.6.1 on NodeMCU
+ /___/ v0.6.1 on ESP8266_NODEMCU_ESP12E
[22919] NTP time: Sat Jan 2 06:58:15 2021
[22919] BlynkArduinoClient.connect: Connecting to account.duckdns.org:9443
@@ -1751,9 +1757,9 @@ BBBBBB
#### 1.2 MultiReset Detected => Enter Config Portal
```
-Starting Async_ESP8266WM_MRD_Config using LittleFS with SSL on ESP8266_NODEMCU
-ESP8266 core v2.7.4
-Blynk_Async_WM SSL for ESP8266 v1.6.0
+Starting Async_ESP8266WM_MRD_Config using LittleFS with SSL on ESP8266_NODEMCU_ESP12E
+ESP8266 core v3.0.1
+Blynk_Async_WM SSL for ESP8266 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFC0003
multiResetDetectorFlag = 0xFFFC0003
@@ -1863,9 +1869,9 @@ F[229521] id: = HueNet1
#### 1.3 Exit Config Portal with Data
```
-Starting Async_ESP8266WM_MRD_Config using LittleFS with SSL on ESP8266_NODEMCU
-ESP8266 core v2.7.4
-Blynk_Async_WM SSL for ESP8266 v1.6.0
+Starting Async_ESP8266WM_MRD_Config using LittleFS with SSL on ESP8266_NODEMCU_ESP12E
+ESP8266 core v3.0.1
+Blynk_Async_WM SSL for ESP8266 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
@@ -1914,7 +1920,7 @@ Saving config file OK
/ _ )/ /_ _____ / /__
/ _ / / // / _ \/ '_/
/____/_/\_, /_//_/_/\_\
- /___/ v0.6.1 on NodeMCU
+ /___/ v0.6.1 on ESP8266_NODEMCU_ESP12E
[22805] NTP time: Sat Jan 2 07:03:13 2021
[22805] BlynkArduinoClient.connect: Connecting to account.duckdns.org:9443
@@ -1951,7 +1957,7 @@ The following is the sample terminal output when running example [Async_ESP32WM_
```
Starting Async_ESP32WM_MRD_Config using LittleFS with SSL on ESP32_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
@@ -2030,7 +2036,7 @@ Pubs Topics = default-mqtt-PubTopic
```
Starting Async_ESP32WM_MRD_Config using LittleFS with SSL on ESP32_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFC0003
multiResetDetectorFlag = 0xFFFC0003
@@ -2135,7 +2141,7 @@ RFRFRF[188660] id: = HueNet1
```
Starting Async_ESP32WM_MRD_Config using LittleFS with SSL on ESP32_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
@@ -2272,7 +2278,7 @@ The following is the sample terminal output when running example [Async_ESP32_Mu
```
Starting Async_ESP32_MultiTask using LittleFS without SSL on ESP32_DEV
-Blynk_Async_WM for ESP32 v1.4.0
+Blynk_Async_WM for ESP32 v1.6.1
ESP_DoubleResetDetector v1.1.1
[1431] Hostname=ESP32-Async-MTask
[1517] LoadCfgFile
@@ -2484,7 +2490,7 @@ Blynk.resetAndEnterConfigPortal();
```
Starting Async_ESP32WM_MRD_ForcedConfig using LittleFS with SSL on ESP32_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
@@ -2575,7 +2581,7 @@ Non-Persistent CP will be removed after first reset, even you didn't enter the C
```
Starting Async_ESP32WM_MRD_ForcedConfig using LittleFS with SSL on ESP32_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
@@ -2690,7 +2696,7 @@ RF[66298] id: = HueNet1
```
Starting Async_ESP32WM_MRD_ForcedConfig using LittleFS with SSL on ESP32_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
@@ -2789,7 +2795,7 @@ Blynk.resetAndEnterConfigPortalPersistent();
```
Starting Async_ESP32WM_MRD_ForcedConfig using LittleFS with SSL on ESP32_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
@@ -2880,7 +2886,7 @@ Persistent CP will remain after resets. The only way to get rid of Config Portal
```
Starting Async_ESP32WM_MRD_ForcedConfig using LittleFS with SSL on ESP32_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
@@ -2992,7 +2998,7 @@ Enter CP, input (even fake data or none) and `Save` config data to exit persiste
```
Starting Async_ESP32WM_MRD_ForcedConfig using LittleFS with SSL on ESP32_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_MultiResetDetector v1.1.1
LittleFS Flag read = 0xFFFE0001
multiResetDetectorFlag = 0xFFFE0001
@@ -3078,7 +3084,7 @@ The following is the sample terminal output when running example [Async_ESP32WM_
```
Starting Async_ESP32WM_ForcedConfig using LittleFS with SSL on ESP32S2_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_DoubleResetDetector v1.1.1
[958] Set CustomsStyle to :
[980] Set CustomsHeadElement to :
@@ -3158,7 +3164,7 @@ The following is the sample terminal output when running example [Async_ESP32WM_
```
Starting Async_ESP32WM_MRD_ForcedConfig using LittleFS with SSL on ESP32_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_MultiResetDetector v1.1.1
[228] Set CustomsStyle to :
[250] Set CustomsHeadElement to :
@@ -3242,7 +3248,7 @@ Pubs Topics = default-mqtt-PubTopic
```
Starting Async_ESP32WM_MRD_ForcedConfig using LittleFS with SSL on ESP32_DEV
-Blynk_Async_WM SSL for ESP32 v1.6.0
+Blynk_Async_WM SSL for ESP32 v1.6.1
ESP_MultiResetDetector v1.1.1
[229] Set CustomsStyle to :
[251] Set CustomsHeadElement to :
@@ -3307,14 +3313,14 @@ RBRBRBRBRBRBRBRB
---
-### 8. Async_ESP8266WM_MRD_Config using LITTLEFS with SSL on ESP8266_NODEMCU_ESP12E using new ESP8266 core v3.0.0
+### 8. Async_ESP8266WM_MRD_Config using LITTLEFS with SSL on ESP8266_NODEMCU_ESP12E using new ESP8266 core v3.0.1
-The following is the sample terminal output when running example [Async_ESP8266WM_MRD_Config](examples/Async_ESP8266WM_MRD_Config) on **ESP8266_NODEMCU_ESP12E** using new **ESP8266 core v3.0.0**
+The following is the sample terminal output when running example [Async_ESP8266WM_MRD_Config](examples/Async_ESP8266WM_MRD_Config) on **ESP8266_NODEMCU_ESP12E** using new **ESP8266 core v3.0.1**
```
Starting Async_ESP8266WM_MRD_Config using LittleFS with SSL on ESP8266_NODEMCU_ESP12E
-ESP8266 core v3.0.0
-Blynk_Async_WM SSL for ESP8266 v1.6.0
+ESP8266 core v3.0.1
+Blynk_Async_WM SSL for ESP8266 v1.6.1
ESP_MultiResetDetector v1.1.1
[268] Set CustomsStyle to :
[290] Set CustomsHeadElement to :
@@ -3433,6 +3439,11 @@ Sometimes, the library will only work if you update the board core to the latest
## Releases
+### Releases v1.6.1
+
+1. Add configurable connectMultiWiFi parameters. Check [Minimize blocking during multi-wifi reconnect #6](https://github.com/khoih-prog/Blynk_Async_WM/issues/6)
+2. Update ESP8266_CORE_VERSION for ESP8266 core v3.0.1+
+
### Major Releases v1.6.0
1. Fix AP connect issue caused by **breaking ESP8266 core v3.0.0**. Caused by multiple core changes, but the new solution results a better and faster connection to AP.
@@ -3568,7 +3579,10 @@ Check these new features thanks to his direct contribution and/or enhancement re
* [How to trigger a Config Portal from code #25](https://github.com/khoih-prog/Blynk_WM/issues/25)
* [Good new feature: Blynk.resetAndEnterConfigPortal() Thanks & question #27](https://github.com/khoih-prog/Blynk_WM/issues/27)
4. Thanks to good work of [Miguel Alexandre Wisintainer](https://github.com/tcpipchip) for working with, developing, debugging and testing.
-5. Thanks to [komaneko](https://github.com/jjskaife) to report bugs in [Custom Blynk port not working for BlynkSimpleEsp32_Async_WM.h #4](https://github.com/khoih-prog/Blynk_Async_WM/issues/4) leading to v1.4.1
+5. Thanks to [komaneko](https://github.com/jjskaife) to
+ * report bugs in [Custom Blynk port not working for BlynkSimpleEsp32_Async_WM.h #4](https://github.com/khoih-prog/Blynk_Async_WM/issues/4) leading to v1.4.1
+ * ask for enhancement in [Minimize blocking during multi-wifi reconnect #6](https://github.com/khoih-prog/Blynk_Async_WM/issues/6) leading to v1.6.1
+
6. Thanks to [Michael H. "bizprof"](https://github.com/bizprof). With the impressive new feature :
- `Enable scan of WiFi networks for selection in Configuration Portal`. Check [PR for v1.3.0 - Enable scan of WiFi networks #10](https://github.com/khoih-prog/WiFiManager_NINA_Lite/pull/10) leading to v1.5.0
diff --git a/library.json b/library.json
index 770b4d3..9db60f6 100644
--- a/library.json
+++ b/library.json
@@ -1,7 +1,7 @@
{
"name": "Blynk_Async_WM",
- "version": "1.6.0",
- "description": "Library, using AsyncWebServer instead of (ESP8266)WebServer, for configuring/auto(re)connecting ESP32 (including ESP32-S2 and ESP32-C3), ESP8266 modules to best or available MultiWiFi APs and MultiBlynk servers at runtime. Enable adding dynamic custom parameters from sketch and input using the same Config Portal (CP). CP will be auto-adjusted to match the number of dynamic parameters. Optional default Credentials to be autoloaded into CP to use or change instead of manually input. Static STA IP and DHCP Hostname as well as Config Portal AP channel, IP, SSID, Password can be configured. Config. Data saved in ESP8266/ESP32 LittleFS, SPIFFS or EEPROM. Multi, Double DetectDetector or Virtual CP Switch feature permits entering CP as requested. Configurable Customs HTML Headers, including Customs Style, Customs Head Elements, CORS Header. Now with scanning of WiFi networks for selection in Configuration Portal and working with new ESP8266 core v3.0.0 and ESP32 core v1.0.6",
+ "version": "1.6.1",
+ "description": "Library, using AsyncWebServer instead of (ESP8266)WebServer, for configuring/auto(re)connecting ESP32 (including ESP32-S2 and ESP32-C3), ESP8266 modules to best or available MultiWiFi APs and MultiBlynk servers at runtime. Enable adding dynamic custom parameters from sketch and input using the same Config Portal (CP). CP will be auto-adjusted to match the number of dynamic parameters. Optional default Credentials to be autoloaded into CP to use or change instead of manually input. Static STA IP and DHCP Hostname as well as Config Portal AP channel, IP, SSID, Password can be configured. Config. Data saved in ESP8266/ESP32 LittleFS, SPIFFS or EEPROM. Multi, Double DetectDetector or Virtual CP Switch feature permits entering CP as requested. Configurable Customs HTML Headers, including Customs Style, Customs Head Elements, CORS Header. Now with scanning of WiFi networks for selection in Configuration Portal and working with new ESP8266 core v3.0.1 and ESP32 core v1.0.6",
"keywords": "control, device, communication, blynk, iot, wifi, esp8266, esp32, esp32-s2, esp32-c3, async, drd, mrd, double-reset, multi-reset, config-portal, credentials, dynamic-params, customs-header, smartphone, mobile, app, web, cloud, sensors, m2m, protocol, ble, bluetooth, Manager, DynamicParameters, dynamic, configportal, usb, serial, ethernet, data, http, portal ",
"authors":
{
diff --git a/library.properties b/library.properties
index 80e4760..eb115b7 100644
--- a/library.properties
+++ b/library.properties
@@ -1,9 +1,9 @@
name=Blynk_Async_WM
-version=1.6.0
+version=1.6.1
author=Khoi Hoang
license=MIT
maintainer=Khoi Hoang
-sentence=Simple Async WiFiManager for Blynk and ESP32 (including ESP32-S2, ESP32-C3), ESP8266 with or without SSL, configuration data saved in either LittleFS, SPIFFS or EEPROM. Now working with new ESP8266 core v3.0.0 and ESP32 core v1.0.6
+sentence=Simple Async WiFiManager for Blynk and ESP32 (including ESP32-S2, ESP32-C3), ESP8266 with or without SSL, configuration data saved in either LittleFS, SPIFFS or EEPROM. Now working with new ESP8266 core v3.0.1 and ESP32 core v1.0.6
paragraph=Library, using AsyncWebServer instead of (ESP8266)WebServer, for configuring/auto(re)connecting ESP32 (including ESP32-S2, ESP32-C3), ESP8266 modules to best or available MultiWiFi APs and MultiBlynk servers at runtime. Enable adding dynamic custom parameters from sketch and input using the same Config Portal (CP). CP will be auto-adjusted to match the number of dynamic parameters. Optional default Credentials to be autoloaded into CP to use or change instead of manually input. Static STA IP and DHCP Hostname as well as Config Portal AP channel, IP, SSID, Password can be configured. Config. Data saved in ESP8266/ESP32 LittleFS, SPIFFS or EEPROM. Multi, Double DetectDetector or Virtual CP Switch feature permits entering CP as requested. Configurable Customs HTML Headers, including Customs Style, Customs Head Elements, CORS Header. Now with scanning of WiFi networks for selection in Configuration Portal.
category=Communication
url=https://github.com/khoih-prog/Blynk_Async_WM
diff --git a/platformio/platformio.ini b/platformio/platformio.ini
index 8ee6194..cd72e64 100644
--- a/platformio/platformio.ini
+++ b/platformio/platformio.ini
@@ -98,7 +98,7 @@ board = nodemcuv2
[env:ESP32]
platform = espressif32
-framework = arduino
+framework = arduino, espidf
; ============================================================
; Board configuration
; choose your board by uncommenting one of the following lines
diff --git a/src/BlynkSimpleEsp32_Async_WM.h b/src/BlynkSimpleEsp32_Async_WM.h
index 1e2514b..95cf94c 100644
--- a/src/BlynkSimpleEsp32_Async_WM.h
+++ b/src/BlynkSimpleEsp32_Async_WM.h
@@ -17,7 +17,7 @@
@date Jan 2015
@brief
- Version: 1.6.0
+ Version: 1.6.1
Version Modified By Date Comments
------- ----------- ---------- -----------
@@ -34,6 +34,7 @@
1.4.1 K Hoang 24/04/2021 Fix issue of custom Blynk port (different from 8080 or 9443) not working on ESP32
1.5.0 K Hoang 25/04/2021 Enable scan of WiFi networks for selection in Configuration Portal
1.6.0 K Hoang 19/05/2021 Fix AP connect and SSL issues caused by breaking ESP8266 core v3.0.0
+ 1.6.1 K Hoang 15/07/2021 Add configurable connectMultiWiFi parameters. Update for ESP8266 core v3.0.1
********************************************************************************************************************************/
#pragma once
@@ -45,7 +46,7 @@
#error This code is intended to run on the ESP32 platform! Please check your Tools->Board setting.
#endif
-#define BLYNK_ASYNC_WM_VERSION "Blynk_Async_WM for ESP32 v1.6.0"
+#define BLYNK_ASYNC_WM_VERSION "Blynk_Async_WM for ESP32 v1.6.1"
//////////////////////////////////////////////
// From v1.6.0 to display correct BLYNK_INFO_DEVICE
@@ -2224,11 +2225,17 @@ class BlynkWifi
//////////////////////////////////////
+#ifndef WIFI_MULTI_CONNECT_WAITING_MS
+ // For ESP32, this better be 2000 to enable connect the 1st time
+ #define WIFI_MULTI_CONNECT_WAITING_MS 2000L
+#endif
+
+#ifndef WIFI_MULTI_CONNECT_WAITING_TIMES
+ #define WIFI_MULTI_CONNECT_WAITING_TIMES 10
+#endif
+
uint8_t connectMultiWiFi()
{
- // For ESP32, this better be 2000 to enable connect the 1st time
-#define WIFI_MULTI_CONNECT_WAITING_MS 2000L
-
uint8_t status;
BLYNK_LOG1(BLYNK_F("Connecting MultiWifi..."));
@@ -2240,7 +2247,7 @@ class BlynkWifi
status = wifiMulti.run();
delay(WIFI_MULTI_CONNECT_WAITING_MS);
- while ( ( i++ < 10 ) && ( status != WL_CONNECTED ) )
+ while ( ( i++ < WIFI_MULTI_CONNECT_WAITING_TIMES ) && ( status != WL_CONNECTED ) )
{
status = wifiMulti.run();
diff --git a/src/BlynkSimpleEsp32_SSL_Async_WM.h b/src/BlynkSimpleEsp32_SSL_Async_WM.h
index 7d3d9ec..432d63f 100644
--- a/src/BlynkSimpleEsp32_SSL_Async_WM.h
+++ b/src/BlynkSimpleEsp32_SSL_Async_WM.h
@@ -17,7 +17,7 @@
@date Jan 2015
@brief
- Version: 1.6.0
+ Version: 1.6.1
Version Modified By Date Comments
------- ----------- ---------- -----------
@@ -34,6 +34,7 @@
1.4.1 K Hoang 24/04/2021 Fix issue of custom Blynk port (different from 8080 or 9443) not working on ESP32
1.5.0 K Hoang 25/04/2021 Enable scan of WiFi networks for selection in Configuration Portal
1.6.0 K Hoang 19/05/2021 Fix AP connect and SSL issues caused by breaking ESP8266 core v3.0.0
+ 1.6.1 K Hoang 15/07/2021 Add configurable connectMultiWiFi parameters. Update for ESP8266 core v3.0.1
********************************************************************************************************************************/
#pragma once
@@ -45,7 +46,7 @@
#error This code is intended to run on the ESP32 platform! Please check your Tools->Board setting.
#endif
-#define BLYNK_ASYNC_WM_VERSION "Blynk_Async_WM SSL for ESP32 v1.6.0"
+#define BLYNK_ASYNC_WM_VERSION "Blynk_Async_WM SSL for ESP32 v1.6.1"
//////////////////////////////////////////////
// From v1.6.0 to display correct BLYNK_INFO_DEVICE
@@ -2297,11 +2298,17 @@ class BlynkWifi
//////////////////////////////////////
+#ifndef WIFI_MULTI_CONNECT_WAITING_MS
+ // For ESP32, this better be 2000 to enable connect the 1st time
+ #define WIFI_MULTI_CONNECT_WAITING_MS 2000L
+#endif
+
+#ifndef WIFI_MULTI_CONNECT_WAITING_TIMES
+ #define WIFI_MULTI_CONNECT_WAITING_TIMES 10
+#endif
+
uint8_t connectMultiWiFi()
{
- // For ESP32, this better be 2000 to enable connect the 1st time
-#define WIFI_MULTI_CONNECT_WAITING_MS 2000L
-
uint8_t status;
BLYNK_LOG1(BLYNK_F("Connecting MultiWifi..."));
@@ -2313,7 +2320,7 @@ class BlynkWifi
status = wifiMulti.run();
delay(WIFI_MULTI_CONNECT_WAITING_MS);
- while ( ( i++ < 10 ) && ( status != WL_CONNECTED ) )
+ while ( ( i++ < WIFI_MULTI_CONNECT_WAITING_TIMES ) && ( status != WL_CONNECTED ) )
{
status = wifiMulti.run();
diff --git a/src/BlynkSimpleEsp8266_Async_WM.h b/src/BlynkSimpleEsp8266_Async_WM.h
index 6edc9a4..f613965 100644
--- a/src/BlynkSimpleEsp8266_Async_WM.h
+++ b/src/BlynkSimpleEsp8266_Async_WM.h
@@ -17,7 +17,7 @@
@date Jan 2015
@brief
- Version: 1.6.0
+ Version: 1.6.1
Version Modified By Date Comments
------- ----------- ---------- -----------
@@ -34,6 +34,7 @@
1.4.1 K Hoang 24/04/2021 Fix issue of custom Blynk port (different from 8080 or 9443) not working on ESP32
1.5.0 K Hoang 25/04/2021 Enable scan of WiFi networks for selection in Configuration Portal
1.6.0 K Hoang 19/05/2021 Fix AP connect and SSL issues caused by breaking ESP8266 core v3.0.0
+ 1.6.1 K Hoang 15/07/2021 Add configurable connectMultiWiFi parameters. Update for ESP8266 core v3.0.1
********************************************************************************************************************************/
#pragma once
@@ -45,13 +46,16 @@
#error This code is intended to run on the ESP8266 platform! Please check your Tools->Board setting.
#endif
-#define BLYNK_ASYNC_WM_VERSION "Blynk_Async_WM for ESP8266 v1.6.0"
+#define BLYNK_ASYNC_WM_VERSION "Blynk_Async_WM for ESP8266 v1.6.1"
#include
/////////////////////////////////////////////
-#if (ARDUINO_ESP8266_GIT_VER == 0xefb0341a)
+#if (ARDUINO_ESP8266_GIT_VER == 0xcbf44fb3)
+ #define USING_ESP8266_CORE_VERSION 30001
+ #define ESP8266_CORE_VERSION "ESP8266 core v3.0.1"
+#elif (ARDUINO_ESP8266_GIT_VER == 0xefb0341a)
#define USING_ESP8266_CORE_VERSION 30000
#define ESP8266_CORE_VERSION "ESP8266 core v3.0.0"
#warning USING_ESP8266_CORE_VERSION "3.0.0"
@@ -99,6 +103,10 @@
#define USING_ESP8266_CORE_VERSION 0
#define ESP8266_CORE_VERSION "ESP8266 core too old"
#warning USING_ESP8266_CORE_VERSION "0.0.0"
+#else
+ #define USING_ESP8266_CORE_VERSION 80808
+ #define ESP8266_CORE_VERSION "ESP8266 core too new"
+ #warning USING_ESP8266_CORE_VERSION "8.8.8"
#endif
//////////////////////////////////////////////
@@ -2252,12 +2260,18 @@ class BlynkWifi
}
//////////////////////////////////////
+
+#ifndef WIFI_MULTI_CONNECT_WAITING_MS
+ // For ESP8266, this better be 3000 to enable connect the 1st time
+ #define WIFI_MULTI_CONNECT_WAITING_MS 3000L
+#endif
+#ifndef WIFI_MULTI_CONNECT_WAITING_TIMES
+ #define WIFI_MULTI_CONNECT_WAITING_TIMES 10
+#endif
+
uint8_t connectMultiWiFi()
- {
- // For ESP8266, this better be 3000 to enable connect the 1st time
-#define WIFI_MULTI_CONNECT_WAITING_MS 3000L
-
+ {
uint8_t status;
BLYNK_LOG1(BLYNK_F("Connecting MultiWifi..."));
@@ -2269,7 +2283,7 @@ class BlynkWifi
status = wifiMulti.run();
delay(WIFI_MULTI_CONNECT_WAITING_MS);
- while ( ( i++ < 10 ) && ( status != WL_CONNECTED ) )
+ while ( ( i++ < WIFI_MULTI_CONNECT_WAITING_TIMES ) && ( status != WL_CONNECTED ) )
{
status = wifiMulti.run();
diff --git a/src/BlynkSimpleEsp8266_SSL_Async_WM.h b/src/BlynkSimpleEsp8266_SSL_Async_WM.h
index 1cf53f7..c436bde 100644
--- a/src/BlynkSimpleEsp8266_SSL_Async_WM.h
+++ b/src/BlynkSimpleEsp8266_SSL_Async_WM.h
@@ -17,7 +17,7 @@
@date Jan 2015
@brief
- Version: 1.6.0
+ Version: 1.6.1
Version Modified By Date Comments
------- ----------- ---------- -----------
@@ -34,6 +34,7 @@
1.4.1 K Hoang 24/04/2021 Fix issue of custom Blynk port (different from 8080 or 9443) not working on ESP32
1.5.0 K Hoang 25/04/2021 Enable scan of WiFi networks for selection in Configuration Portal
1.6.0 K Hoang 19/05/2021 Fix AP connect and SSL issues caused by breaking ESP8266 core v3.0.0
+ 1.6.1 K Hoang 15/07/2021 Add configurable connectMultiWiFi parameters. Update for ESP8266 core v3.0.1
********************************************************************************************************************************/
#pragma once
@@ -45,13 +46,16 @@
#error This code is intended to run on the ESP8266 platform! Please check your Tools->Board setting.
#endif
-#define BLYNK_ASYNC_WM_VERSION "Blynk_Async_WM SSL for ESP8266 v1.6.0"
+#define BLYNK_ASYNC_WM_VERSION "Blynk_Async_WM SSL for ESP8266 v1.6.1"
#include
/////////////////////////////////////////////
-#if (ARDUINO_ESP8266_GIT_VER == 0xefb0341a)
+#if (ARDUINO_ESP8266_GIT_VER == 0xcbf44fb3)
+ #define USING_ESP8266_CORE_VERSION 30001
+ #define ESP8266_CORE_VERSION "ESP8266 core v3.0.1"
+#elif (ARDUINO_ESP8266_GIT_VER == 0xefb0341a)
#define USING_ESP8266_CORE_VERSION 30000
#define ESP8266_CORE_VERSION "ESP8266 core v3.0.0"
#warning USING_ESP8266_CORE_VERSION "3.0.0"
@@ -99,6 +103,10 @@
#define USING_ESP8266_CORE_VERSION 0
#define ESP8266_CORE_VERSION "ESP8266 core too old"
#warning USING_ESP8266_CORE_VERSION "0.0.0"
+#else
+ #define USING_ESP8266_CORE_VERSION 80808
+ #define ESP8266_CORE_VERSION "ESP8266 core too new"
+ #warning USING_ESP8266_CORE_VERSION "8.8.8"
#endif
//////////////////////////////////////////////
@@ -2382,11 +2390,17 @@ class BlynkWifi
//////////////////////////////////////
+#ifndef WIFI_MULTI_CONNECT_WAITING_MS
+ // For ESP8266, this better be 3000 to enable connect the 1st time
+ #define WIFI_MULTI_CONNECT_WAITING_MS 3000L
+#endif
+
+#ifndef WIFI_MULTI_CONNECT_WAITING_TIMES
+ #define WIFI_MULTI_CONNECT_WAITING_TIMES 10
+#endif
+
uint8_t connectMultiWiFi()
{
- // For ESP8266, this better be 3000 to enable connect the 1st time
-#define WIFI_MULTI_CONNECT_WAITING_MS 3000L
-
uint8_t status;
BLYNK_LOG1(BLYNK_F("Connecting MultiWifi..."));
@@ -2398,7 +2412,7 @@ class BlynkWifi
status = wifiMulti.run();
delay(WIFI_MULTI_CONNECT_WAITING_MS);
- while ( ( i++ < 10 ) && ( status != WL_CONNECTED ) )
+ while ( ( i++ < WIFI_MULTI_CONNECT_WAITING_TIMES ) && ( status != WL_CONNECTED ) )
{
status = wifiMulti.run();