{"id":1048,"date":"2016-09-14T09:23:21","date_gmt":"2016-09-14T07:23:21","guid":{"rendered":"http:\/\/www.xpablo.cz\/?p=1048"},"modified":"2019-11-18T10:50:03","modified_gmt":"2019-11-18T09:50:03","slug":"esp8266-pro-zacatecnika-sablona-projektu","status":"publish","type":"post","link":"https:\/\/www.xpablo.cz\/?p=1048","title":{"rendered":"ESP8266 pro za\u010d\u00e1te\u010dn\u00edka &#8211; \u0160ablona projektu"},"content":{"rendered":"<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/09\/thinkesp.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1049 alignleft\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/09\/thinkesp-300x287.jpg\" alt=\"thinkesp\" width=\"300\" height=\"287\" srcset=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/09\/thinkesp-300x287.jpg 300w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/09\/thinkesp-768x734.jpg 768w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/09\/thinkesp-1024x979.jpg 1024w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/09\/thinkesp.jpg 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Proto\u017ee dost \u010dasto dost\u00e1v\u00e1m dotazy (a nebo p\u0159\u00edmo prosby) na vytvo\u0159en\u00ed aplika\u010dn\u00ed kostry pro projekty, na kter\u00fdch byste r\u00e1di pracovali, rozhodl jsem se vytvo\u0159it \u0161ablonu, kter\u00e1 co nejv\u00edce zjednodu\u0161\u00ed vytvo\u0159en\u00ed z\u00e1kladu, do kter\u00e9ho pak m\u016f\u017eete vepsat vlastn\u00ed aplikaci. Jedn\u00edm z v\u00e1s je i Patrik, kter\u00fd je v Arduinu za\u010d\u00e1te\u010dn\u00edk a nav\u00edc m\u00e1, na na\u0161e pom\u011bry pon\u011bkud exotickou konfiguraci HW (pracuje na Macu), se kter\u00fdm jsem se domluvil na tom, \u017ee mi bude d\u011blat testera a oponenta. V\u00fdsledkem by tedy m\u011bla b\u00fdt \u0161ablona, kter\u00e1 p\u016fjde vyu\u017e\u00edt v Arduinu nap\u0159\u00ed\u010d platformami Windows, Linux a Macintosh. V z\u00e1v\u011bre\u010dn\u00e9 f\u00e1zi se je\u0161t\u011b p\u0159idal \u0160t\u011bp\u00e1n, kter\u00fd \u0161ablonu tak\u00e9 ov\u011b\u0159il, opravil n\u011bkter\u00e9 nejasnosti v popisu, kter\u00fdch jsem se dopustil a p\u0159isp\u011bl p\u0159ipom\u00ednkami ke srozumitelnosti textu.<\/p>\n<p><!--more--><\/p>\n<p>Nejd\u0159\u00edve jsme si stanovili z\u00e1kladn\u00ed po\u017eadavky na \u0161ablonu, kter\u00e1 mus\u00ed obsahovat (vypisuji z na\u0161\u00ed mailov\u00e9 korespondence):<\/p>\n<ul>\n<li>Dovol\u00ed to nakonfigurovat p\u0159ipojen\u00ed k WiFi s\u00edti, ani\u017e by se musel upravovat zdrojov\u00fd k\u00f3d aplikace<\/li>\n<li>P\u0159ipoj\u00ed se to k WiFi (konfigurace se prov\u00e1d\u00ed jen jednou, pak u\u017e si to modul pamatuje)<\/li>\n<li>Spust\u00ed se Arduino OTA (aktualizace firmware p\u0159es WiFi, aby to nemuselo b\u00fdt st\u00e1le p\u0159ipojen\u00e9 k PC\/USB)<\/li>\n<li>Bude to viditeln\u00e9 na ping pro Mac\/Linux (jm\u00e9no.local) a pro Windows (jm\u00e9no)<\/li>\n<li>Spust\u00ed to web server<\/li>\n<li>Bude tam z\u00e1kladn\u00ed html str\u00e1nka s p\u0159\u00edkladem (kostrou)<\/li>\n<li>Webov\u00fd server umo\u017en\u00ed serv\u00edrov\u00e1n\u00ed statick\u00fdch str\u00e1nek a soubor\u016f z SPIFFS<\/li>\n<\/ul>\n<p>Tak\u017ee m\u016f\u017eeme za\u010d\u00edt&#8230;<\/p>\n<h5>Popis<\/h5>\n<p>\u0160ablona ET (ESP Template) m\u00e1 slou\u017eit pro rychl\u00e9 vytvo\u0159en\u00ed kostry projektu, zalo\u017een\u00e9ho na ESP8266 a Arduino IDE. Instalaci provedeme rozbalen\u00edm arch\u00edvu do adres\u00e1\u0159e, kter\u00fd m\u00e1 stejn\u00e9 jm\u00e9no, jako projekt, kter\u00fd vytv\u00e1\u0159\u00edme (d\u00e1le se budu odkazovat na jm\u00e9no projektu jako &lt;jm\u00e9no projektu&gt;). Rozbalen\u00fd soubor <strong>et.ino<\/strong> p\u0159ejmenujeme rovn\u011b\u017e na &lt;jm\u00e9no projektu&gt;.ino . T\u00edmto je ve\u0161ker\u00e1 instalace hotov\u00e1 a je mo\u017en\u00e9 za\u010d\u00edt programovat. Spust\u00edme Arduino IDE a pomoc\u00ed &#8222;Soubor&#8220;-&gt;&#8220;Otev\u0159\u00edt&#8220; otev\u0159eme soubor &lt;jm\u00e9no projektu&gt;.ino, v menu &#8222;N\u00e1stroje&#8220;-&gt;&#8220;V\u00fdvojov\u00e1 deska&#8220; vybereme typ ESP8266, kter\u00fd odpov\u00edd\u00e1 modulu, kter\u00fd pou\u017e\u00edv\u00e1me. Pokud budete vyu\u017e\u00edvat souborov\u00fd syst\u00e9m vytvo\u0159en\u00fd v norm\u00e1ln\u011b nevyu\u017e\u00edvan\u00e9 \u010d\u00e1sti flash pam\u011bti ESP8266, tak nezapome\u0148te zkontrolovat, \u017ee m\u00e1te nainstalovan\u00fd dopln\u011bk pro tvorbu souborov\u00e9ho syst\u00e9mu (menu &#8222;N\u00e1stroje&#8220;-&gt;&#8220;ESP8266 Sketch Data Upload&#8220;). Pokud ho nainstalovan\u00fd nem\u00e1te, tak ho doinstalujte dle <a href=\"https:\/\/github.com\/esp8266\/arduino-esp8266fs-plugin\">pokyn\u016f zde<\/a>.<br \/>\nU\u017eivatelsk\u00e1 konfigurace je shrom\u00e1\u017ed\u011bna do souboru <strong>configuration.h<\/strong> &#8211; je zde mo\u017en\u00e9 nastavit, zda se m\u00e1 p\u0159ekl\u00e1dat trasovac\u00ed k\u00f3d (vhodn\u00fd pro lad\u011bn\u00ed &#8211; polo\u017eka DEBUG_BUILD), zda se m\u00e1 p\u0159ekl\u00e1dat podpora pro souborov\u00fd syst\u00e9m do webov\u00e9ho serveru (polo\u017eka USE_SPIFFS) a pin, na kter\u00fd je p\u0159ipojen\u00e9 tla\u010d\u00edtko, kter\u00e9 vynut\u00ed vstup do konfigura\u010dn\u00edho re\u017eimu WiFi (viz. moje \u010dl\u00e1nky na <a href=\"https:\/\/www.xpablo.cz\/?p=941\">xpablo.cz WiFiConfig<\/a>)<br \/>\nV souboru <strong>embeddedHTML.h<\/strong> je prostor pro um\u00edst\u011bn\u00ed webov\u00fdch str\u00e1nek, obsa\u017een\u00fdch p\u0159\u00edmo v k\u00f3du, dal\u0161\u00ed soubory, kter\u00e9 nechceme vlo\u017eit p\u0159\u00edmo do k\u00f3du ukl\u00e1d\u00e1me do adres\u00e1\u0159e data &#8211; n\u00e1stroj <em>ESP8266 Sketch Data Upload<\/em> z nich vytvo\u0159\u00ed obraz vnit\u0159n\u00edho souborov\u00e9ho syst\u00e9mu a webov\u00fd server je dok\u00e1\u017ee serv\u00edrovat (viz. p\u0159\u00edklad index.htm)<\/p>\n<p>V cel\u00e9 \u0161ablon\u011b jsem se sna\u017eil, aby m\u00edsta, kam se budou dopisovat u\u017eivatelsk\u00e9 \u010d\u00e1sti byly ozna\u010deny ****<\/p>\n<h5>Obsa\u017een\u00e9 moduly (knihovny)<\/h5>\n<p>Aby byla \u0161ablona konzistentn\u00ed, nejsou pot\u0159ebn\u00e9 knihovny instalov\u00e1ny do IDE, ale jsou obsa\u017eeny p\u0159\u00edmo v adres\u00e1\u0159i src \u0161ablony. V n\u00e1sleduj\u00edc\u00edch odstavc\u00edch je kr\u00e1tce pop\u00ed\u0161i.<\/p>\n<h6>WiFiConfig<\/h6>\n<p>Knihovna, kter\u00e1 se star\u00e1 o p\u0159ipojen\u00ed za\u0159\u00edzen\u00ed do s\u00edt\u011b WiFi, byla ji\u017e n\u011bkolikr\u00e1t popisov\u00e1na na t\u011bchto str\u00e1nk\u00e1ch. V \u0161ablon\u011b je ulo\u017eena zat\u00edm posledn\u00ed verze 4.7, kter\u00e1 p\u0159in\u00e1\u0161\u00ed n\u011bkter\u00e9 novinky oproti verz\u00edm minul\u00fdm (viz. popis v z\u00e1hlav\u00ed WiFiConfig.cpp). V\u011bt\u0161ina novinek se t\u00fdk\u00e1 p\u0159\u00edpravy na pou\u017eit\u00ed WiFiConfig v bateriov\u011b nap\u00e1jen\u00fdch p\u0159\u00edstroj\u00edch, se kterou ov\u0161em zat\u00edm nejsem zcela spokojen\u00fd, tak\u017ee je jist\u00e9, \u017ee \u00fapravy budou pokra\u010dovat.<\/p>\n<h6>espnbns<\/h6>\n<p>Op\u011bt knihovna, kter\u00e1 <a href=\"https:\/\/www.xpablo.cz\/?p=751\">zde byla pops\u00e1na<\/a> &#8211; jedn\u00e1 se o NetBIOS obsluhu jm\u00e9na za\u0159\u00edzen\u00ed, tak\u017ee je mo\u017en\u00e9 naj\u00edt za\u0159\u00edzen\u00ed v s\u00edti Windows pomoc\u00ed symbolick\u00e9ho jm\u00e9na. Tato knihovna brzy bude zastaral\u00e1, proto\u017ee v sou\u010dasn\u00e9 dob\u011b prob\u00edh\u00e1 jej\u00ed integrace p\u0159\u00edmo do j\u00e1dra ESP8266 pro Arduino (u\u017e by m\u011bla b\u00fdt dostupn\u00e1 v github v\u00fdvojov\u00e9 verzi pro testov\u00e1n\u00ed). Ve stabiln\u00edm sestaven\u00ed ale zat\u00edm (v dob\u011b psan\u00ed tohoto \u010dl\u00e1nku) nen\u00ed, tak\u017ee jsem ji do \u0161ablony musel p\u0159idat.<\/p>\n<h6>interval<\/h6>\n<p>Tak\u00e9 knihovna, kter\u00e1 na str\u00e1nk\u00e1ch www.xpablo.cz <a href=\"https:\/\/www.xpablo.cz\/?p=421\">ji\u017e byla pops\u00e1na<\/a>. Slou\u017e\u00ed pro odm\u011b\u0159ov\u00e1n\u00ed \u010dasov\u00fdch interval\u016f a eliminaci pou\u017eit\u00ed funkce delay().<\/p>\n<h6>led<\/h6>\n<p>Jde o primitivn\u00ed sekvencer, kter\u00fd jsem napsal kv\u016fli ovl\u00e1d\u00e1n\u00ed LED diod a optick\u00e9 signalizace. Umo\u017e\u0148uje vytvo\u0159it prototypy pr\u016fb\u011bhu svitu\/zhasnut\u00ed signaliza\u010dn\u00ed diody a tento pr\u016fb\u011bh pak pod p\u0159eru\u0161en\u00edm generuje. V \u0161ablon\u011b jsou definov\u00e1ny t\u0159i r\u016fzn\u00e9 pr\u016fb\u011bhy signalizace:<\/p>\n<pre class=\"lang:c++ decode:true\">const uint8_t LS_CONNECTING[] = {LEDS_ONFOR + 0, LEDS_OFFFOR + 8, LEDS_RESTART};\r\nconst uint8_t LS_CONFIGAP[] = {LEDS_ONFOR + 0, LEDS_OFFFOR + 0, LEDS_ONFOR + 0, LEDS_OFFFOR + 6, LEDS_RESTART};\r\nconst uint8_t LS_CONNECTED[] = {LEDS_ONFOR + 0, LEDS_OFFFOR + 0, LEDS_ONFOR + 0, LEDS_OFFFOR + 0, LEDS_ONFOR + 0, LEDS_OFFFOR + 6, LEDS_RESTART};<\/pre>\n<ul>\n<li>LS_CONNECTING signalizuje pokus WiFiConfig o p\u0159ipojen\u00ed k AP (nebo za\u010d\u00e1tek vytv\u00e1\u0159en\u00ed AP) a p\u0159edstavuje 1x bliknut\u00ed LED<\/li>\n<li>LS_CONFIGAP signalizuje b\u011b\u017e\u00edc\u00ed konfigura\u010dn\u00ed AP a p\u0159edstavuje 2x bliknut\u00ed LED<\/li>\n<li>LS_CONNECTED signalizuje b\u011b\u017e\u00edc\u00ed aplikaci a p\u0159edstavuje 3x bliknut\u00ed LED<\/li>\n<\/ul>\n<h6>trace (stopa\u0159)<\/h6>\n<p>Tohle je zcela nov\u00e1 knihovna, kter\u00e1 si zaslou\u017e\u00ed podrobn\u011bj\u0161\u00ed popis. Ti, kdo v Arduinu programuj\u00ed ji\u017e d\u00e9le to ur\u010dit\u011b znaj\u00ed &#8211; mo\u017enosti lad\u011bn\u00ed a trasov\u00e1n\u00ed se omezuj\u00ed v podstat\u011b na lad\u00edc\u00ed v\u00fdpisy na s\u00e9riov\u00fd port, nebo blik\u00e1n\u00ed LED. Co ov\u0161em d\u011blat, pokud je s\u00e9riov\u00fd port obsazen\u00fd (tady lze pou\u017e\u00edt knihovnu SoftwareSerial, ale s ur\u010dit\u00fdmi omezen\u00edmi), nebo kdy\u017e je za\u0159\u00edzen\u00ed t\u0159eba v meteobudce n\u011bkde na zahrad\u011b. \u0158e\u0161en\u00edm by mohla b\u00fdt pr\u00e1v\u011b knihovna trace. Pracuje tak, \u017ee ve webov\u00e9m prostoru serveru vytvo\u0159\u00ed str\u00e1nku \/trace (nap\u0159. http:\/\/192.168.4.1\/trace ), kter\u00e1 zobraz\u00ed z\u00e1kladn\u00ed informace o modulu a pak se p\u0159ipoj\u00ed p\u0159es webov\u00fd soket a prakticky v re\u00e1ln\u00e9m \u010dase zobrazuje lad\u00edc\u00ed v\u00fdpisy, ukl\u00e1dan\u00e9 pomoc\u00ed p\u0159ipraven\u00e9ho makra TRACE.<\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/09\/xptarce.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1059\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/09\/xptarce-300x278.jpg\" alt=\"xptarce\" width=\"300\" height=\"278\" srcset=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/09\/xptarce-300x278.jpg 300w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/09\/xptarce.jpg 460w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong>POZOR!!!<\/strong> Ob\u010das se stane, \u017ee se p\u0159i aktivn\u00edm webov\u00e9m soketu (stopa\u0159i) neobjev\u00ed OTA za\u0159\u00edzen\u00ed v S\u00ed\u0165ov\u00fdch portech v Arduino IDE. V takov\u00e9m p\u0159\u00edpad\u011b sta\u010d\u00ed zav\u0159\u00edt okno prohl\u00ed\u017ee\u010de se stopa\u0159em a restartovat Arduino IDE &#8211; za\u0159\u00edzen\u00ed se v portech objev\u00ed. P\u0159edpokl\u00e1d\u00e1m, \u017ee jde o chybu n\u011bkde uvnit\u0159 SDK, nebo Arduino knihoven a bude tato nep\u0159\u00edjemnost brzy opravena.<\/p>\n<h5>Z\u00e1v\u011bre\u010dn\u00e9 shrnut\u00ed a postup bod po bodu<\/h5>\n<p>No a na z\u00e1v\u011br bych sem r\u00e1d ulo\u017eil postup bod po bodu, kter\u00fd jsem op\u011bt vyt\u00e1hnul z na\u0161\u00ed mailov\u00e9 korespondence:<\/p>\n<ul>\n<li>P\u0159elo\u017e \u0161ablonu a nahrej ji do modulu (tak, jak jsi to u\u017e ud\u011blal)<\/li>\n<li>Pak to ESP zresetuj (stisknut\u00edm tla\u010d\u00edtka Reset na modulu, vypnut\u00edm a zapnut\u00edm nap\u00e1jen\u00ed, vyta\u017een\u00edm a zasunut\u00edm do USB &#8211; podle toho, jak\u00e9 m\u00e1\u0161 mo\u017enosti)<\/li>\n<li>No a za cca 30 sekund proskenuj chytr\u00fdm telefonem (nebo Macem pokud to jde, ale rad\u011bji telefonem) okoln\u00ed WiFi s\u00edt\u011b. M\u011bla by se tam objevit s\u00ed\u0165 s n\u00e1zvem ESPPBSetup_XXXXXX, kde ty XX jsou nahrazen\u00fd MAC adresou modulu.<\/li>\n<li>Pokud ano, jedeme d\u00e1l, pokud ji nenajde\u0161, tak mus\u00edme hledat probl\u00e9m&#8230; Tak\u017ee pokud ano:<\/li>\n<li>P\u0159ipoj se k tomu SSID (nejl\u00edp telefonem&#8230;) &#8211; p\u0159ipojen\u00ed je bez hesla<\/li>\n<li>Otev\u0159i na telefonu prohl\u00ed\u017ee\u010d a zadej URL http:\/\/192.168.4.1<\/li>\n<li>Klikni na tla\u010d\u00edtko s p\u0159esm\u011brov\u00e1n\u00edm na konfiguraci<\/li>\n<li>Na konfigura\u010dn\u00ed str\u00e1nce vyber Tv\u016fj AP, na kter\u00fd se norm\u00e1ln\u011b p\u0159ipojuje\u0161 &#8211; automaticky se dopln\u00ed SSID a zadej heslo &#8211; je taky dobr\u00fd zadat n\u011bjak\u00fd n\u00e1zev vlastn\u00edho za\u0159\u00edzen\u00ed, k tomu slou\u017e\u00ed pole &#8222;Jm\u00e9no za\u0159\u00edzen\u00ed&#8220; &#8211; t\u0159eba jen ESP<\/li>\n<li>Nechej ulo\u017eit konfiguraci a restartovat ESP (ud\u011bl\u00e1 automaticky, trv\u00e1 to cca 10 sekund)<\/li>\n<li>Po restartu ESP by se m\u011blo cel\u00fd ESP automaticky p\u0159ipojit do Tv\u00e9 s\u00edt\u011b a b\u00fdt dostupn\u00e9 na ping (nap\u0159. ping ESP.local (Mac\/Linux), nebo ping ESP (Windows) pokud jsi zadal jm\u00e9no ESP)<\/li>\n<li>Pokud tohle v\u0161echno b\u011b\u017e\u00ed a restartuje\u0161 Arduino IDE, tak po restartu by se to ESP m\u011blo objevit v seznamu port\u016f jako s\u00ed\u0165ov\u00fd port (b\u011b\u017e\u00ed OTA), kter\u00fd se d\u00e1 vyu\u017e\u00edt pro programov\u00e1n\u00ed nam\u00edsto pomal\u00e9ho s\u00e9riov\u00e9ho portu<\/li>\n<li>Pokud se n\u011bco z toho neda\u0159\u00ed, tak spo\u010d\u00edtej blik\u00e1n\u00ed LED diody na ESP (v\u011bt\u0161inou to je modr\u00e1 LED) a napi\u0161&#8230;<\/li>\n<li>Popis LED blik\u00e1n\u00ed:<br \/>\n<strong>1x bliknut\u00ed<\/strong> &#8211; sna\u017e\u00ed se p\u0159ipojit do s\u00edt\u011b WiFi, nebo spustit nakonfigurovan\u00fd AP<br \/>\n<strong>2x bliknut\u00ed<\/strong> &#8211; nepoda\u0159ilo se p\u0159ipojit, nebo byla ru\u010dn\u011b vynucen\u00e1 konfigurace &#8211; v tomto okam\u017eiku b\u011b\u017e\u00ed konfigura\u010dn\u00ed AP se SSID ESPPBSetup_xxxxxxx<br \/>\n<strong>3x bliknut\u00ed<\/strong> &#8211; p\u0159ipojeno do s\u00edt\u011b, norm\u00e1ln\u00ed b\u011bh skriptu (b\u011b\u017e\u00ed loop() )<\/li>\n<\/ul>\n<p>No a te\u010f co d\u00e1l:<\/p>\n<ul>\n<li>B\u011b\u017e\u00ed Ti OTA, tak\u017ee m\u016f\u017ee\u0161 vybrat v IDE ten s\u00ed\u0165ov\u00fd port\u00a0 (v\u0161echno dal\u0161\u00ed nahr\u00e1v\u00e1n\u00ed bude mnohem rychlej\u0161\u00ed a prob\u011bhne po WiFi a ne p\u0159es USB)<\/li>\n<li>Kliknut\u00edm na &#8222;N\u00e1stroje&#8220;-&gt; &#8222;ESP8266 Sketch Data Upload&#8220; se vygeneruje a do modulu nahraje souborov\u00fd syst\u00e9m (tohle chv\u00edli trv\u00e1&#8230;). Nahr\u00e1n\u00ed kon\u010d\u00ed restartem ESP, tak\u017ee mus\u00ed\u0161 chvilku po\u010dkat, ne\u017e se zase p\u0159ipoj\u00ed &#8211; viz. LED blik\u00e1n\u00ed<\/li>\n<li>Spr\u00e1vnost nahr\u00e1n\u00ed souborov\u00e9ho syst\u00e9mu ov\u011b\u0159\u00ed\u0161 internetov\u00fdm prohl\u00ed\u017ee\u010dem, kter\u00fd nam\u00ed\u0159\u00ed\u0161 na http:\/\/&lt;ip adresa, nebo symbolick\u00e9 jm\u00e9no modulu&gt;\/index.htm &#8211; pokud v\u0161e funguje spr\u00e1vn\u011b, tak uvid\u00ed\u0161 &#8222;Pozdrav z ESP8266&#8220; (prost\u011b obsah index.htm z adres\u00e1\u0159e data)<\/li>\n<li>\u0160ablona obsahuje tajnou zbra\u0148 &#8211; moji knihovnu stopa\u0159e (trace). Dostane\u0161 se k n\u00ed tak, \u017ee do internetov\u00e9ho prohl\u00ed\u017ee\u010de zad\u00e1\u0161 http:\/\/&lt;ip adresa, nebo symbolick\u00e9 jm\u00e9no modulu&gt;\/trace &#8211; zobraz\u00ed se dynamicky ob\u010derstvovan\u00e1 str\u00e1nka s ud\u00e1lostmi. Tohle nahrazuje lad\u00edc\u00ed v\u00fdpisy p\u0159es s\u00e9riov\u00fd port, co\u017e je skv\u011bl\u00e1 v\u011bc zejm\u00e9na v p\u0159\u00edpad\u011b, \u017ee je modul u\u017e n\u011bkde zabudovan\u00fd, nebo nem\u00e1\u0161 p\u0159\u00edstup k s\u00e9riov\u00e9mu portu. Lad\u00edc\u00ed v\u00fdpisy se ukl\u00e1daj\u00ed pomoc\u00ed makra TRACE(&#8230;), nap\u0159. TRACE(TRACE_INFO, F(&#8222;Nazdar sv\u011bte&#8220;)); ulo\u017e\u00ed text &#8222;Nazdar sv\u011bte&#8220;, kter\u00fd se zobraz\u00ed zelenou barvou &#8211; chce to tro\u0161ku si s t\u00edm pohr\u00e1t a zvyknout, ale je to v\u00fdborn\u00fd pomocn\u00edk.<\/li>\n<li>Ovlada\u010d LED je vlastn\u011b primitivn\u00ed sekvencer, kter\u00fd umo\u017e\u0148uje nadefinovat vlastn\u00ed styly blik\u00e1n\u00ed diody LED &#8211; viz definice LS_CONNECTING, LS_CONFIGAP, &#8230; v hlavn\u00edm .ino souboru.<\/li>\n<li>No a to u\u017e je vlastn\u011b v\u0161echno, co to um\u00ed &#8211; do sekc\u00ed, ozna\u010den\u00fdch hv\u011bzdi\u010dkami si m\u016f\u017ee\u0161 doplnit sv\u016fj k\u00f3d a projekt je hotov\u00fd&#8230;<\/li>\n<\/ul>\n<p>No a na \u00fapln\u00fd z\u00e1v\u011br u\u017e klasicky informace o pou\u017eit\u00e9m vybaven\u00ed:<\/p>\n<p><strong>Aktualizace \u0161ablony pro IDE 1.8.10 a Core 2.5.2 &#8211; POZOR!!! \u0161ablona nebude nad\u00e1le aktualizovan\u00e1 pro dal\u0161\u00ed verze IDE<\/strong><\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2019\/11\/et-191118a.zip\">et-191118a<\/a><\/p>\n<p>OS: Linux Ubuntu 16.04 LTS, Macintosh OSX (verzi bohu\u017eel nev\u00edm &#8211; t\u0159eba Patrik nap\u00ed\u0161e&#8230;), Windows 7 x64 Pro<\/p>\n<p>IDE: 1.6.9<\/p>\n<p>ESP8266Core: 2.3.0<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Proto\u017ee dost \u010dasto dost\u00e1v\u00e1m dotazy (a nebo p\u0159\u00edmo prosby) na vytvo\u0159en\u00ed aplika\u010dn\u00ed kostry pro projekty, na kter\u00fdch byste r\u00e1di pracovali, rozhodl jsem se vytvo\u0159it \u0161ablonu, kter\u00e1 co nejv\u00edce zjednodu\u0161\u00ed vytvo\u0159en\u00ed z\u00e1kladu, do kter\u00e9ho pak m\u016f\u017eete vepsat vlastn\u00ed aplikaci. Jedn\u00edm z v\u00e1s je i Patrik, kter\u00fd je v Arduinu za\u010d\u00e1te\u010dn\u00edk a nav\u00edc m\u00e1, na na\u0161e pom\u011bry &hellip; <a href=\"https:\/\/www.xpablo.cz\/?p=1048\" class=\"more-link\">Pokra\u010dov\u00e1n\u00ed textu <span class=\"screen-reader-text\">ESP8266 pro za\u010d\u00e1te\u010dn\u00edka &#8211; \u0160ablona projektu<\/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,5,25],"tags":[36,18],"class_list":["post-1048","post","type-post","status-publish","format-standard","hentry","category-arduino","category-elektronika","category-esp8266","tag-arduino","tag-esp8266"],"_links":{"self":[{"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts\/1048","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=1048"}],"version-history":[{"count":18,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts\/1048\/revisions"}],"predecessor-version":[{"id":1576,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts\/1048\/revisions\/1576"}],"wp:attachment":[{"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1048"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}