Revert "Merge branch 'enhance/AutoConnectAux' of https://github.com/Hieromon/AutoConnect into enhance/AutoConnectAux"

This reverts commit b3ef608cf5, reversing
changes made to d345f4e4c6.

	modified:   mkdocs.yml
	modified:   mkdocs/faq.md
	new file:   mkdocs/images/process_begin.svg
	modified:   mkdocs/index.md
	new file:   mkdocs/lsbegin.md
pull/41/head
Hieromon Ikasamo 5 years ago
parent b3ef608cf5
commit ccc9de58cd
  1. 14
      docs/404.html
  2. 14
      docs/acelements.html
  3. 14
      docs/achandling.html
  4. 14
      docs/acintro.html
  5. 14
      docs/acjson.html
  6. 14
      docs/advancedusage.html
  7. 14
      docs/api.html
  8. 14
      docs/apiaux.html
  9. 14
      docs/apiconfig.html
  10. 14
      docs/apielements.html
  11. 14
      docs/apiextra.html
  12. 14
      docs/basicusage.html
  13. 14
      docs/changelog.html
  14. 14
      docs/datatips.html
  15. 80
      docs/faq.html
  16. 14
      docs/gettingstarted.html
  17. 14
      docs/howtoembed.html
  18. 1106
      docs/images/process_begin.svg
  19. 14
      docs/index.html
  20. 14
      docs/license.html
  21. 859
      docs/lsbegin.html
  22. 14
      docs/menu.html
  23. 14
      docs/menuize.html
  24. 2
      docs/search/search_index.json
  25. 47
      docs/sitemap.xml
  26. BIN
      docs/sitemap.xml.gz
  27. 18
      docs/wojson.html
  28. 1
      mkdocs.yml
  29. 52
      mkdocs/faq.md
  30. 1106
      mkdocs/images/process_begin.svg
  31. 1
      mkdocs/index.md
  32. 20
      mkdocs/lsbegin.md

