From 070448db4e89d7a7db56b470ed401ffe6e7f52d6 Mon Sep 17 00:00:00 2001 From: Alex Tudorache Date: Tue, 8 Dec 2015 08:30:45 +0200 Subject: [PATCH] updated Readme --- README.md | 50 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index bd2b601..e42929c 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,40 @@ # WiFiManager -ESP8266 WiFi Connection manager with save to EEPROM and web config portal +ESP8266 WiFi Connection manager with fallback web configuration portal -Captive portal should also work, I have tested it only on iOS. +The configuration portal is of the captive variety, so on various devices it will present the configuration dialogue as soon as you connect to the created access point. -First attempt at a library. Lots more changes and fixes to do. Adding examples also needs doing. - -This works with the ESP8266 Arduino platform https://github.com/esp8266/Arduino - -> v0.1 works with the staging release ver. 1.6.5-1044-g170995a, built on Aug 10, 2015 of the ESP8266 Arduino library. - -> **v0.2 and newer need the latest staging version (or at least a recent release of the staging version) to work** +First attempt at a library. Lots more changes and fixes to do. Contributions are welcome. ## How It works - when your ESP starts up, it sets it up in Station mode and tries to connect to a previously saved Access Point - if this is unsuccessful (or no previous network saved) it moves the ESP into Access Point mode and spins up a DNS and WebServer (default ip 192.168.4.1) - using any wifi enabled device with a browser (computer, phone, tablet) connect to the newly created Access Point - because of the Captive Portal and the DNS server you will either get a 'Join to network' type of popup or get any domain you try to access redirected to the configuration portal -- choose one of the access points scanned, enter password, click save, ESP will reboot and retry the whole flow above +- choose one of the access points scanned, enter password, click save +- ESP will try to connect. If successful, it relinquishes control back to your app. If not, reconnect to AP and reconfigure. + +## Still left to do +- ~~remove dependency on EEPROM library~~ +- cleanup and streamline code +- add ability to configure more parameters than ssid/password +- maybe allow setting ip of ESP after reboot + +This works with the ESP8266 Arduino platform https://github.com/esp8266/Arduino + +## Releases +> +> **v0.2 and newer need the latest staging version (or at least a recent release of the staging version) to work** + +> v0.1 works with the staging release ver. 1.6.5-1044-g170995a, built on Aug 10, 2015 of the ESP8266 Arduino library. + ## Quick Start +- Make sure you have a recent *staging* package of the ESP8266 for Arduino IDE + - Checkout library to your Arduino libraries folder - Include in your sketch - -```Arduino +```cpp #include #include #include @@ -32,20 +43,19 @@ This works with the ESP8266 Arduino platform https://github.com/esp8266/Arduino ``` - Initialise library, in your setup function add -``` +```cpp //parameter is eeprom start WiFiManager wifi; ``` - Also in the setup function add -``` +```cpp //parameter is name of access point wifi.autoConnect("AP-NAME"); ``` or if you want to use and auto generated name from 'ESP' and the esp's Chip ID use -``` +```cpp wifi.autoConnect(); - ``` After you write your sketch and start the ESP, it will try to connect to WiFi. If it fails it starts in Access Point mode. @@ -55,7 +65,7 @@ Also see examples. ### Timeout If you need to set a timeout so the ESP doesn't hang waiting to be configured, for instance after a power failure, you can add -``` +```cpp wifi.setTimeout(180); ``` which will wait 3 minutes (180 seconds). When the time passes, the autoConnect function will return, no matter the outcome. @@ -63,18 +73,18 @@ Check for connection and if it's still not established do whatever is needed (on ### Debug Debug is enabled by default on Serial. To disable add before autoConnect -``` +```cpp wifi.setDebugOutput(false); ``` ### Custom IP Configuration This will set your captive portal to a specific IP should you need/want such a feature. Add the following snippet before `autoConnect()` -``` +```cpp //set custom ip for portal wifi.setAPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0)); ``` -####Inspiration +#### Inspiration - http://www.esp8266.com/viewtopic.php?f=29&t=2520 To be continued...