{"id":9475,"date":"2023-09-20T20:28:09","date_gmt":"2023-09-20T20:28:09","guid":{"rendered":"https:\/\/www.fambach.net\/?p=9475"},"modified":"2023-09-22T09:22:42","modified_gmt":"2023-09-22T09:22:42","slug":"esp8266-32-wifi-manager","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/esp8266-32-wifi-manager\/","title":{"rendered":"ESP8266\/32 WiFi Manager."},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Contents\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Grundsatzliches\" >Grunds&auml;tzliches<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Task_Erstellen\" >Create Task<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Synchronisation\" >Synchronisation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Queues\" >Queues<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Semaphoren\" >Traffic lights<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Event_Groups\" >Event Groups<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Stream_Buffer\" >Stream Buffer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Message_Buffer\" >Message Buffer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Hooks\" >Hooks<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#FreeRtos_Implementierung\" >FreeRTOS Implementation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#IDF_Implementierung\" >IDF Implementation<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Ringbuffer\" >Ring buffer<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Fazit\" >Conclusion<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Verwandte_Beitrage\" >Verwandte Beitr&auml;ge<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Quellen\" >Sources<\/a><\/li><\/ul><\/nav><\/div>\n\n<p class=\"wp-block-paragraph\">Hardcodierte SSIDs und WLan Passw&ouml;rter im Arduinocode sind keine sch&ouml;ne Sache. Die WLan Credentials auf der Console eingeben ist nicht mehr zeitgem&auml;&szlig;, schon garnicht wenn man keine Consolen Verbindung hat. Da w&auml;re es doch sch&ouml;n eine allgemeine L&ouml;sung zu haben, die es Erm&ouml;glicht IoT-Ger&auml;te einfach ins eigene WLAN zu bekommen ohne im Code schon etwas festlegen zu m&uuml;ssen. Genau das macht der WifiManager. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/tzapu\/WiFiManager\">https:\/\/github.com\/tzapu\/WiFiManager<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Purpose<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WLan Verbindung per WEB Interface definieren und speichern<\/li>\n\n\n\n<li>&Auml;ndern der Verbindung falls n&ouml;tig<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Arduino Library<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"331\" height=\"471\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManagerLib.jpg\" alt=\"\" class=\"wp-image-9476\"><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Download Git<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/tzapu\/WiFiManager.git\">https:\/\/github.com\/tzapu\/WiFiManager.git<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/tzapu\/WiFiManager\">https:\/\/github.com\/tzapu\/WiFiManager<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Bibliothek hat verschiedene Beispiele dabei, ich habe mir aus den Bestehenden eine eigene Version zusammengeschuster. Es gibt die M&ouml;glichkeit noch eigenen Parameter abzufragen, beispielsweise um zus&auml;tzliche Programmparameter zu setzen. Ich habe hier eine fiktiven &#8222;CustomParameter&#8220; mal eingef&uuml;gt.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_WLANVerbinden-1.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"2220\" data-id=\"9482\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_WLANVerbinden-1.jpg\" alt=\"\" class=\"wp-image-9482\"><\/a><figcaption class=\"wp-element-caption\">WLan Ausw&auml;hlen<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_MitWlanVerbunden.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"2220\" data-id=\"9481\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_MitWlanVerbunden.jpg\" alt=\"\" class=\"wp-image-9481\"><\/a><figcaption class=\"wp-element-caption\">Mit WifiMan Netzwerk verbunden<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nach der Verbindung mit dem WifiMan Netzwerk, werde ich leider nicht direkt zum Browser geleitet. Nachdem ich den Chrom Bowser manuell ge&ouml;ffnet habe muss ich die 192.168.4.1 als Adresse f&uuml;r den WiFiManager noch eintragen. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized is-style-default\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_4BrowserAdresseEingeben.jpg\" alt=\"\" class=\"wp-image-9483\" width=\"270\" height=\"555\"><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Auf der Startseite Configuration ausw&auml;hlen.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-4 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_5WiFiManager.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"2220\" data-id=\"9484\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_5WiFiManager.jpg\" alt=\"\" class=\"wp-image-9484\"><\/a><figcaption class=\"wp-element-caption\">Configure WiFi ausw&auml;hlen<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_6Konfiguration.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"2220\" data-id=\"9485\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_6Konfiguration.jpg\" alt=\"\" class=\"wp-image-9485\"><\/a><figcaption class=\"wp-element-caption\">Richtiges WLan ausw&auml;hlen<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_7DatenEingaben.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"2220\" data-id=\"9486\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_7DatenEingaben.jpg\" alt=\"\" class=\"wp-image-9486\"><\/a><figcaption class=\"wp-element-caption\">Daten eintragen und best&auml;tigen<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_Fertig-1.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1080\" height=\"2220\" data-id=\"9488\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManager_Fertig-1.jpg\" alt=\"\" class=\"wp-image-9488\"><\/a><figcaption class=\"wp-element-caption\">Das war es<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Daten eingeben und speichern &#8230; eine Erfolgsseite w&auml;re irgendwie sch&ouml;n gewesen es geht aber auch so &#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"648\" height=\"454\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/WifiManagerLib_ConsolenOutput.jpg\" alt=\"\" class=\"wp-image-9489\"><figcaption class=\"wp-element-caption\">Ausgabe des Terminals<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Problems<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Currently none.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fazit\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tut was es soll, man muss das Rad nicht neu erfinden aber sch&ouml;ner geht auch noch \ud83d\ude09<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Other libraries<\/h2>\n\n\n<ul class=\"display-posts-listing\">\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp-web-serial-bibliothek\/\">ESP WEB Serial Library<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp01-relay-platinen-2\/\">ESP01 \u2013 DHT11 Temperature and Humidity Sensor Boards<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/customkeyboard\/\">CustomKeyboard Library<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp8266-32-wifi-manager\/\">ESP8266\/32 WiFi Manager.<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/preview-esp01-relais-modul\/\">ESP01 \u2013 Relay Board<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/neo-6m-gps-logger-shield-v1-0\/\">NEO-6M GPS Logger Shield V1.0<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/zumo-v1-2\/\">Zumo V1.2<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp8266-rtos-sdk\/\">ESP8266 RTOS SDK<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks-2\/\">Espressif IDF \u2013 GPIOs<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/\">Espressif IDF \u2013 Tasks<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Further sources<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/tzapu\/WiFiManager.git\">https:\/\/github.com\/tzapu\/WiFiManager.git<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/tzapu\/WiFiManager\">https:\/\/github.com\/tzapu\/WiFiManager<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>Hardcodierte SSIDs und WLan Passw&ouml;rter im Arduinocode sind keine sch&ouml;ne Sache. Die WLan Credentials auf der Console eingeben ist nicht mehr zeitgem&auml;&szlig;, schon garnicht wenn man keine Consolen Verbindung hat. Da w&auml;re es doch sch&ouml;n eine allgemeine L&ouml;sung zu haben, die es Erm&ouml;glicht IoT-Ger&auml;te einfach ins eigene WLAN zu bekommen ohne im Code schon etwas &#8230;<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks-2\/\" class=\"read-more-link\">Carry on reading <span class=\"screen-reader-text\">\"Espressif IDF &#8211; GPIOs\"<\/span> <span class=\"meta-nav\">\u2192<\/span><\/a>","protected":false},"author":1,"featured_media":9610,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[183,335,707,708],"tags":[33,148,23,709,710,75,110],"class_list":["post-9475","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bibliotheken","category-esp-bibliotheken","category-esp32-bibliothek","category-esp8266-bibliothek","tag-esp","tag-esp32","tag-esp8266","tag-network","tag-setup","tag-wifi","tag-wlan","penguin-post","penguin-post-not-sticky"],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/9475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/comments?post=9475"}],"version-history":[{"count":7,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/9475\/revisions"}],"predecessor-version":[{"id":9597,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/9475\/revisions\/9597"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media\/9610"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=9475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=9475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=9475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}