{"id":678,"date":"2015-08-01T19:25:49","date_gmt":"2015-08-01T17:25:49","guid":{"rendered":"http:\/\/www.xpablo.cz\/?p=678"},"modified":"2016-04-10T12:48:21","modified_gmt":"2016-04-10T10:48:21","slug":"esp8266-wifi-konfigurace-trochu-jinak","status":"publish","type":"post","link":"https:\/\/www.xpablo.cz\/?p=678","title":{"rendered":"ESP8266 &#8211; Wifi konfigurace trochu jinak"},"content":{"rendered":"<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/espwifisetup.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-679 alignleft\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/espwifisetup-300x120.png\" alt=\"espwifisetup\" width=\"300\" height=\"120\" srcset=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/espwifisetup-300x120.png 300w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/espwifisetup.png 400w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Po n\u00e1stupu Arduina do oblasti WiFi modulk\u016f s ESP8266 se objevila z\u00e1plava projekt\u016f, kter\u00e9 je mo\u017en\u00e9 doma snadno realizovat. Drtiv\u00e1 v\u011bt\u0161ina z nich ale nen\u00ed p\u0159\u00edli\u0161 u\u017eivatelsky p\u0159\u00edv\u011btiv\u00e1 co se t\u00fd\u010de konfigurace bezdr\u00e1tov\u00e9ho p\u0159ipojen\u00ed &#8211; pokud si prohl\u00e9dnete zdrojov\u00fd .ino soubor a n\u011bkde v z\u00e1hlav\u00ed objev\u00edte \u0159\u00e1dky ve stylu<\/p>\n<pre class=\"lang:cpp\" title=\"esp.ino\">char ssid[] = \"yourNetwork\";\u00a0\u00a0\u00a0 \/\/ your network SSID (name)\r\nchar pass[] = \"secretPassword\"; \/\/ your network password (use for WPA, or use as key for WEP)\r\n<\/pre>\n<p>tak to znamen\u00e1, \u017ee pro spr\u00e1vnou funkci je t\u0159eba ve zdrojov\u00e9m k\u00f3du tyto parametry upravit, program p\u0159elo\u017eit a takto upraven\u00fd k\u00f3d nahr\u00e1t do ESP. Tento zp\u016fsob konfigurace se mi u\u017e z principu p\u0159\u00ed\u010d\u00ed a i kdy\u017e se ji\u017e objevuj\u00ed snahy o elegantn\u011bj\u0161\u00ed \u0159e\u0161en\u00ed (nap\u0159\u00edklad <a href=\"http:\/\/www.esp8266.com\/viewtopic.php?f=29&amp;t=2520\" target=\"_blank\">http:\/\/www.esp8266.com\/viewtopic.php?f=29&amp;t=2520<\/a>) tak to st\u00e1le nen\u00ed to, co bych o\u010dek\u00e1val.<!--more--><br \/>\nR\u00e1d bych tedy p\u0159edstavil moji knihovnu, do zna\u010dn\u00e9 m\u00edry inspirovanou odkazem v\u00fd\u0161e uveden\u00fdm, ale tak\u00e9 rovn\u011b\u017e podstatn\u00fdm zp\u016fsobem vylep\u0161enou.<br \/>\nFunguje n\u00e1sleduj\u00edc\u00edm zp\u016fsobem:<br \/>\nPo spu\u0161t\u011bn\u00ed programu v ESP knihovna ov\u011b\u0159\u00ed, zda ji\u017e byla konfigurovan\u00e1, nebo zda nen\u00ed vynucen\u00e1 konfigurace (nap\u0159\u00edklad stisknut\u00edm vyhrazen\u00e9ho tla\u010d\u00edtka p\u0159i zap\u00edn\u00e1n\u00ed nap\u00e1jen\u00ed).<br \/>\nPokud je t\u0159eba konfigurovat, tak se spust\u00ed Wifi v re\u017eimu otev\u0159en\u00e9ho AP s SSID &#8222;<strong>ESPPBSetup<\/strong>&#8222;.<\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/ssidlist.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-683\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/ssidlist-169x300.png\" alt=\"ssidlist\" width=\"169\" height=\"300\" srcset=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/ssidlist-169x300.png 169w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/ssidlist-576x1024.png 576w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/ssidlist.png 675w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/a><\/p>\n<p>Rovn\u011b\u017e b\u011b\u017e\u00ed vnit\u0159n\u00ed DHCP server, tak\u017ee je mo\u017en\u00e9 se k modulu p\u0159ipojit nap\u0159\u00edklad pomoc\u00ed<br \/>\nchytr\u00e9ho telefonu. Do prohl\u00ed\u017ee\u010de zad\u00e1me adresu br\u00e1ny (je nastaven\u00e1 na 192.168.4.1) a na webov\u00e9m formul\u00e1\u0159i se zobraz\u00ed seznam okoln\u00edch Wifi s\u00edt\u00ed, s\u00edla jejich sign\u00e1lu a indik\u00e1tor,<br \/>\nzda je s\u00ed\u0165 zabezpe\u010den\u00e1, nebo ne.<\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/apselect.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-684\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/apselect-169x300.png\" alt=\"apselect\" width=\"169\" height=\"300\" srcset=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/apselect-169x300.png 169w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/apselect-576x1024.png 576w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2015\/08\/apselect.png 675w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/a><\/p>\n<p>Po\u017eadovanou s\u00ed\u0165 vybereme bu\u010f kliknut\u00edm na odpov\u00eddaj\u00edc\u00ed SSID, nebo ru\u010dn\u011b zaps\u00e1n\u00edm do kolonky SSID. Do vedlej\u0161\u00ed kolonky vypln\u00edme heslo. Zatr\u017e\u00edtko &#8218;<em>AP mode<\/em>&#8218; slou\u017e\u00ed pro zvl\u00e1\u0161tn\u00ed p\u0159\u00edpad konfigurace &#8211; zjistil jsem toti\u017e, \u017ee pokud p\u0159epneme ESP do re\u017eimu AP, tak je mo\u017en\u00e9 vytvo\u0159it mikros\u00ed\u0165 a\u017e do asi osmi za\u0159\u00edzen\u00ed s t\u00edm, \u017ee ESP, kter\u00fd slou\u017e\u00ed jako AP rovn\u011b\u017e zabezpe\u010duje p\u0159i\u0159azen\u00ed adres pomoc\u00ed DHCP. Nepot\u0159ebujeme-li tedy komunikaci na internet, ale sta\u010d\u00ed n\u00e1m jen lok\u00e1ln\u00ed s\u00ed\u0165 senzor\u016f a aktor\u016f, lze vyu\u017e\u00edt tento re\u017eim.<br \/>\nKonfigurace je ukl\u00e1d\u00e1na formou struktury do simulovan\u00e9 EEPROM pam\u011bti ESP8266. Modul s EEPROM pracuje vnit\u0159n\u011b zcela autonomn\u011b, pouze p\u0159edpokl\u00e1d\u00e1, \u017ee EEPROM ji\u017e byla inicializovan\u00e1 v aplikaci vol\u00e1n\u00edm EEPROM.begin(x) a sta\u010d\u00ed mu tak pouze zadat po\u010d\u00e1te\u010dn\u00ed adresu ulo\u017een\u00ed.<br \/>\nDal\u0161\u00ed zaj\u00edmavost\u00ed je <strong>extern\u00ed<\/strong> objekt webov\u00e9ho serveru &#8211; k tomuto \u0159e\u0161en\u00ed m\u011b vedla snaha o \u00fasporu pam\u011bti RAM, tak\u017ee p\u0159edpokl\u00e1d\u00e1m, \u017ee objekt webov\u00e9ho serveru je v cel\u00e9m projektu jen jeden a je sd\u00edlen\u00fd mezi konfigura\u010dn\u00ed knihovnou a aplikac\u00ed.<br \/>\nPokud p\u0159i spou\u0161t\u011bn\u00ed nebyl zadan\u00fd po\u017eadavek na konfiguraci a modul ji\u017e nakonfigurovan\u00fd byl, tak se bu\u010f spust\u00ed AP, nebo se pokus\u00ed p\u0159ipojit k nastaven\u00e9 s\u00edti. Pokud se p\u0159ipojen\u00ed nepoda\u0159\u00ed<br \/>\nspou\u0161t\u00ed se automaticky konfigura\u010dn\u00ed re\u017eim.<br \/>\nKnihovna byla ps\u00e1na se z\u0159etelem na co nejmen\u0161\u00ed zat\u00ed\u017een\u00ed datov\u00e9 pam\u011bti, ale je mo\u017en\u00e9, \u017ee se mi to ne v\u0161ude poda\u0159ilo vy\u0159e\u0161it optim\u00e1ln\u011b.<br \/>\nJako bonus jsou exportov\u00e1ny funkce, umo\u017e\u0148uj\u00edc\u00ed \u010dten\u00ed a z\u00e1pis \u0159et\u011bzce z\/do EEPROM na po\u017eadovanou adresu a o maxim\u00e1ln\u00ed zadan\u00e9 d\u00e9lce.<br \/>\nTradi\u010dn\u011b je sou\u010d\u00e1st\u00ed arch\u00edvu i p\u0159iklad pou\u017eit\u00ed.<\/p>\n<p><strong>POZOR, POZOR!!! K dispozici je nov\u011bj\u0161\u00ed verze knihovny, um\u00edst\u011bn\u00e1 <a href=\"https:\/\/www.xpablo.cz\/?p=720\">zde<\/a>.<\/strong><\/p>\n<div class=\"wpfilebase-file-default\" onclick=\"if('undefined' == typeof event.target.href) document.getElementById('wpfb-file-link-1').click();\">\r\n  <div class=\"icon\"><a href=\"https:\/\/www.xpablo.cz\/?wpfb_dl=8\" target=\"_blank\" title=\"Download WiFiConfig\"><img decoding=\"async\" align=\"middle\" src=\"http:\/\/www.xpablo.cz\/wp-includes\/images\/crystal\/archive.png\" alt=\"WiFiConfig\" \/><\/a><\/div>\r\n  <div class=\"filetitle\">\r\n    <a href=\"https:\/\/www.xpablo.cz\/?wpfb_dl=8\" title=\"Download WiFiConfig\" target=\"_blank\" id=\"wpfb-file-link-1\">WiFiConfig<\/a>\r\n    \r\n    <br \/>\r\n    WiFiConfig.zip<br \/>\r\n    \r\n  <\/div>\r\n  <div class=\"info\">\r\n    0.0 B<br \/>\r\n    1775 Downloads<br \/>\r\n    <a href=\"#\" onclick=\"return wpfilebase_filedetails(1);\">Detaily<\/a>\r\n  <\/div>\r\n  <div class=\"details\" id=\"wpfilebase-filedetails1\" style=\"display: none;\">\r\n  \r\n  <table border=\"0\">\r\n   \r\n   \r\n   \r\n   \r\n   \r\n   \r\n   <tr><td><strong>Datum:<\/strong><\/td><td>1. srpna  2015<\/td><\/tr>\r\n  <\/table>\r\n  <\/div>\r\n <div style=\"clear: both;\"><\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Po n\u00e1stupu Arduina do oblasti WiFi modulk\u016f s ESP8266 se objevila z\u00e1plava projekt\u016f, kter\u00e9 je mo\u017en\u00e9 doma snadno realizovat. Drtiv\u00e1 v\u011bt\u0161ina z nich ale nen\u00ed p\u0159\u00edli\u0161 u\u017eivatelsky p\u0159\u00edv\u011btiv\u00e1 co se t\u00fd\u010de konfigurace bezdr\u00e1tov\u00e9ho p\u0159ipojen\u00ed &#8211; pokud si prohl\u00e9dnete zdrojov\u00fd .ino soubor a n\u011bkde v z\u00e1hlav\u00ed objev\u00edte \u0159\u00e1dky ve stylu char ssid[] = &#8222;yourNetwork&#8220;;\u00a0\u00a0\u00a0 \/\/ your &hellip; <a href=\"https:\/\/www.xpablo.cz\/?p=678\" class=\"more-link\">Pokra\u010dov\u00e1n\u00ed textu <span class=\"screen-reader-text\">ESP8266 &#8211; Wifi konfigurace trochu jinak<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[3,25],"tags":[36,18,19,54],"class_list":["post-678","post","type-post","status-publish","format-standard","hentry","category-arduino","category-esp8266","tag-arduino","tag-esp8266","tag-wifi","tag-wificonfig"],"_links":{"self":[{"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts\/678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=678"}],"version-history":[{"count":9,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts\/678\/revisions"}],"predecessor-version":[{"id":759,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts\/678\/revisions\/759"}],"wp:attachment":[{"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}