{"id":975,"date":"2016-05-27T17:21:06","date_gmt":"2016-05-27T15:21:06","guid":{"rendered":"http:\/\/www.xpablo.cz\/?p=975"},"modified":"2017-11-03T10:21:31","modified_gmt":"2017-11-03T09:21:31","slug":"esp8266-pro-zacatecnika-jednoduchy-server-s-cidlem-dht1122","status":"publish","type":"post","link":"https:\/\/www.xpablo.cz\/?p=975","title":{"rendered":"ESP8266 pro za\u010d\u00e1te\u010dn\u00edka &#8211; jednoduch\u00fd server s \u010didlem DHT11\/22"},"content":{"rendered":"<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/DHTSS.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-976 alignleft\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/DHTSS-206x300.png\" alt=\"DHTSS\" width=\"206\" height=\"300\" srcset=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/DHTSS-206x300.png 206w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/DHTSS.png 441w\" sizes=\"auto, (max-width: 206px) 100vw, 206px\" \/><\/a>Dostal jsem mailem dotaz, zda nem\u00e1m n\u011bjak\u00fd p\u0159\u00edklad pro za\u010d\u00e1te\u010dn\u00edka na Arduino ESP8266, kter\u00fd by obsahoval obsluhu webov\u00e9ho serveru a \u010dten\u00ed \u010didla relativn\u00ed vlhkosti a teploty DHT11\/22. Odpov\u011bd\u011bl jsem mu, \u017ee si mysl\u00edm, \u017ee by nem\u011bl b\u00fdt probl\u00e9m n\u011bco vzorov\u00e9ho &#8222;sp\u00edchnout&#8220;, ale teprve p\u0159i psan\u00ed jsem si uv\u011bdomil, \u017ee to nen\u00ed jen tak. Napsat o\u0161et\u0159en\u00ed serveru opravdu je jednoduch\u00e9, vy\u010d\u00edt\u00e1n\u00ed hodnot tak\u00e9 nen\u00ed probl\u00e9m. Pot\u00ed\u017e ov\u0161em nast\u00e1v\u00e1 v okam\u017eiku, kdy je t\u0159eba tohle v\u0161echno n\u011bjak seskl\u00e1dat tak, aby to bylo snadno konfigurovateln\u00e9, snadno aktualizovateln\u00e9, zobrazen\u00ed hodnot vypadalo aspo\u0148 tro\u0161ku slu\u0161n\u011b a p\u0159itom na\u010d\u00edt\u00e1n\u00ed str\u00e1nky netrvalo v\u011b\u010dnost.<\/p>\n<p><!--more--><\/p>\n<p>Kl\u00ed\u010dem k dosa\u017een\u00ed tohoto c\u00edle bylo sehnat vhodn\u00fd hardware, na kter\u00e9m bych mohl za\u010d\u00edt. Proto\u017ee jsem doma m\u011bl desti\u010dku Wemos D1 mini s DHT shieldem a necht\u011bl jsem zbyte\u010dn\u011b tr\u00e1vit \u010das nad zapojov\u00e1n\u00edm breadboardu, byla volba jasn\u00e1.<\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9781_web_crop.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-978 alignleft\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9781_web_crop-300x194.jpg\" alt=\"IMG_9781_web_crop\" width=\"300\" height=\"194\" srcset=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9781_web_crop-300x194.jpg 300w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9781_web_crop-768x496.jpg 768w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9781_web_crop-1024x661.jpg 1024w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9781_web_crop.jpg 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9780_web_crop.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-979 aligncenter\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9780_web_crop-300x274.jpg\" alt=\"IMG_9780_web_crop\" width=\"300\" height=\"274\" srcset=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9780_web_crop-300x274.jpg 300w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9780_web_crop-768x701.jpg 768w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9780_web_crop-1024x935.jpg 1024w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9780_web_crop.jpg 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Dal\u0161\u00ed moje \u00favahy sm\u011b\u0159ovaly ke snadn\u00e9 konfigurovatelnosti &#8211; tak\u017ee jsem pou\u017eil moji knihovnu WiFiConfig, snadn\u00e9 aktualizaci firmware &#8211; pomoc\u00ed ArduinoOTA. Na \u010dem jsem se ale zarazil bylo to hezk\u00e9 zobrazen\u00ed a rychl\u00e9 na\u010d\u00edt\u00e1n\u00ed str\u00e1nky. Na\u0161t\u011bst\u00ed jsem na\u0161el na internetu zm\u00ednku o SVG (Scalable Vector Graphic), co\u017e je textov\u00fd popis grafiky v syntaxi XML (http:\/\/www.w3schools.com\/svg\/svg_inhtml.asp), kter\u00fd um\u00ed vykreslit v\u0161echny modern\u00ed prohl\u00ed\u017ee\u010de. V\u00fdhodou je, \u017ee popis jednoduch\u00fdch grafick\u00fdch prvk\u016f nen\u00ed p\u0159\u00edli\u0161 velk\u00fd (rychlost na\u010d\u00edt\u00e1n\u00ed) a m\u016f\u017ee b\u00fdt p\u0159\u00edmo vlo\u017een\u00fd do HTML k\u00f3du (vysta\u010d\u00edme si s jedn\u00edm requestem na str\u00e1nku). Po chv\u00edli hled\u00e1n\u00ed jsem objevil <a href=\"https:\/\/www.mschweighauser.com\/web-ui-for-a-weather-station\/\">projekt<\/a>, jeho\u017e webovou aplikaci jsem &#8222;p\u0159iohnul&#8220; k po\u017eadovan\u00e9mu stavu. No bu\u010fme up\u0159\u00edmn\u00ed &#8211; v podstat\u011b jsem jen tro\u0161ku jinak poskl\u00e1dal u\u017e hotov\u00e9 prvky (za co\u017e p\u016fvodn\u00edmu autorovi d\u011bkuji), p\u0159evedl je do PROGMEM, abych nemusel pou\u017e\u00edvat souborov\u00fd syst\u00e9m a cel\u00fd p\u0159\u00edklad byl snadn\u011bj\u0161\u00ed ke studiu a nakonec jsem pouze napsal generov\u00e1n\u00ed JSON v\u00fdsledku m\u011b\u0159en\u00ed. Pro jednoduchou diagnostiku a snadn\u011bj\u0161\u00ed pochopen\u00ed je skript dopln\u011bn\u00fd lad\u00edc\u00edmi v\u00fdpisy na s\u00e9riov\u00fd port.<\/p>\n<p>Tak\u017ee pou\u017eit\u00e9 moduly jsou:<\/p>\n<ul>\n<li>WiFiConfig &#8211; star\u00e1 se o p\u0159ipojen\u00ed k WiFi s\u00edti, vytv\u00e1\u0159\u00ed v p\u0159\u00edpad\u011b pot\u0159eby konfigura\u010dn\u00ed www server a ukl\u00e1d\u00e1\/na\u010d\u00edt\u00e1 konfiguraci WiFi do (simulovan\u00e9) EEPROM<\/li>\n<li>espnbns &#8211; slou\u017e\u00ed pro snadnou lokalizaci za\u0159\u00edzen\u00ed v s\u00edti Windows a v kombinaci s ArduinoOTA pak umo\u017e\u0148uje lokalizovat modul pomoc\u00ed nap\u0159. http:\/\/&lt;jm\u00e9no modulu&gt; (s\u00ed\u0165 Windows), nebo http:\/\/&lt;jm\u00e9no modulu&gt;.local (s\u00edt\u011b Linux\/Mac)<\/li>\n<li>interval &#8211; \u010dasuje p\u0159\u00edstupy na \u010didlo DHT, proto\u017ee rychlost dotazov\u00e1n\u00ed m\u016f\u017ee b\u00fdt max. jednou za cca 2 sekundy<\/li>\n<\/ul>\n<p>Mimoto jsou pou\u017eity Adafruit knihovny pro obsluhu DHT a standardn\u00ed Arduino ESP8266 knihovny pro OTA a komunikaci. V\u0161echny pou\u017eit\u00e9 knihovny mimo standardn\u00edch jsou p\u0159\u00edmo obsa\u017eeny v adres\u00e1\u0159ov\u00e9 struktu\u0159e projektu.<\/p>\n<p>Fin\u00e1ln\u00ed testov\u00e1n\u00ed prob\u00edhalo pomoc\u00ed USB Powerbanky, proto\u017ee jsem tak\u00e9 cht\u011bl ov\u011b\u0159it spolehlivost b\u011bhu (zat\u00edm b\u011b\u017e\u00ed cca 5 hodin v kuse&#8230;)<\/p>\n<p><a href=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9783_web.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-983\" src=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9783_web-300x225.jpg\" alt=\"IMG_9783_web\" width=\"300\" height=\"225\" srcset=\"https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9783_web-300x225.jpg 300w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9783_web-768x576.jpg 768w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9783_web-1024x768.jpg 1024w, https:\/\/www.xpablo.cz\/wp-content\/uploads\/2016\/05\/IMG_9783_web.jpg 1200w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>A na z\u00e1v\u011br, p\u0159ed odkazem ke sta\u017een\u00ed, jako obvykle pou\u017eit\u00e1 konfigurace:<\/p>\n<p>OS Windows 7 x64 Professional SP1<\/p>\n<p>Arduino IDE 1.6.9 (Portable konfigurace)<\/p>\n<p>ESP8266 Core v 2.3.0-rc1<\/p>\n<p>Odkaz do obchodu pro zakoupen\u00ed modulu Wemos D1<\/p>\n<p><a href=\"http:\/\/s.click.aliexpress.com\/e\/EmqjIIe\" target=\"_parent\">Wemos D1 mini V2 4M bytes<\/a><\/p>\n<p>No a te\u010f u\u017e jen arch\u00edv ke sta\u017een\u00ed, z\u00edskan\u00fd funkc\u00ed &#8222;Archivovat projekt&#8220; z IDE<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dostal jsem mailem dotaz, zda nem\u00e1m n\u011bjak\u00fd p\u0159\u00edklad pro za\u010d\u00e1te\u010dn\u00edka na Arduino ESP8266, kter\u00fd by obsahoval obsluhu webov\u00e9ho serveru a \u010dten\u00ed \u010didla relativn\u00ed vlhkosti a teploty DHT11\/22. Odpov\u011bd\u011bl jsem mu, \u017ee si mysl\u00edm, \u017ee by nem\u011bl b\u00fdt probl\u00e9m n\u011bco vzorov\u00e9ho &#8222;sp\u00edchnout&#8220;, ale teprve p\u0159i psan\u00ed jsem si uv\u011bdomil, \u017ee to nen\u00ed jen tak. Napsat o\u0161et\u0159en\u00ed &hellip; <a href=\"https:\/\/www.xpablo.cz\/?p=975\" class=\"more-link\">Pokra\u010dov\u00e1n\u00ed textu <span class=\"screen-reader-text\">ESP8266 pro za\u010d\u00e1te\u010dn\u00edka &#8211; jednoduch\u00fd server s \u010didlem DHT11\/22<\/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-975","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\/975","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=975"}],"version-history":[{"count":6,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts\/975\/revisions"}],"predecessor-version":[{"id":1389,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=\/wp\/v2\/posts\/975\/revisions\/1389"}],"wp:attachment":[{"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xpablo.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}