Hieromon / AutoConnect

An Arduino library for ESP8266/ESP32 WLAN configuration at runtime with the Web interface
https://hieromon.github.io/AutoConnect/
MIT License
889 stars 185 forks source link
arduino-library esp32 esp32-arduino esp8266 esp8266-arduino menu wifi-configuration

AutoConnect for ESP8266/ESP32

GitHub release Build Status arduino-library-badge PlatformIO Registry License

An Arduino library for ESP8266/ESP32 WLAN configuration at run time with web interface.

Overview

To the dynamic configuration for joining to WLAN with SSID and PSK accordingly. It an Arduino library united with ESP8266WebServer class of ESP8266 or WebServer class of ESP32. Easily implementing the Web interface constituting the WLAN for ESP8266/ESP32 WiFi connection. With this library to make a sketch easily which connects from ESP8266/ESP32 to the access point at runtime by the web interface without hard-coded SSID and password.

Overview   Captiveportal

No need pre-coded SSID & password

It is no needed hard-coding in advance the SSID and Password into the sketch to connect between ESP8266/ESP32 and WLAN. You can input SSID & Password from a smartphone via the web interface at runtime.

Simple usage

AutoConnect control screen will be displayed automatically for establishing new connections. It aids by the captive portal when vested the connection cannot be detected.
By using the AutoConnect menu, to manage the connections convenient.

Store the established connection

The connection authentication data as credentials are saved automatically in EEPROM of ESP8266/ESP32 and You can select the past SSID from the AutoConnect menu.

Easy to embed in

AutoConnect can be embedded easily into your sketch, just "begin" and "handleClient".

Lives with the your sketches

The sketches which provide the web page using ESP8266WebServer/WebServer there is, AutoConnect will not disturb it. AutoConnect can use an already instantiated ESP8266WebServer object(ESP8266) or WebServer object(ESP32), or itself can assign it.

Easily add user-owned web screen and parameters ENHANCED w/ v0.9.7

You can easily add your own web screen that can consist of representative HTML elements as the styled TEXT, INPUT, BUTTON, CHECKBOX, RADIO, SELECT, SUBMIT into the menu. It can be invoked from the AutoConnect menu and parameters can be passed.

Just loading the JSON description ENHANCED w/ v0.9.7

These HTML elements that make up the user-owned screen can be easily loaded from the JSON description stored in PROGMEM, SPIFFS or SD.

Quick and easy to equip the OTA update feature ENHANCED w/ v1.0.0

You can quickly and easily equip the OTA update feature to your sketch and also you can operate the firmware update process via OTA from AutoConnect menu.

Supported hardware

Apply the Arduino core of the ESP8266 Community.

Alter the platform applying the arduino-esp32 for the ESP32 modules.

Simple usage

The AutoConnect menu

 <img src="mkdocs/images/confignew.png" width="200"> 

How embed the AutoConnect to the sketches you have

Most simple approach to applying AutoConnect for the existing sketches, follow the below steps.

More usages and Documentation

Full documentation is available on https://Hieromon.github.io/AutoConnect, some quick links at the list:

Change log

[1.4.2] Jan. 31, 2023

[1.4.1] Jan. 5, 2023

[1.4.0] Nov. 20, 2022

[1.3.7] Aug. 20, 2022

[1.3.6] Jul. 26, 2022

[1.3.5] Jun. 03, 2022

[1.3.4] Mar. 02, 2022

Breaking changes:

[1.3.3] Jan. 25, 2022

[1.3.2] Jan. 1, 2022

[1.3.1] Oct. 09, 2021

[1.3.0] Sep. 25, 2021

Important Notes:
  1. Upgraded Arduino core 2.0.0 for ESP32 will increase the compiled sketch binary size. Your sketch may not fit in the flash and may occur an error during the linkage phase.
    In ESP32 Arduino core 2.0.0, the default maximum sketch binary size is 1280 KB, an area of the same size is reserved for OTA. 1472 KB is added as a file system area to this. You can change this partition definition at will with Arduino IDE for each build. You can also reallocate the SPIFFS area to the sketch binary if the sketch does not require a large file. Select menu Tool > Partition Scheme, you will be able to find a partition scheme that fits your sketch. Also, in the PlatformIO environment, it can be changed by adding the board_build.partitions directive to the platformio.ini file. See FAQ of Documentation for details.
  2. When building a sketch in the PlatformIO environment, a compile error may appear that says: File system header file not found. This error can be avoided by setting the library search mode to the deep in with the platformio.ini file. See FAQ of Documentation for details.

[1.2.3] Jan. 3, 2021

Since AutoConnect v1.2.3, PageBuilder v1.5.0 or later is required. Please update PageBuilder latest.

[1.2.2] Dec. 13, 2020

[1.2.1] Dec. 5, 2020

[1.2.0] Dec. 3, 2020

[1.1.7] Apr. 19, 2020

[1.1.6] Apr. 17, 2020

[1.1.5] Apr. 15, 2020

[1.1.4] Feb. 14, 2020

[1.1.3] Jan. 1, 2020

[1.1.2] Oct. 22, 2019

[1.1.1] Oct. 17, 2019

[1.1.0] Oct. 15, 2019

[1.0.3] Sept. 30, 2019

[1.0.2] Sept. 19, 2019

[1.0.1] Sept. 13, 2019

[1.0.0] Sept. 7, 2019

[0.9.12] Aug. 18, 2019

[0.9.11] July 13, 2019

[0.9.10] June 12, 2019

[0.9.9] May 25, 2019

[0.9.8] May 3, 2019

[0.9.7] Feb. 25, 2019

[0.9.6] Sept. 27, 2018

[0.9.5] Aug. 27, 2018

[0.9.4] May 5, 2018.

[0.9.3] March 23, 2018.

[0.9.2] March 19, 2018.

[0.9.1] March 13, 2018.

License

License under the MIT license.