@ -276,6 +276,8 @@
</ul>
</div>
</nav>
@ -614,6 +616,18 @@
<li class="md-nav__item">
<a href="/AutoConnect/lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="/AutoConnect/faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -1062,6 +1064,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -801,6 +803,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -700,6 +702,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -816,6 +818,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -282,6 +282,8 @@
</ul>
</div>
</nav>
@ -820,6 +822,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -809,6 +811,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -761,6 +763,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -859,6 +861,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -1348,6 +1350,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -658,6 +660,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -282,6 +282,8 @@
</ul>
</div>
</nav>
@ -749,6 +751,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -282,6 +282,8 @@
</ul>
</div>
</nav>
@ -620,6 +622,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -740,6 +742,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -282,6 +282,8 @@
</ul>
</div>
</nav>
@ -619,6 +621,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
@ -658,8 +672,8 @@
</li>
<li class="md-nav__item">
<a href="#connection-refused-with-the-captive-portal-after-established" title=" Connection refused with the captive portal after established." class="md-nav__link">
Connection refused with the captive portal after established.
<a href="#lost-connection-with-the-captive-portal-after-ap-established" title=" Lost connection with the captive portal after AP established." class="md-nav__link">
Lost connection with the captive portal after AP established.
</a>
</li>
@ -917,8 +931,8 @@
</li>
<li class="md-nav__item">
<a href="#connection-refused-with-the-captive-portal-after-established" title=" Connection refused with the captive portal after established." class="md-nav__link">
Connection refused with the captive portal after established.
<a href="#lost-connection-with-the-captive-portal-after-ap-established" title=" Lost connection with the captive portal after AP established." class="md-nav__link">
Lost connection with the captive portal after AP established.
</a>
</li>
@ -1133,15 +1147,20 @@ For AutoConnect menus to work properly, call <a href="api.html#handlerequest"><e
<p>See also the explanation <a href="basicusage.html#esp8266webserver-hosted-or-parasitic">here</a>.</p>
<h2 id="an-esp8266ap-as-softap-was-connected-but-captive-portal-does-not-start"><i class="fa fa-question-circle"></i> An esp8266ap as SoftAP was connected but Captive portal does not start.<a class="headerlink" href="#an-esp8266ap-as-softap-was-connected-but-captive-portal-does-not-start" title="Permanent link">&para;</a></h2>
<p>Captive portal detection could not be trapped. It is necessary to disconnect and reset ESP8266 to clear memorized connection data in ESP8266. Also, It may be displayed on the smartphone if the connection information of esp8266ap is wrong. In that case, delete the connection information of esp8266ap memorized by the smartphone once.</p>
<h2 id="connection-refused-with-the-captive-portal-after-established"><i class="fa fa-question-circle"></i> Connection refused with the captive portal after established.<a class="headerlink" href="#connection-refused-with-the-captive-portal-after-established" title="Permanent link">&para;</a></h2>
<p>This is a known issue with ESP32 and may occur when the following conditions are satisfied at the same time:</p>
<h2 id="lost-connection-with-the-captive-portal-after-ap-established"><i class="fa fa-question-circle"></i> Lost connection with the captive portal after AP established.<a class="headerlink" href="#lost-connection-with-the-captive-portal-after-ap-established" title="Permanent link">&para;</a></h2>
<p>A captive portal is disconnected immediately after the connection establishes with the new AP. This is a known problem of ESP32, and it may occur if the following conditions are satisfied at the same time.</p>
<ul>
<li>SoftAP channel on ESP32 and the connecting AP channel you specified are different.</li>
<li>Never connected to the AP in the past, or NVS had erased by erase_flash causes the connection data lost.</li>
<li>SoftAP channel on ESP32 and the connecting AP channel you specified are different. (The default channel of SoftAP is 1.)</li>
<li>NVS had erased by erase_flash causes the connection data lost. The NVS partition has been moved. Never connected to the AP in the past.</li>
<li>There are receivable multiple WiFi signals which are the same SSID with different channels using the WiFi repeater etc. (This condition is loose, it may occur even if there is no WiFi repeater.)</li>
<li>Or the using channel of the AP which established a connection is congested with the radio signal of the same band. (If the channel crowd, connections to known APs may also fail.)</li>
</ul>
<div class="admonition info">
<p class="admonition-title">Other possibilities</p>
<p>The above conditions are not absolute. It results from my investigation, and other conditions may exist.</p>
</div>
<p>To avoid this problem, try <a href="#1-change-wifi-channel">changing the channel</a>.</p>
<p>ESP32 hardware equips only one channel for WiFi signal to carry. At the AP_STA mode, if ESP32 as an AP will connect to another AP on another channel while maintaining the connection with the station, the channel switching will occur and the station may be disconnected. But it may not be just a matter of channel switching causes ESP8266 has the same constraints too. It may be a problem with AutoConnect or the arduino core or SDK issue. Unfortunately, I have not found a solution yet. However, I am continuing trial and error to solve this problem and will resolve in due course.</p>
<p>ESP32 hardware equips only one RF circuitry for WiFi signal. At the AP_STA mode, ESP32 as an AP attempts connect to another AP on another channel while keeping the connection with the station then the channel switching will occur causes the station may be disconnected. But it may not be just a matter of channel switching causes ESP8266 has the same constraints too. It may be a problem with AutoConnect or the arduino core or SDK issue. This problem will persist until a specific solution.</p>
<h2 id="does-not-appear-esp8266ap-in-smartphone"><i class="fa fa-question-circle"></i> Does not appear esp8266ap in smartphone.<a class="headerlink" href="#does-not-appear-esp8266ap-in-smartphone" title="Permanent link">&para;</a></h2>
<p>Maybe it is successfully connected at the <strong>first WiFi.begin</strong>. ESP8266 remembers the last SSID successfully connected and will use at the next. It means SoftAP will only start up when the first <em>WiFi.begin()</em> fails.</p>
<p>The saved SSID would be cleared by <em>WiFi.disconnect()</em> with WIFI_STA mode. If you do not want automatic reconnection, you can erase the memorized SSID with the following simple sketch.</p>
@ -1342,7 +1361,19 @@ wdt reset
<h2 id="autoconnect-behaves-not-stable-with-my-sketch-yet"><i class="fa fa-question-circle"></i> AutoConnect behaves not stable with my sketch yet.<a class="headerlink" href="#autoconnect-behaves-not-stable-with-my-sketch-yet" title="Permanent link">&para;</a></h2>
<p>If AutoConnect behavior is not stable with your sketch, you can try the following measures.</p>
<h3 id="1-change-wifi-channel">1. Change WiFi channel<a class="headerlink" href="#1-change-wifi-channel" title="Permanent link">&para;</a></h3>
<p>Both ESP8266 and ESP32 can only work on one channel at any given moment. This will cause your station to lose connectivity on the channel hosting the captive portal. If the channel of the AP which you want to connect is different from the SoftAP channel, the operation of the captive portal will not respond with the screen of the AutoConnect connection attempt remains displayed. In such a case, please try the <a href="apiconfig.html#autoconnectconfig">AutoConnectConfig</a> to match the <a href="apiconfig.html#channel">channel</a> to the access point.</p>
<p>Both ESP8266 and ESP32 can only work on one channel at any given moment. This will cause your station to lose connectivity on the channel hosting the captive portal. If the channel of the AP which you want to connect is different from the SoftAP channel, the operation of the captive portal will not respond with the screen of the AutoConnect connection attempt remains displayed. In such a case, please try to configure the <a href="apiconfig.html#channel">channel</a> with <a href="apiconfig.html#autoconnectconfig">AutoConnectConfig</a> to match the access point.</p>
<div class="codehilite" style="background: #272822"><pre style="line-height: 125%"><span></span><span style="color: #f8f8f2">AutoConnect</span> <span style="color: #f8f8f2">portal;</span>
<span style="color: #f8f8f2">AutoConnectConfig</span> <span style="color: #f8f8f2">config;</span>
<span style="color: #f8f8f2">config.channel</span> <span style="color: #f92672">=</span> <span style="color: #ae81ff">3</span><span style="color: #f8f8f2">;</span> <span style="color: #75715e">// Specifies a channel number that matches the AP</span>
<span style="color: #f8f8f2">portal.config(config);</span> <span style="color: #75715e">// Apply channel configurration</span>
<span style="color: #f8f8f2">portal.begin();</span> <span style="color: #75715e">// Start the portal</span>
</pre></div>
<div class="admonition info">
<p class="admonition-title">Channel selection guide</p>
<p>Espressif Systems has released a <a href="https://www.espressif.com/sites/default/files/esp8266_wi-fi_channel_selection_guidelines.pdf">channel selection guide</a>.</p>
</div>
<h3 id="2-change-arduino-core-version">2. Change arduino core version<a class="headerlink" href="#2-change-arduino-core-version" title="Permanent link">&para;</a></h3>
<p>I recommend change installed an arduino core version to the upstream when your sketch is not stable with AutoConnect on each board.</p>
<h4 id="with-esp8266-arduino-core">with ESP8266 arduino core<a class="headerlink" href="#with-esp8266-arduino-core" title="Permanent link">&para;</a></h4>
@ -1361,16 +1392,18 @@ wdt reset
</pre></div>
<h3 id="4-reports-the-issue-to-autoconnect-repository-on-github">4. Reports the issue to AutoConnect repository on Github<a class="headerlink" href="#4-reports-the-issue-to-autoconnect-repository-on-github" title="Permanent link">&para;</a></h3>
<p>If you can not solve AutoConnect problems please report to <a href="https://github.com/Hieromon/AutoConnect/issues">Issues</a>. And please make your question comprehensively, not a statement. Include all relevant information to start the problem diagnostics as follows:</p>
<p>If you can not solve AutoConnect problems please report to <a href="https://github.com/Hieromon/AutoConnect/issues">Issues</a>. And please make your question comprehensively, not a statement. Include all relevant information to start the problem diagnostics as follows:<sup id="fnref:3"><a class="footnote-ref" href="#fn:3" rel="footnote">3</a></sup></p>
<ul class="task-list">
<li class="task-list-item"><input type="checkbox" disabled checked/> Hardware module</li>
<li class="task-list-item"><input type="checkbox" disabled checked/> Arduino core version (Including the upstream tag ID.)</li>
<li class="task-list-item"><input type="checkbox" disabled checked/> Operating System which you use</li>
<li class="task-list-item"><input type="checkbox" disabled checked/> lwIP variant</li>
<li class="task-list-item"><input type="checkbox" disabled checked/> Problem description</li>
<li class="task-list-item"><input type="checkbox" disabled checked/> If you have a STACK DUMP decoded result with formatted by the code block tag</li>
<li class="task-list-item"><input type="checkbox" disabled checked/> The sketch code with formatted by the code block tag (Reduce to the reproducible minimum code for the problem)</li>
<li class="task-list-item"><input type="checkbox" disabled checked/> Debug messages output</li>
<li class="task-list-item"><input type="checkbox" disabled/> Hardware module</li>
<li class="task-list-item"><input type="checkbox" disabled/> Arduino core version Including the upstream commit ID (It is necessary)</li>
<li class="task-list-item"><input type="checkbox" disabled/> Operating System which you use</li>
<li class="task-list-item"><input type="checkbox" disabled/> Your smartphone OS and version if necessary (Especially Android)</li>
<li class="task-list-item"><input type="checkbox" disabled/> Your AP information (IP, channel) if related</li>
<li class="task-list-item"><input type="checkbox" disabled/> lwIP variant</li>
<li class="task-list-item"><input type="checkbox" disabled/> Problem description</li>
<li class="task-list-item"><input type="checkbox" disabled/> If you have a STACK DUMP decoded result with formatted by the code block tag</li>
<li class="task-list-item"><input type="checkbox" disabled/> The sketch code with formatted by the code block tag (Reduce to the reproducible minimum code for the problem)</li>
<li class="task-list-item"><input type="checkbox" disabled/> Debug messages output (Including arduino core)</li>
</ul>
<div class="footnote">
<hr />
@ -1379,7 +1412,10 @@ wdt reset
<p>There may be 0xff as an invalid data in the credential saving area. The 0xff area would be reused.&#160;<a class="footnote-backref" href="#fnref:1" rev="footnote" title="Jump back to footnote 1 in the text">&#8617;</a></p>
</li>
<li id="fn:2">
<p><code>PageBuilder.h</code> file exists in the <code>libraries/PageBuilder/src</code> directory under your sketch folder.&#160;<a class="footnote-backref" href="#fnref:2" rev="footnote" title="Jump back to footnote 2 in the text">&#8617;</a></p>
<p><code>PageBuilder.h</code> exists in the <code>libraries/PageBuilder/src</code> directory under your sketch folder.&#160;<a class="footnote-backref" href="#fnref:2" rev="footnote" title="Jump back to footnote 2 in the text">&#8617;</a></p>
</li>
<li id="fn:3">
<p>Without this information, the reproducibility of the problem is reduced, making diagnosis and analysis difficult.&#160;<a class="footnote-backref" href="#fnref:3" rev="footnote" title="Jump back to footnote 3 in the text">&#8617;</a></p>
</li>
</ol>
</div>
@ -1403,7 +1439,7 @@ wdt reset
<div class="md-footer-nav">
<nav class="md-footer-nav__inner md-grid">
<a href="wojson.html" title="Custom Web pages w/o JSON" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
<a href="lsbegin.html" title="Appendix" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
</div>
@ -1412,7 +1448,7 @@ wdt reset
<span class="md-footer-nav__direction">
Previous
</span>
Custom Web pages w/o JSON
Appendix
</span>
</div>
</a>

