BlynkEthernet Manager for ESP8266/ESP32, Teensy, SAM DUE, SAMD21, SAMD51, nRF52, RP2040 with Ethernet W5X00/ENC28J60 shields

This is the new library, adding to the current Blynk_WiFiManager. It’s designed to help you eliminate hardcoding your Blynk credentials in Mega/UNO/Nano boards using with Ethernet board (W5100, W5200, W5500, etc). It’s currently not supporting SSL because there is not enough memory in Mega, UNO, Nano boards. You can update Blynk Credentials any time you need to change via Configure Portal. Data are saved in configurable locations in EEPROM.

So, how it works?

If no valid config data are stored in EEPROM, it will switch to Configuration Mode. Connect to access point at the IP address displayed on Terminal or Router’s DHCP server as in the following picture:

Selection_1

After you connected to, for example, 192.168.2.86, the Browser will display the following picture:

Selection_2

Enter your credentials (Blynk Server and Port). If you prefer static IP, input it (for example 192.168.2.79) in the corresponding field. Otherwise, just leave it blank or nothing.

Selection_3

Then click Save. After the board auto-restarted, you will see if it’s connected to your Blynk server successfully as in the following picture:

Updated: Jan 17th 2020

BlynkEthernet_Manager libraries v1.0.4 just got included into Arduino Library Manager.
Now you can install this library directly from Arduino Library Manager.

Updated: Jan 18th 2020

Included in Platform.io

Update Jan 27th 2020

BlynkEthernet_Manager library version v1.0.5

