{"id":1250,"date":"2017-04-29T18:58:42","date_gmt":"2017-04-29T16:58:42","guid":{"rendered":"http:\/\/www.xpablo.cz\/?p=1250"},"modified":"2024-03-05T07:24:21","modified_gmt":"2024-03-05T06:24:21","slug":"mala-domaci-automatizace-s-esp8266-cast-i-easytherm-connect-hw","status":"publish","type":"post","link":"http:\/\/www.xpablo.cz\/?p=1250","title":{"rendered":"Mal\u00e1 dom\u00e1c\u00ed automatizace s ESP8266, \u010d\u00e1st I. &#8211; EasyTherm Connect+, HW"},"content":{"rendered":"<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170223_173635_web.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1251 alignleft\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170223_173635_web-300x278.jpg\" alt=\"\" width=\"300\" height=\"278\" srcset=\"http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170223_173635_web-300x278.jpg 300w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170223_173635_web-768x710.jpg 768w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170223_173635_web-1024x947.jpg 1024w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170223_173635_web.jpg 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Po\u010d\u00e1tek tohoto projektu se datuje t\u011bsn\u011b p\u0159ed V\u00e1nocemi roku 2016. V mailech, kter\u00e9 dost\u00e1v\u00e1m se objevil jeden, kter\u00fd se dost vymykal norm\u00e1lu &#8211; \u010dten\u00e1\u0159 Dalibor v n\u011bm vykreslil za\u0159\u00edzen\u00ed, kter\u00e9 by pot\u0159eboval navrhnout. Naprosto jasn\u011b definoval po\u017eadovan\u00e9 vstupy a v\u00fdstupy, na rovinu napsal, k \u010demu to pot\u0159ebuje a jak\u00e9 jsou jeho z\u00e1m\u011bry. Vym\u011bnili jsme si n\u011bkolik mail\u016f, ze kter\u00fdch vyplynulo, \u017ee si ud\u011blal i p\u0159edb\u011b\u017en\u00e9 re\u0161er\u0161e co se t\u00fd\u010de mechanick\u00e9 konstrukce a pou\u017eit\u00fdch komponent, tak\u017ee komunikace s n\u00edm byla opravdu velmi konstruktivn\u00ed a rychle vedla k dohod\u011b &#8211; Dalibor vytvo\u0159il zad\u00e1n\u00ed, na z\u00e1klad\u011b kter\u00e9ho jsem za\u010d\u00e1tkem ledna navrhl hardware prvn\u00edho d\u00edlu stavebnice&#8230;<\/p>\n<p><!--more--><\/p>\n<p>Koncep\u010dn\u011b je zapojen\u00ed modulu EasyTherm b\u011b\u017en\u00fdm zapojen\u00edm modulu ESP12E s vyu\u017eit\u00edm v\u0161ech dostupn\u00fdch GPIO v\u00fdvod\u016f.<\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/daduesp_sch.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1254\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/daduesp_sch-300x212.jpg\" alt=\"\" width=\"300\" height=\"212\" srcset=\"http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/daduesp_sch-300x212.jpg 300w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/daduesp_sch-768x543.jpg 768w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/daduesp_sch-1024x724.jpg 1024w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/daduesp_sch.jpg 1052w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Zdrojov\u00e1 \u010d\u00e1st je nap\u00e1jena pomoc\u00ed konektoru mikroUSB s nezbytnou filtrac\u00ed a ochranou proti p\u0159ep\u011bt\u00ed, proto\u017ee nap\u011bt\u00ed VBUS je rovn\u011b\u017e vyu\u017eito pro nap\u00e1jen\u00ed &#8222;chytr\u00e9&#8220; LED.<\/p>\n<p>Jako hlavn\u00ed rozhran\u00ed senzor\u016f bylo zvoleno I2C a microLan s mo\u017enost\u00ed pou\u017e\u00edt Strong Pull-Up nap\u00e1jen\u00ed pro pas\u00edvn\u011b nap\u00e1jen\u00e9 senzory. Na desce je mo\u017enost osadit a\u017e t\u0159i konektory Jack 3.5mm se \u010dty\u0159mi p\u00f3ly. Na ka\u017ed\u00fd z konektor\u016f je vyvedeno nap\u00e1jec\u00ed nap\u011bt\u00ed 3.3V, ji\u0161t\u011bn\u00e9 vyhrazenou vratnou pojistkou 0.2A a sign\u00e1ly SDA a SCL. Sign\u00e1l SCL je mo\u017en\u00e9 vyu\u017e\u00edt jako MicroLan se Strong Pull-Up tranzistorem (ji\u0161t\u011bno stejnou pojistkou, jako pro nap\u00e1jen\u00ed).<\/p>\n<p>Vzhledem k omezen\u00e9mu po\u010dtu v\u00fdvod\u016f modulu ESP12 jsou konektory 1 a 2 paraleln\u011b, co\u017e pon\u011bkud omezuje kombinace senzor\u016f a vy\u017eaduje ur\u010ditou obez\u0159etnost p\u0159i zapojov\u00e1n\u00ed (v nejhor\u0161\u00edm ale senzory pouze nekomunikuj\u00ed &#8211; nem\u011blo by doj\u00edt k po\u0161kozen\u00ed).<\/p>\n<p>Pro roz\u0161\u00ed\u0159en\u00ed mo\u017enost\u00ed pou\u017eit\u00ed je d\u00e1le mo\u017enost osadit bezdr\u00e1tov\u00fd modul RFM69W, kter\u00fd pak nahrazuje z\u00e1suvku \u010d\u00edslo 3 (bohu\u017eel &#8211; GPIO v\u00fdvod\u016f je skute\u010dn\u011b poskrovnu).<\/p>\n<p>Cel\u00e9 zapojen\u00ed je realizov\u00e1no na desce plo\u0161n\u00e9ho spoje o rozm\u011brech cca 5.7&#215;5.7cm tak, aby se ve\u0161lo do krabi\u010dky, ur\u010den\u00e9 Daliborem.<\/p>\n<p>Desky op\u011bt vyrobilo <a href=\"https:\/\/www.seeedstudio.com\/fusion_pcb.html\">SeeedStudio<\/a> (st\u00e1v\u00e1 se m\u00fdm &#8222;dvorn\u00edm&#8220; dodavatelem PCB pro konstrukce), zat\u00edmco Dalibor navrhoval potisk krabi\u010dky s logem &#8211; jeden z rann\u00fdch n\u00e1vrh\u016f vypadal takto:<\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/potisk_krabicka_v3.1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1258\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/potisk_krabicka_v3.1-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/potisk_krabicka_v3.1-300x300.jpg 300w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/potisk_krabicka_v3.1-150x150.jpg 150w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/potisk_krabicka_v3.1.jpg 733w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Hotov\u00e9 plo\u0161n\u00e9 spoje p\u0159i\u0161ly 13. \u00fanora a j\u00e1 je\u0161t\u011b musel p\u00e1r dn\u00ed \u010dekat na zb\u00fdvaj\u00edc\u00ed sou\u010d\u00e1stky. Osazen\u00ed a o\u017eiven\u00ed prvn\u00ed s\u00e9rie pak prob\u011bhlo naprosto bez pot\u00ed\u017e\u00ed.<\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170302_173704_web.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1262\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170302_173704_web-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170302_173704_web-300x225.jpg 300w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170302_173704_web-768x576.jpg 768w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170302_173704_web-1024x768.jpg 1024w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170302_173704_web.jpg 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>(ty zb\u00fdvaj\u00edc\u00ed t\u0159i \u010dekaly na RFM69W, kter\u00fdch jsem m\u011bl m\u00e1lo).<\/p>\n<p>No a od t\u00e9 doby postupn\u011b p\u00ed\u0161i obslu\u017en\u00fd firmware. Nejd\u0159\u00edve jsem za\u010dal s <a href=\"https:\/\/www.letscontrolit.com\/\">ESPEasy<\/a>, kter\u00fd se mi zpo\u010d\u00e1tku velmi l\u00edbil svoj\u00ed filozofi\u00ed, ale \u010d\u00edm v\u00edce jsem pronikal do jeho vnit\u0159nost\u00ed, t\u00edm v\u00edce jsem byl rozhodnut\u00fd pou\u017e\u00edt pr\u00e1v\u011b pouze filozofii a jinak v\u0161e p\u0159epracovat. Pomalu jsem za\u010dal p\u0159episovat jednotliv\u00e9 komponenty, upravovat a testovat kostry ovlada\u010d\u016f senzor\u016f a roz\u0161i\u0159ovat koncepci.<\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170326_132621_web.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1264\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170326_132621_web-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170326_132621_web-300x225.jpg 300w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170326_132621_web-768x576.jpg 768w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170326_132621_web-1024x768.jpg 1024w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170326_132621_web.jpg 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Po \u010dase jsem dok\u00e1zal propojit i v\u00edce EasyTherm\u016f do s\u00edt\u011b s p\u0159ed\u00e1v\u00e1n\u00edm m\u011b\u0159en\u00ed (i tato filozofie byla p\u0159evzata z p\u016fvodn\u00edho ESPEasy).<\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170402_154849_web.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1265\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170402_154849_web-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170402_154849_web-300x225.jpg 300w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170402_154849_web-768x576.jpg 768w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170402_154849_web-1024x768.jpg 1024w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/20170402_154849_web.jpg 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>P\u0159evzal jsem i princip pravidel, kter\u00fd pova\u017euji za naprosto unik\u00e1tn\u00ed n\u00e1pad a skv\u011bl\u00e9 \u0159e\u0161en\u00ed. Co se mi v\u0161ak nel\u00edbilo, byl princip zad\u00e1v\u00e1n\u00ed t\u011bchto pravidel. V p\u016fvodn\u00edm ESPEasy se v\u0161e p\u00ed\u0161e textov\u011b do textov\u00e9ho pole ve webov\u00e9m formul\u00e1\u0159i, co\u017e je sice dosta\u010duj\u00edc\u00ed (a m\u011b by vyhovovalo), ov\u0161em v dob\u011b, kdy jedno z nejv\u011bt\u0161\u00edch hesel UX specialist\u016f je &#8222;hlavn\u011b nenu\u0165 u\u017eivatele p\u0159em\u00fd\u0161let&#8220; se tento postup ukazuje b\u00fdt hrub\u011b nedostate\u010dn\u00fd.<\/p>\n<p>Z p\u0159edchoz\u00edch re\u0161er\u0161\u00ed jsem si pamatoval syst\u00e9m programov\u00e1n\u00ed pomoc\u00ed grafick\u00fdch blok\u016f, naz\u00fdvan\u00fd <a href=\"https:\/\/scratch.mit.edu\/\">Scratch<\/a>, kter\u00fd byl ur\u010den\u00fd pr\u00e1v\u011b pro jednoduch\u00e9 programov\u00e1n\u00ed. To je sice super n\u00e1pad, ale vy\u017eaduje aplikaci b\u011b\u017e\u00edc\u00ed na PC, co\u017e jsem necht\u011bl &#8211; m\u00fdm z\u00e1m\u011brem je, aby v\u0161e b\u011b\u017eelo jen z ESP8266 a jako ovl\u00e1dac\u00ed a konfigura\u010dn\u00ed aplikace bude pou\u017eit pouze webov\u00fd prohl\u00ed\u017ee\u010d. Na\u0161t\u011bst\u00ed pro m\u011b existuje <a href=\"https:\/\/developers.google.com\/blockly\/\">Blockly<\/a> &#8211; javascriptov\u00e1 aplikace, b\u011b\u017e\u00edc\u00ed snad ve v\u0161ech modern\u00edch prohl\u00ed\u017ee\u010d\u00edch s mo\u017enost\u00ed vytvo\u0159en\u00ed vlastn\u00edch programovac\u00edch blok\u016f a exportn\u00edho modulu v pot\u0159ebn\u00e9 syntaxi Rules z ESPEasy.<\/p>\n<p>Sedl jsem tedy k projektu a (asi po \u0161est\u00e9) jsem ho p\u0159epracoval &#8211; vym\u011bnil jsem souborov\u00fd syst\u00e9m SPIFFS za nejnov\u011bj\u0161\u00ed verzi 2.6 kv\u016fli rychlosti. P\u016fvodn\u00ed ESPHttpServer jsem nahradil <a href=\"https:\/\/github.com\/me-no-dev\/ESPAsyncWebServer\">asynchronn\u00edm<\/a>, kter\u00fd umo\u017e\u0148uje paraleln\u00ed obsluhu v\u00edce dotaz\u016f, do Arduino IDE jsem doplnil p\u0159eklad pro 2MB filesystem a 2MB pam\u011bti pro sketch. D\u00e1le jsem do Blockly dopsal (a st\u00e1le dopisuji) bloky, kter\u00e9 odpov\u00eddaj\u00ed filozofii pravidel a v\u00fdstupn\u00ed kompil\u00e1tor do syntaxe, kter\u00e1 odpov\u00edd\u00e1 p\u016fvodn\u00edm pravidl\u016fm z ESPEasy (pozd\u011bji je asi p\u0159epracuji do formy bin\u00e1rn\u00edch k\u00f3d\u016f kv\u016fli rychlosti interpretace). V\u00fdsledek pak v sou\u010dasnosti vypad\u00e1 n\u011bjak takto:<\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/espblockly.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1268\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/espblockly-300x263.png\" alt=\"\" width=\"300\" height=\"263\" srcset=\"http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/espblockly-300x263.png 300w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/espblockly-768x673.png 768w, http:\/\/www.xpablo.cz\/wp-content\/uploads\/2017\/04\/espblockly.png 1022w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Jde o verzi Blockly, kter\u00e1 je <strong>kompletn\u011b serv\u00edrovan\u00e1 z ESP8266<\/strong> v\u010detn\u011b ve\u0161ker\u00e9 grafiky, audiosoubor\u016f, blok\u016f a p\u0159ekladu. Nahr\u00e1n\u00ed cel\u00e9ho prost\u0159ed\u00ed trv\u00e1 ve v\u011bt\u0161in\u011b p\u0159\u00edpad\u016f pod 2.5 sekundy a to v\u010detn\u011b nahr\u00e1n\u00ed naposledy ulo\u017een\u00fdch blok\u016f. Mus\u00edm nicm\u00e9n\u011b p\u0159iznat, \u017ee na software m\u00e1m je\u0161t\u011b spoustu pr\u00e1ce, tak\u017ee bude trvat, ne\u017e vyjde druh\u00fd d\u00edl \u010dl\u00e1nku&#8230;<\/p>\n<p>No a na z\u00e1v\u011br, jako obvykle, ke sta\u017een\u00ed cel\u00fd projekt HW pro Kicad.<\/p>\n<div style=\"text-align:center; width:250px; margin: auto; font-size:smaller;\"><a href=\"http:\/\/www.xpablo.cz\/?wpfb_dl=34\" class=\"wpfb-dlbtn\"><div><\/div><\/a>\r\nEasyThermRevA (679.2 KiB, 1574 downloads)\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Po\u010d\u00e1tek tohoto projektu se datuje t\u011bsn\u011b p\u0159ed V\u00e1nocemi roku 2016. V mailech, kter\u00e9 dost\u00e1v\u00e1m se objevil jeden, kter\u00fd se dost vymykal norm\u00e1lu &#8211; \u010dten\u00e1\u0159 Dalibor v n\u011bm vykreslil za\u0159\u00edzen\u00ed, kter\u00e9 by pot\u0159eboval navrhnout. Naprosto jasn\u011b definoval po\u017eadovan\u00e9 vstupy a v\u00fdstupy, na rovinu napsal, k \u010demu to pot\u0159ebuje a jak\u00e9 jsou jeho z\u00e1m\u011bry. Vym\u011bnili jsme si &hellip; <a href=\"http:\/\/www.xpablo.cz\/?p=1250\" class=\"more-link\">Pokra\u010dov\u00e1n\u00ed textu <span class=\"screen-reader-text\">Mal\u00e1 dom\u00e1c\u00ed automatizace s ESP8266, \u010d\u00e1st I. &#8211; EasyTherm Connect+, HW<\/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,21],"tags":[74,18,20],"class_list":["post-1250","post","type-post","status-publish","format-standard","hentry","category-arduino","category-elektronika","category-esp8266","category-internet-of-things","tag-automatizace","tag-esp8266","tag-iot"],"_links":{"self":[{"href":"http:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts\/1250","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1250"}],"version-history":[{"count":17,"href":"http:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts\/1250\/revisions"}],"predecessor-version":[{"id":2039,"href":"http:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts\/1250\/revisions\/2039"}],"wp:attachment":[{"href":"http:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1250"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1250"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}