@ -282,6 +282,8 @@
</ul>
</div>
</nav>
@ -688,6 +690,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -753,6 +755,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 56 KiB

@ -282,6 +282,8 @@
</ul>
</div>
</nav>
@ -753,6 +755,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -278,6 +278,8 @@
</ul>
</div>
</nav>
@ -616,6 +618,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -0,0 +1,859 @@
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="description" content="ESP8266/ESP32 WLAN configuration at run time with web interface">
<link rel="canonical" href="https://Hieromon.github.io/AutoConnect/lsbegin.html">
<meta name="author" content="Hieromon Ikasamo">
<meta name="lang:clipboard.copy" content="Copy to clipboard">
<meta name="lang:clipboard.copied" content="Copied to clipboard">
<meta name="lang:search.language" content="en">
<meta name="lang:search.pipeline.stopwords" content="True">
<meta name="lang:search.pipeline.trimmer" content="True">
<meta name="lang:search.result.none" content="No matching documents">
<meta name="lang:search.result.one" content="1 matching document">
<meta name="lang:search.result.other" content="# matching documents">
<meta name="lang:search.tokenizer" content="[\s\-]+">
<link rel="shortcut icon" href="assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-3.3.0">
<title>Appendix - AutoConnect for ESP8266/ESP32</title>
<link rel="stylesheet" href="assets/stylesheets/application.572ca0f0.css">
<link rel="stylesheet" href="assets/stylesheets/application-palette.22915126.css">
<meta name="theme-color" content="#3f51b5">
<script src="assets/javascripts/modernizr.962652e9.js"></script>
<link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
<style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
<link rel="stylesheet" href="assets/fonts/material-icons.css">
<link rel="stylesheet" href="css/paragraph.css">
<link rel="stylesheet" href="css/extra.css">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css">
<script async src="https://www.googletagmanager.com/gtag/js?id=None"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","None")</script>
</head>
<body dir="ltr" data-md-color-primary="indigo" data-md-color-accent="indigo">
<svg class="md-svg">
<defs>
<svg xmlns="http://www.w3.org/2000/svg" width="416" height="448"
viewBox="0 0 416 448" id="__github">
<path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19-18.125
8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19 18.125-8.5
18.125 8.5 10.75 19 3.125 20.5zM320 304q0 10-3.125 20.5t-10.75
19-18.125 8.5-18.125-8.5-10.75-19-3.125-20.5 3.125-20.5 10.75-19
18.125-8.5 18.125 8.5 10.75 19 3.125 20.5zM360
304q0-30-17.25-51t-46.75-21q-10.25 0-48.75 5.25-17.75 2.75-39.25
2.75t-39.25-2.75q-38-5.25-48.75-5.25-29.5 0-46.75 21t-17.25 51q0 22 8
38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0
37.25-1.75t35-7.375 30.5-15 20.25-25.75 8-38.375zM416 260q0 51.75-15.25
82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5-41.75
1.125q-19.5 0-35.5-0.75t-36.875-3.125-38.125-7.5-34.25-12.875-30.25-20.25-21.5-28.75q-15.5-30.75-15.5-82.75
0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25
30.875q36.75-8.75 77.25-8.75 37 0 70 8 26.25-20.5
46.75-30.25t47.25-9.75q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34
99.5z" />
</svg>
</defs>
</svg>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
<a href="#autocoonnectbegin-logic-sequence" tabindex="1" class="md-skip">
Skip to content
</a>
<header class="md-header" data-md-component="header">
<nav class="md-header-nav md-grid">
<div class="md-flex">
<div class="md-flex__cell md-flex__cell--shrink">
<a href="https://Hieromon.github.io/AutoConnect/" title="AutoConnect for ESP8266/ESP32" class="md-header-nav__button md-logo">
<img src="images/arduino-logo.svg" width="24" height="24">
</a>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
</div>
<div class="md-flex__cell md-flex__cell--stretch">
<div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
<span class="md-header-nav__topic">
AutoConnect for ESP8266/ESP32
</span>
<span class="md-header-nav__topic">
Appendix
</span>
</div>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
<label class="md-icon md-search__icon" for="__search"></label>
<button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
&#xE5CD;
</button>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="result">
<div class="md-search-result__meta">
Type to start searching
</div>
<ol class="md-search-result__list"></ol>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<div class="md-header-nav__source">
<a href="https://github.com/Hieromon/AutoConnect" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg viewBox="0 0 24 24" width="24" height="24">
<use xlink:href="#__github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
Hieromon/AutoConnect
</div>
</a>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container">
<nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="index.html" title="Overview" class="md-tabs__link md-tabs__link--active">
Overview
</a>
</li>
<li class="md-tabs__item">
<a href="acintro.html" title="Custom Web pages" class="md-tabs__link">
Custom Web pages
</a>
</li>
<li class="md-tabs__item">
<a href="api.html" title="Library APIs" class="md-tabs__link">
Library APIs
</a>
</li>
<li class="md-tabs__item">
<a href="howtoembed.html" title="Examples" class="md-tabs__link">
Examples
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main">
<div class="md-main__inner md-grid" data-md-component="container">
<div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="https://Hieromon.github.io/AutoConnect/" title="AutoConnect for ESP8266/ESP32" class="md-nav__button md-logo">
<img src="images/arduino-logo.svg" width="48" height="48">
</a>
AutoConnect for ESP8266/ESP32
</label>
<div class="md-nav__source">
<a href="https://github.com/Hieromon/AutoConnect" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg viewBox="0 0 24 24" width="24" height="24">
<use xlink:href="#__github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
Hieromon/AutoConnect
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="index.html" title="Overview" class="md-nav__link">
Overview
</a>
</li>
<li class="md-nav__item">
<a href="gettingstarted.html" title="Getting started" class="md-nav__link">
Getting started
</a>
</li>
<li class="md-nav__item">
<a href="menu.html" title="AutoConnect menu" class="md-nav__link">
AutoConnect menu
</a>
</li>
<li class="md-nav__item">
<a href="basicusage.html" title="Basic usage" class="md-nav__link">
Basic usage
</a>
</li>
<li class="md-nav__item">
<a href="advancedusage.html" title="Advanced usage" class="md-nav__link">
Advanced usage
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
<label class="md-nav__link" for="nav-6">
Custom Web pages
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-6">
Custom Web pages
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="acintro.html" title="Custom Web pages with AutoConnect" class="md-nav__link">
Custom Web pages with AutoConnect
</a>
</li>
<li class="md-nav__item">
<a href="acelements.html" title="AutoConnectElements" class="md-nav__link">
AutoConnectElements
</a>
</li>
<li class="md-nav__item">
<a href="acjson.html" title="Custom Web pages with JSON" class="md-nav__link">
Custom Web pages with JSON
</a>
</li>
<li class="md-nav__item">
<a href="achandling.html" title="Handling the custom Web pages" class="md-nav__link">
Handling the custom Web pages
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
<label class="md-nav__link" for="nav-7">
Library APIs
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-7">
Library APIs
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="api.html" title="AutoConnect API" class="md-nav__link">
AutoConnect API
</a>
</li>
<li class="md-nav__item">
<a href="apiaux.html" title="AutoConnectAux API" class="md-nav__link">
AutoConnectAux API
</a>
</li>
<li class="md-nav__item">
<a href="apiconfig.html" title="AutoConnectConfig API" class="md-nav__link">
AutoConnectConfig API
</a>
</li>
<li class="md-nav__item">
<a href="apielements.html" title="AutoConnectElements API" class="md-nav__link">
AutoConnectElements API
</a>
</li>
<li class="md-nav__item">
<a href="apiextra.html" title="Something extra" class="md-nav__link">
Something extra
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
<label class="md-nav__link" for="nav-8">
Examples
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-8">
Examples
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="howtoembed.html" title="How to embed" class="md-nav__link">
How to embed
</a>
</li>
<li class="md-nav__item">
<a href="datatips.html" title="Tips for data conversion" class="md-nav__link">
Tips for data conversion
</a>
</li>
<li class="md-nav__item">
<a href="menuize.html" title="Attach the menu" class="md-nav__link">
Attach the menu
</a>
</li>
<li class="md-nav__item">
<a href="wojson.html" title="Custom Web pages w/o JSON" class="md-nav__link">
Custom Web pages w/o JSON
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
Appendix
</label>
<a href="lsbegin.html" title="Appendix" class="md-nav__link md-nav__link--active">
Appendix
</a>
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="__toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#autocoonnectbegin-logic-sequence" title="AutoCoonnect::begin logic sequence" class="md-nav__link">
AutoCoonnect::begin logic sequence
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ
</a>
</li>
<li class="md-nav__item">
<a href="changelog.html" title="Change log" class="md-nav__link">
Change log
</a>
</li>
<li class="md-nav__item">
<a href="license.html" title="License" class="md-nav__link">
License
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="__toc">Table of contents</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#autocoonnectbegin-logic-sequence" title="AutoCoonnect::begin logic sequence" class="md-nav__link">
AutoCoonnect::begin logic sequence
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content">
<article class="md-content__inner md-typeset">
<h1>Appendix</h1>
<h2 id="autocoonnectbegin-logic-sequence">AutoCoonnect::begin logic sequence<a class="headerlink" href="#autocoonnectbegin-logic-sequence" title="Permanent link">&para;</a></h2>
<p>Several parameters of <a href="apiconfig.html">AutoConnectConfig</a> affect the behavior of <a href="api.html#begin">AutoConnect::begin</a> function. Each parameter affects the behaves in complicated order and apply the followings with the priority in the logic sequence of AutoConnect::begin.<sup id="fnref:1"><a class="footnote-ref" href="#fn:1" rel="footnote">1</a></sup></p>
<ul>
<li><a href="apiconfig.html#immediatestart">immediateStart</a> : The captive portal start immediately, without first WiFi.begin.</li>
<li><a href="apiconfig.html#autoreconnect">autoReconenct</a> : Attempt re-connect with past SSID by saved credential.</li>
<li><a href="apiconfig.html#portaltimeout">portalTimeout</a> : Time out limit for the portal.</li>
<li><a href="apiconfig.html#retainportal">retainPortal</a> : Keep DNS server functioning for the captive portal.</li>
</ul>
<p>You can use these parameters in combination with your sketch requirements. To make your sketch work as you intended, you need to understand the behavior caused by the parameter correctly. The chart below shows those parameters which are embedded in the AutoConnect::begin logic sequence.</p>
<p>For example, AutoConnect::begin will not exits without the portalTimeout while the connection not establishes, but WebServer will start to work. So, your sketch may work seemingly, but it will close with inside a loop of the AutoConnect::begin function. Especially when invoking AutoConnect::begin in the <strong>setup()</strong>, execution control does not pass to the <strong>loop()</strong>.</p>
<p>As different scenes, you may use the immediateStart effectively. Equipped the external switch to activate the captive portal with the ESP module, combined with the portalTime and the retainPortal it will become WiFi active connection feature. You can start AutoConnect::begin at any point in the <strong>loop()</strong>, which allows your sketch can behave both the offline mode and the online mode.</p>
<p>Please consider these kinds of influence when you make sketches.</p>
<p><img align="center" src="images/process_begin.svg"></p>
<div class="footnote">
<hr />
<ol>
<li id="fn:1">
<p>Another parameter as the <a href="api.html#begin">3<sup>rd</sup> parameter</a> of AutoConnect::begin related to timeout constrains the connection wait time after WiFi.begin. It is the <strong>CONNECTED</strong> judgment of the above chart that it has an effect.&#160;<a class="footnote-backref" href="#fnref:1" rev="footnote" title="Jump back to footnote 1 in the text">&#8617;</a></p>
</li>
</ol>
</div>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-nav">
<nav class="md-footer-nav__inner md-grid">
<a href="wojson.html" title="Custom Web pages w/o JSON" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
</div>
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Previous
</span>
Custom Web pages w/o JSON
</span>
</div>
</a>
<a href="faq.html" title="FAQ" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Next
</span>
FAQ
</span>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
</div>
</a>
</nav>
</div>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-footer-copyright">
<div class="md-footer-copyright__highlight">
Copyright &copy; 2018-2019 Hieromon Ikasamo
</div>
powered by
<a href="https://www.mkdocs.org">MkDocs</a>
and
<a href="https://squidfunk.github.io/mkdocs-material/">
Material for MkDocs</a>
</div>
<div class="md-footer-social">
<link rel="stylesheet" href="assets/fonts/font-awesome.css">
<a href="https://github.com/Hieromon" class="md-footer-social__link fa fa-github"></a>
<a href="https://twitter.com/hieromon" class="md-footer-social__link fa fa-twitter"></a>
</div>
</div>
</div>
</footer>
</div>
<script src="assets/javascripts/application.a353778b.js"></script>
<script>app.initialize({version:"1.0.4",url:{base:"."}})</script>
<script src="js/gifffer.min.js"></script>
</body>
</html>