New in Version v1.0.5

  1. Change Synch XMLHttpRequest to Async to avoid “InvalidAccessError” DOMException (https://xhr.spec.whatwg.org/) which prevents displaying Configuration Webpage in recent WebBrowers’ version.
  2. Reduce code size. Use dynamically allocated WebServer so that memory is only used when config portal is requested.
5 Likes

Update Feb 20th 2020

Releases v1.0.6


New in this version

  1. Support ENC28J60 Ethernet shields and other boards such as SAMD, Teensy
  2. Add checksum
  3. Add more examples for ENC28J60 Ethernet shields.

Update Feb 24th 2020

Releases v1.0.7

New in this version

  1. Add support to SAM DUE and SAMD boards
  2. Add clearConfigData() to enable resetting Config Data when necessary.
1 Like

Updated April 12th 2020

Releases v1.0.10

  1. New powerful-yet-simple-to-use feature to enable adding dynamic custom parameters from sketch and input using the same Config Portal. Config Portal will be auto-adjusted to match the number of dynamic parameters.
  2. Dynamic custom parameters to be saved automatically in EEPROM, DueFlashStorage or FlashStorage.
  3. Permit to input special chars such as % and # into data fields.
  4. MultiBlynk Servers and Tokens with Auto(Re)Connect feature
  5. Add examples, now total 21.

So, how it works?

If no valid config data are stored in EEPROM, it will switch to Configuration Mode. Connect to access point at the IP address displayed on Terminal or Router’s DHCP server as in the following picture:

After you connected to, for example, 192.168.2.86, the Browser will display the following picture:

or for Mega boards

Enter your credentials (Blynk Servers/Tokens and Port). If you prefer static IP, input it (for example 192.168.2.220) in the corresponding field. Otherwise, just leave it blank or nothing to use auto IP assigned by DHCP server.

or for Mega boards

Then click Save. After the board auto-restarted, you will see if it’s connected to your Blynk server successfully as in the following picture:

Update May 13th 2020

Many more releases since last update

Releases v1.0.15

  1. Update to use LittleFS for ESP8266 core 2.7.1+ to store Credentials and Dynamic Parameters’ data in addition to deprecated SPIFFS and EEPROM.
  2. Add support to several more W5x00 Ethernet libraries. Now Ethernet, Ethernet2, Ethernet3, EthernetLarge libraries are supported. W5100 is now re-supported.
  3. Fix bug.

Releases v1.0.14

  1. Add support to nRF52-based boards, , such as Adafruit’s NRF52840_FEATHER, NRF52832_FEATHER, NRF52840_FEATHER_SENSE, NRF52840_ITSYBITSY, NRF52840_CIRCUITPLAY, NRF52840_CLUE, NRF52840_METRO, NRF52840_PCA10056, PARTICLE_XENON, NINA_B302_ublox, etc. The Credentials and Dynamic Parameters’ data will be stored in LittleFS/InternalFS.

Thanks to Miguel Alexandre Wisintainer for initiating, inspriring, working with, developing, debugging and testing. Without that, support to nRF52 would have never been started and finished.

Releases v1.0.13

  1. Optional default Credentials as well as Dynamic parameters to be optionally autoloaded into Config Portal to use or change instead of manually input.
  2. DoubleDetectDetector feature to force Config Portal when double reset is detected within predetermined time, default 10s.
  3. Configurable Config Portal Title to be either HostName, BoardName or default undistinguishable names.
  4. Examples are redesigned to separate Credentials / Defines / Dynamic Params / Code so that you can change Credentials / Dynamic Params quickly for each device.

Thanks to thorathome in GitHub to test, suggest and encourage to add those new features to Blynk_WM, such as Default Credentials/Dynamic Params, Configurable Config Portal Title, DRD.

Releases v1.0.12

  1. Drop AVR Mega support because of not enough marginal memory.
  2. Add support to SAM51 (Itsy-Bitsy M4, Metro M4, Grand Central M4, Feather M4 Express, etc.).

Releases v1.0.11

  1. Fix potential dangerous bug in code and examples of v1.0.10.

Update July 26th 2020

Releases v1.0.17

  1. Fix bug and logic of USE_DEFAULT_CONFIG_DATA.
  2. Auto format SPIFFS/LittleFS for first time usage
  3. Add support to Seeeduino SAMD21/SAMD51 boards.
  4. Add examples for nRF52 boards.
  5. Sync with EthernetWebServer v.1.0.11

Releases v1.0.16

  1. Sync with EthernetWebServer v.1.0.9
  2. Use 25MHz for W5x00.
  3. Use EthernetWrapper feature of EthernetWebServer v.1.0.9.

Hey.
I use module 8266 (ESP-07). Software version 1.0.12 Wifi Manager…

[188] Hostname=8266-Master-Controller
[202] SaveCfgFile 
[202] WCSum=0x247b
[262] OK
[270] SaveBkUpCfgFile 
[321] OK
[330] SaveCredFile 
[380] OK
[380] CrWCSum=0x29a6
[389] SaveBkUpCredFile 
[440] OK
[440] Connecting MultiWifi...
[34017] WiFi not connected
[34017] bg: Fail2connect WiFi+Blynk
[36075] 
stConf:SSID=TestPortal-ESP8266,PW=TestPortalPass
[36076] IP=192.168.200.1,ch=7
F

After starting and opening the WEB, it does not save the settings … Why?

Updated Jan 13th 2021

Major Releases v1.1.0

  1. Add support to LittleFS for ESP32 using LITTLEFS Library
  2. Add support to NativeEthernet Library for Teensy 4.1
  3. Clean-up all compiler warnings possible.
  4. Optimize code
  5. Add Table of Contents
  6. Add examples for Teensy 4.1 NativeEthernet
  7. Add Version String

Releases v1.0.18

  1. Add support to new EthernetENC library for ENC28J60.
  2. Add more examples for ENC28J60 using EthernetENC library.

Updated May 17th 2021

Major Releases v1.3.0

  1. Add support to RP2040-based boards, such as RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040, using Earle Philhower’s arduino-pico core v1.4.0+ with LittleFS.
  2. Add support to ESP32-S2 (ESP32-S2 Saola and AI-Thinker ESP-12K)
  3. Add Instructions to install ESP32-S2 core
  4. Update examples with new features

Releases v1.2.1

  1. To permit autoreset after configurable timeout if DRD/MRD or non-persistent forced-CP. Check Good new feature: Blynk.resetAndEnterConfigPortal() Thanks & question #27

Major Releases v1.2.0

  1. Fix Config Portal Bug.
  2. Add functions to control Config Portal from software or Virtual Switches. Check How to trigger a Config Portal from code #25
  3. Use more efficient FlashStorage_SAMD v1.1.0.

The following is the sample terminal output when running example AM2315_W5500 on RASPBERRY_PI_PICO with W5x00 using EthernetLarge Library, using Earle Philhower’s arduino-pico core v1.4.0+ with LittleFS.

Start AM2315_W5500 on RASPBERRY_PI_PICO with W5x00 using EthernetLarge Library
BlynkEthernet_WM v1.3.0
[58816] LoadCfgFile 
[58821] OK
[58821] CCSum=0x25b4,RCSum=0x25b4
[58826] LoadCredFile 
[58827] OK
[58827] CrCCsum=0x14d1,CrRCsum=0x14d1
[58832] LoadCredFile 
[58832] OK
[58832] CrCCsum=0x14d1,CrRCsum=0x14d1
[58832] ======= Start Stored Config Data =======
[58833] Hdr=RP2040,BName=RP2040
[58833] Svr=account.duckdns.org,Tok=token
[58833] Svr1=account.ddns.net,Tok1=token1
[58833] Prt=8080,SIP=0
[58833] MAC:FE-C6-B0-96-FE-B9
_pinCS = 0
W5100 init, using SS_PIN_DEFAULT = 10, new ss_pin = 10, W5100Class::ss_pin = 17
W5100::init: W5500, SSIZE =8192
[62429] IP:192.168.2.129
[62435] LoadCPFile 
[62435] OK
[62436] bg:ECon.TryB
[62436] 
    ___  __          __
   / _ )/ /_ _____  / /__
  / _  / / // / _ \/  '_/
 /____/_/\_, /_//_/_/\_\
        /___/ v0.6.1 on Arduino

[62551] Ready (ping: 6ms).
[62618] Connected to Blynk Server = account.duckdns.org, Token = token
[62619] bg:EBCon
Conn2Blynk: server = account.duckdns.org, port = 8080
Token = token, IP = 192.168.2.129
B
Your stored Credentials :
MQTT Server = mqtt_server
Port = 1883
MQTT UserName = mqtt_user
MQTT PWD = mqtt_pass
Subs Topics = mqtt_Subs
Pubs Topics = mqtt_Pubs
BBBBBBBBB BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB BBBBBBBBBB
1 Like