@ -282,6 +282,8 @@
</ul>
</div>
</nav>
@ -710,6 +712,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -672,6 +674,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ

File diff suppressed because one or more lines are too long

@ -2,107 +2,112 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://Hieromon.github.io/AutoConnect/index.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/gettingstarted.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/menu.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/basicusage.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/advancedusage.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/acintro.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/acelements.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/acjson.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/achandling.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/api.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/apiaux.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/apiconfig.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/apielements.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/apiextra.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/howtoembed.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/datatips.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/menuize.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/wojson.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/lsbegin.html</loc>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/faq.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/changelog.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://Hieromon.github.io/AutoConnect/license.html</loc>
<lastmod>2019-02-26</lastmod>
<lastmod>2019-02-27</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

Binary file not shown.

@ -284,6 +284,8 @@
</ul>
</div>
</nav>
@ -672,6 +674,18 @@
<li class="md-nav__item">
<a href="lsbegin.html" title="Appendix" class="md-nav__link">
Appendix
</a>
</li>
<li class="md-nav__item">
<a href="faq.html" title="FAQ" class="md-nav__link">
FAQ
@ -996,13 +1010,13 @@
</a>
<a href="faq.html" title="FAQ" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
<a href="lsbegin.html" title="Appendix" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span class="md-footer-nav__direction">
Next
</span>
FAQ
Appendix
</span>
</div>
<div class="md-flex__cell md-flex__cell--shrink">

@ -30,6 +30,7 @@ nav:
- 'Tips for data conversion': datatips.md
- 'Attach the menu': menuize.md
- 'Custom Web pages w/o JSON': wojson.md
- 'Appendix': lsbegin.md
- 'FAQ' : faq.md
- 'Change log' : changelog.md
- 'License' : license.md

@ -9,17 +9,21 @@ See also the explanation [here](basicusage.md#esp8266webserver-hosted-or-parasit
Captive portal detection could not be trapped. It is necessary to disconnect and reset ESP8266 to clear memorized connection data in ESP8266. Also, It may be displayed on the smartphone if the connection information of esp8266ap is wrong. In that case, delete the connection information of esp8266ap memorized by the smartphone once.
## <i class="fa fa-question-circle"></i> Connection refused with the captive portal after established.
## <i class="fa fa-question-circle"></i> Lost connection with the captive portal after AP established.
This is a known issue with ESP32 and may occur when the following conditions are satisfied at the same time:
A captive portal is disconnected immediately after the connection establishes with the new AP. This is a known problem of ESP32, and it may occur if the following conditions are satisfied at the same time.
- SoftAP channel on ESP32 and the connecting AP channel you specified are different.
- Never connected to the AP in the past, or NVS had erased by erase_flash causes the connection data lost.
- SoftAP channel on ESP32 and the connecting AP channel you specified are different. (The default channel of SoftAP is 1.)
- NVS had erased by erase_flash causes the connection data lost. The NVS partition has been moved. Never connected to the AP in the past.
- There are receivable multiple WiFi signals which are the same SSID with different channels using the WiFi repeater etc. (This condition is loose, it may occur even if there is no WiFi repeater.)
- Or the using channel of the AP which established a connection is congested with the radio signal of the same band. (If the channel crowd, connections to known APs may also fail.)
!!! info "Other possibilities"
The above conditions are not absolute. It results from my investigation, and other conditions may exist.
To avoid this problem, try [changing the channel](#1-change-wifi-channel).
ESP32 hardware equips only one channel for WiFi signal to carry. At the AP_STA mode, if ESP32 as an AP will connect to another AP on another channel while maintaining the connection with the station, the channel switching will occur and the station may be disconnected. But it may not be just a matter of channel switching causes ESP8266 has the same constraints too. It may be a problem with AutoConnect or the arduino core or SDK issue. Unfortunately, I have not found a solution yet. However, I am continuing trial and error to solve this problem and will resolve in due course.
ESP32 hardware equips only one RF circuitry for WiFi signal. At the AP_STA mode, ESP32 as an AP attempts connect to another AP on another channel while keeping the connection with the station then the channel switching will occur causes the station may be disconnected. But it may not be just a matter of channel switching causes ESP8266 has the same constraints too. It may be a problem with AutoConnect or the arduino core or SDK issue. This problem will persist until a specific solution.
## <i class="fa fa-question-circle"></i> Does not appear esp8266ap in smartphone.
@ -207,7 +211,19 @@ If AutoConnect behavior is not stable with your sketch, you can try the followin
### 1. Change WiFi channel
Both ESP8266 and ESP32 can only work on one channel at any given moment. This will cause your station to lose connectivity on the channel hosting the captive portal. If the channel of the AP which you want to connect is different from the SoftAP channel, the operation of the captive portal will not respond with the screen of the AutoConnect connection attempt remains displayed. In such a case, please try the [AutoConnectConfig](apiconfig.md#autoconnectconfig) to match the [channel](apiconfig.md#channel) to the access point.
Both ESP8266 and ESP32 can only work on one channel at any given moment. This will cause your station to lose connectivity on the channel hosting the captive portal. If the channel of the AP which you want to connect is different from the SoftAP channel, the operation of the captive portal will not respond with the screen of the AutoConnect connection attempt remains displayed. In such a case, please try to configure the [channel](apiconfig.md#channel) with [AutoConnectConfig](apiconfig.md#autoconnectconfig) to match the access point.
```cpp
AutoConnect portal;
AutoConnectConfig config;
config.channel = 3; // Specifies a channel number that matches the AP
portal.config(config); // Apply channel configurration
portal.begin(); // Start the portal
```
!!! info "Channel selection guide"
Espressif Systems has released a [channel selection guide](https://www.espressif.com/sites/default/files/esp8266_wi-fi_channel_selection_guidelines.pdf).
### 2. Change arduino core version
@ -239,17 +255,21 @@ To fully enable for the AutoConnect debug logging options, change the following
#define PB_DEBUG
```
[^2]: `PageBuilder.h` file exists in the `libraries/PageBuilder/src` directory under your sketch folder.
[^2]: `PageBuilder.h` exists in the `libraries/PageBuilder/src` directory under your sketch folder.
### 4. Reports the issue to AutoConnect repository on Github
If you can not solve AutoConnect problems please report to [Issues](https://github.com/Hieromon/AutoConnect/issues). And please make your question comprehensively, not a statement. Include all relevant information to start the problem diagnostics as follows:
If you can not solve AutoConnect problems please report to [Issues](https://github.com/Hieromon/AutoConnect/issues). And please make your question comprehensively, not a statement. Include all relevant information to start the problem diagnostics as follows:[^3]
* [ ] Hardware module
* [ ] Arduino core version Including the upstream commit ID (It is necessary)
* [ ] Operating System which you use
* [ ] Your smartphone OS and version if necessary (Especially Android)
* [ ] Your AP information (IP, channel) if related
* [ ] lwIP variant
* [ ] Problem description
* [ ] If you have a STACK DUMP decoded result with formatted by the code block tag
* [ ] The sketch code with formatted by the code block tag (Reduce to the reproducible minimum code for the problem)
* [ ] Debug messages output (Including arduino core)
* [x] Hardware module
* [x] Arduino core version (Including the upstream tag ID.)
* [x] Operating System which you use
* [x] lwIP variant
* [x] Problem description
* [x] If you have a STACK DUMP decoded result with formatted by the code block tag
* [x] The sketch code with formatted by the code block tag (Reduce to the reproducible minimum code for the problem)
* [x] Debug messages output
[^3]:Without this information, the reproducibility of the problem is reduced, making diagnosis and analysis difficult.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 56 KiB

@ -90,7 +90,6 @@ To install the PageBuilder library into your Arduino IDE, you can use the *Libra
<img src="images/lm.png" width="640"/>
<i class="fa fa-download"></i> <strong>Additional library (Optional)</strong>
By adding the [ArduinoJson](https://github.com/bblanchon/ArduinoJson) library, AutoConnect will be able to handle the [**custom Web pages**](acintro.md) described with JSON. With AutoConnect v0.9.7 you can insert user-owned web pages that can consist of representative HTML elements as styled TEXT, INPUT, BUTTON, CHECKBOX, SELECT, SUBMIT and invoke them from the AutoConnect menu. These HTML elements can be added by sketches using the AutoConnect API. Further it possible importing the custom Web pages declarations described with JSON which stored in PROGMEM, SPIFFS, or SD. [ArduinoJson version 5](https://arduinojson.org/v5/doc/) is required to use this feature.[^2]

@ -0,0 +1,20 @@
## AutoCoonnect::begin logic sequence
Several parameters of [AutoConnectConfig](apiconfig.md) affect the behavior of [AutoConnect::begin](api.md#begin) function. Each parameter affects the behaves in complicated order and apply the followings with the priority in the logic sequence of AutoConnect::begin.[^1]
[^1]:Another parameter as the [3rd parameter](api.md#begin) of AutoConnect::begin related to timeout constrains the connection wait time after WiFi.begin. It is the **CONNECTED** judgment of the above chart that it has an effect.
- [immediateStart](apiconfig.md#immediatestart) : The captive portal start immediately, without first WiFi.begin.
- [autoReconenct](apiconfig.md#autoreconnect) : Attempt re-connect with past SSID by saved credential.
- [portalTimeout](apiconfig.md#portaltimeout) : Time out limit for the portal.
- [retainPortal](apiconfig.md#retainportal) : Keep DNS server functioning for the captive portal.
You can use these parameters in combination with your sketch requirements. To make your sketch work as you intended, you need to understand the behavior caused by the parameter correctly. The chart below shows those parameters which are embedded in the AutoConnect::begin logic sequence.
For example, AutoConnect::begin will not exits without the portalTimeout while the connection not establishes, but WebServer will start to work. So, your sketch may work seemingly, but it will close with inside a loop of the AutoConnect::begin function. Especially when invoking AutoConnect::begin in the **setup()**, execution control does not pass to the **loop()**.
As different scenes, you may use the immediateStart effectively. Equipped the external switch to activate the captive portal with the ESP module, combined with the portalTime and the retainPortal it will become WiFi active connection feature. You can start AutoConnect::begin at any point in the **loop()**, which allows your sketch can behave both the offline mode and the online mode.
Please consider these kinds of influence when you make sketches.
<img align="center" src="images/process_begin.svg">
Loading…
Cancel
Save