<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Visual Studio Code Archivy - blog.vyoralek.cz</title>
	<atom:link href="https://blog.vyoralek.cz/stitek/visual-studio-code/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.vyoralek.cz/stitek/visual-studio-code/</link>
	<description>Tech témata, které mě baví</description>
	<lastBuildDate>Sun, 31 May 2020 10:44:31 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.3</generator>

<image>
	<url>https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/10/cropped-512px-Circle-icons-pencil_2.svg_.png?fit=32%2C32&#038;ssl=1</url>
	<title>Visual Studio Code Archivy - blog.vyoralek.cz</title>
	<link>https://blog.vyoralek.cz/stitek/visual-studio-code/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">133748570</site>	<item>
		<title>Chytré doplňování pro Hass.io ve Visual Studio Code</title>
		<link>https://blog.vyoralek.cz/iot/chytre-doplnovani-pro-hass-io-ve-visual-studio-code/</link>
					<comments>https://blog.vyoralek.cz/iot/chytre-doplnovani-pro-hass-io-ve-visual-studio-code/#comments</comments>
		
		<dc:creator><![CDATA[jvyoralek]]></dc:creator>
		<pubDate>Wed, 08 May 2019 09:49:30 +0000</pubDate>
				<category><![CDATA[Smarthome]]></category>
		<category><![CDATA[hass.io]]></category>
		<category><![CDATA[homeassistant]]></category>
		<category><![CDATA[Visual Studio Code]]></category>
		<guid isPermaLink="false">https://blog.vyoralek.cz/?p=2138</guid>

					<description><![CDATA[<p>Pokud používáte pro editaci konfigurace HomeAssistenta editor od Microsoftu Visual Studio Code pak se vám bude hodit jeden z poměrně nových pluginů pro tento editor.</p>
<p>The post <a href="https://blog.vyoralek.cz/iot/chytre-doplnovani-pro-hass-io-ve-visual-studio-code/">Chytré doplňování pro Hass.io ve Visual Studio Code</a> appeared first on <a href="https://blog.vyoralek.cz">blog.vyoralek.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Plugin je na světě teprve od 23. března tohoto roku a jak už to nazačátku bývá je pod poměrně rychlým vývojem a smělým plánem do budoucna. Pojďme se tedy podívat co nám plugin už nyní (aktuálně ve verzi 0.5) nabízí a s čím nám může při nastavování HomeAssistenta pomoct.</p>



<h2 class="wp-block-heading">Co to umí?</h2>



<h3 class="wp-block-heading">1. doplňování ID entit a služeb</h3>



<p>Prvním benefitem používají pluginů je napovídání názvu entit a služeb. Konfigurujeme-li tak například světla, pak už v sekci entities nemusíme ručně psát některy hodně dlouhé ID, ale pouze si vybereme se seznamu.</p>



<p>Totéž pak funguje i se záznamy typu služba &#8211; service.</p>



<div class="wp-block-ta-image wp-block-image"><figure class="aligncenter"><ta><img fetchpriority="high" decoding="async" width="637" height="352" src="//i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/05/image-28.png" alt="Doplňování ID entit a služeb" class="wp-image-2142"/></ta><figcaption>Doplňování ID entit a služeb</figcaption></figure></div>



<h3 class="wp-block-heading">2. doplňování a validace pro konfiguraci a Lovelace schéma</h3>



<p>Kromě ID entit a služeb nám plugin pomůže i s názvy sekcí a atributů, tj. např. v sekci entities nám automaticky dává možnost zadat atribut entity ze seznamu.</p>



<p>Zároveň dochází i průběžně k validaci otevřeného konfiguračního souboru a pokud uděláme nějakou chybu pak nevalidní část se podtrhne.</p>



<div class="wp-block-ta-image wp-block-image"><figure class="aligncenter"><ta><img decoding="async" width="533" height="244" src="//i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/05/image-29.png" alt="Doplňování názvu sekcí a atributů" class="wp-image-2143"/></ta><figcaption>Doplňování názvu sekcí a atributů</figcaption></figure></div>



<h3 class="wp-block-heading">3. rychlá navigace do odkazovaného souboru pomocí F12</h3>



<p>Pokud používáte konfiguraci rozdělenou do více souborů &#8211; což dříve nebo později určitě doporučuji &#8211; pak se může hodit rychlý skok do těchto odkazovaných souborů pomocí F12. </p>



<p>Z programovacích jazyků je toto známé jako skok na definici metody, třídy atp.</p>



<div class="wp-block-ta-image wp-block-image"><figure class="aligncenter"><ta><img decoding="async" width="511" height="316" src="//i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/05/image-30.png" alt="Rychlá navigace mezi soubory" class="wp-image-2144"/></ta><figcaption>Rychlá navigace mezi soubory</figcaption></figure></div>



<p>A nyní se pojďme podívat jak si plugin nainstalovat a nastavit.</p>



<h2 class="wp-block-heading">Instalace a konfigurace</h2>



<h3 class="wp-block-heading">1. Vygenerování dlouhodobého tokenu pro IDE</h3>



<p>Jelikož plugin vyžaduje <strong>komunikaci s HomeAssistentem</strong> budeme potřeba nějaký způsob a<strong>utorizovat tento plugin</strong> k přístupu do HA. To uděláme pomocí tzv. <strong>dlouhodobých tokenů</strong> &#8211; každý z nich je platný po dobu 10let.</p>



<p>Generování tokonů najdeme pod svým <strong>profilem</strong> v HA &#8211; klikneme na naše iniciály vlevo nahoře (nebo zadáme do adresy profile) a úplně <strong>poslední položka</strong> je věnována dlouhodobým tokenům.</p>



<p>Klikneme na <strong>Create token</strong> a zkopírujeme si vygenerovaný token do schránky.</p>



<figure class="wp-block-ta-image wp-block-image"><ta><img loading="lazy" decoding="async" width="617" height="281" src="//i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/05/image-27.png" alt="Gnerování dlouhodobých tokenů v HomeAssistentovi" class="wp-image-2141"/></ta><figcaption>Gnerování dlouhodobých tokenů v HomeAssistentovi</figcaption></figure>



<h3 class="wp-block-heading">2. Instalace rozšíření v MarketPlace</h3>



<p>Přepneme se do Visual Studio Code a v levé liště klikneme na <strong>Extensions</strong>. Do vyhledávacího políčka pak dáme např. home a hned první položka už by měla být <strong>Home Assistent Config Help</strong>, což je plugin který hledáme.</p>



<div class="wp-block-ta-image wp-block-image"><figure class="aligncenter"><ta><img loading="lazy" decoding="async" width="515" height="158" src="//i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/05/image-26.png" alt="Home Assistent Config Helper v MarketPlace Visual Studio Code" class="wp-image-2140"/></ta><figcaption>Home Assistent Config Helper v MarketPlace Visual Studio Code</figcaption></figure></div>



<h3 class="wp-block-heading">3. Konfigurace rozšíření</h3>



<p>Posledním krokem je pak <strong>konfigurace pluginu</strong>. Přes <strong>ozubené kolečko</strong> (vlevo dole) půjdeme do <strong>nastavení</strong> (Settings) a příslušenou sekci naklikáme pomocí <strong>Extensions</strong> -> <strong>Home Assistant Config Helper.</strong> </p>



<p>Položky k nastavení jsou pouze tři:</p>



<ul><li><strong>Host URL</strong> &#8211; zadáme adresu HomeAssistenta</li><li>I<strong>gnore Certifaces</strong> &#8211; je důležité pokud používáme https a nemáme certifikovaný certifikát</li><li><strong>Long Lived Access Token</strong> &#8211; zde vložíme token se schránky, který jsme si předtím vygenerovali v našem uživatelském profilu HomeAssistenta.</li></ul>



<figure class="wp-block-ta-image wp-block-image"><ta><img loading="lazy" decoding="async" width="858" height="405" src="//i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/05/image-25.png" alt="Nastavení pluginu pro HomeAssistant" class="wp-image-2139"/></ta><figcaption>Nastavení pluginu pro HomeAssistant</figcaption></figure>



<p>Toď vše. Věřím, že vám to stejně jako mě ušetří nějaký ten čas a bude zajímavé sledovat kam se plugin bude posouvat.</p>
<p>The post <a href="https://blog.vyoralek.cz/iot/chytre-doplnovani-pro-hass-io-ve-visual-studio-code/">Chytré doplňování pro Hass.io ve Visual Studio Code</a> appeared first on <a href="https://blog.vyoralek.cz">blog.vyoralek.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.vyoralek.cz/iot/chytre-doplnovani-pro-hass-io-ve-visual-studio-code/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2138</post-id>	</item>
		<item>
		<title>ESP8266 a ESP32 &#8211; záloha a nahrání nového firmware pomocí esptool</title>
		<link>https://blog.vyoralek.cz/iot/esp8266-a-esp32-zaloha-a-nahrani-noveho-firmware-pomoci-esptool/</link>
					<comments>https://blog.vyoralek.cz/iot/esp8266-a-esp32-zaloha-a-nahrani-noveho-firmware-pomoci-esptool/#comments</comments>
		
		<dc:creator><![CDATA[jvyoralek]]></dc:creator>
		<pubDate>Sat, 29 Dec 2018 18:46:29 +0000</pubDate>
				<category><![CDATA[Smarthome]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[esp32]]></category>
		<category><![CDATA[esp8266]]></category>
		<category><![CDATA[esptool]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Visual Studio Code]]></category>
		<guid isPermaLink="false">https://blog.vyoralek.cz/?p=1118</guid>

					<description><![CDATA[<p>Pokud chceme do hardwarového zařízení s čipem ESP8266 či ESP32 nahrát nový firmware je vhodné nejprve zálohovat ten stávající. A nejen na to se nám může hodit utilita esptool. </p>
<p>The post <a href="https://blog.vyoralek.cz/iot/esp8266-a-esp32-zaloha-a-nahrani-noveho-firmware-pomoci-esptool/">ESP8266 a ESP32 &#8211; záloha a nahrání nového firmware pomocí esptool</a> appeared first on <a href="https://blog.vyoralek.cz">blog.vyoralek.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Níže uvedený postup je možno použít jak pro vývojové desky s čipem ESP8266 / ESP32 tak i hotové produkty obsahující tento čip &#8211; například od firmy iTead s označením Sonoff &#8211; za předpokladu, že mají vyvedené porty pro sériovou komunikaci</p>



<h2 class="wp-block-heading">Instalace <g class="gr_ gr_11 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling" id="11" data-gr-id="11">esptool</g></h2>



<p>Esptool je balíčkem pro Python a nejprve tak je potřeba si zajistit instalaci pythonu a pip instalátoru. Je možné ho nainstalovat jak do Pythonu 2.x tak 3.x, ale určitě doporučuji použít spíše Python 3.x.</p>



<h3 class="wp-block-heading">1. Python + PIP</h3>



<h4 class="wp-block-heading">Windows</h4>



<p><del>V aktuální verzi Windows 10 je již přítomen jak python 3 tak i pip3 instalátor balíčků.</del> &#8211; tak jak jsem byl upozorněn, zatím Python 3 ve Windows 10 není. Pokud máme starší verzi Windows a nebo z jakéhokoliv jiného důvodu nemůžeme python najít pak si ho stáhneme a nainstalujeme z <a href="https://www.python.org/downloads/">oficiálních stránek</a>.</p>



<h4 class="wp-block-heading">MacOS</h4>



<p>Ve výchozí instalaci poslední verze MacOS Catalina máme pouze python 2.7 bez pip instalátoru. Pokud používáte balíčkovací systém <a href="https://brew.sh/index_cs">brew</a> &#8211; což rozhodně doporučuji &#8211; nainstalujeme si python 3 i s utilitou pip3 pomocí:</p>



<pre class="wp-block-syntaxhighlighter-code">brew install python3</pre>



<p>Samotná instalace nás pak informuje, že máme k dispozici pip3 instalátor balíčků:</p>



<pre class="wp-block-syntaxhighlighter-code">You can install Python packages with
  pip3 install &lt;package>
They will install into the site-package directory
  /usr/local/lib/python3.7/site-packages</pre>



<h4 class="wp-block-heading">Linux</h4>



<p>U Linuxu je situace nejjednodušší &#8211; já používám víceméně pouze Ubuntu a u něj (a zřejmě i u zbytku Linuxových distribucí) je Python součástí základní instalace v obou verzí, tj. jak 2.x  tak 3.x a Python tak není potřeba extra instalovat.</p>



<h3 class="wp-block-heading">2. Esptool balíček pro Python</h3>



<p>Jakmile máme připravený python s pip pak esptool nainstalujeme příkazem:</p>



<pre class="wp-block-syntaxhighlighter-code"># pro Python 2.x
pip install esptool

# pro Python 3.x
pip3 install esptoool</pre>



<h2 class="wp-block-heading">Zobrazení informací o použitém chipu</h2>



<p>Pokud si nejste jistí velikosti flash paměti tak hodí příkaz </p>



<pre class="wp-block-syntaxhighlighter-code">~ esptool.py flash_id</pre>



<p>který nejen tuto informaci obsahuje.</p>



<h3 class="wp-block-heading">ESP8266</h3>



<pre class="wp-block-syntaxhighlighter-code">esptool.py v2.5.1
Found 4 serial ports
Serial port /dev/cu.usbserial-1A150
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: 2c:3a:e8:2f:86:18
Uploading stub...
Running stub...
Stub running...
Manufacturer: c8
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...</pre>



<h3 class="wp-block-heading">ESP32</h3>



<pre class="wp-block-syntaxhighlighter-code">esptool.py v2.5.1
Found 2 serial ports
Serial port COM4
Connecting........___
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core
MAC: 30:ae:a4:21:c2:b4
Uploading stub...
Running stub...
Stub running...
Warning: ESP32 has no Chip ID. Reading MAC instead.
MAC: 30:ae:a4:21:c2:b4
Hard resetting via RTS pin...</pre>



<p>Občas se může hodit specifikovat přímo sériový port &#8211; zejména pokud jich máme více aktivních a to uděláme pomocí volby <code>--port</code>, tedy např:</p>



<pre class="wp-block-syntaxhighlighter-code"># Linux/MacOS
~ esptool.py --port /dev/cu.SLAB_USBtoUART flash_id 

# Windows
~ esptool.py --port COM4 flash_id </pre>



<h2 class="wp-block-heading">Promazání stávajícího obsahu flash paměti</h2>



<p>Doporučovaný krok, než začněme nahrávat nový firmware je po vytvoření zálohy stávajícího vymazat obsah flash paměti:</p>



<pre class="wp-block-syntaxhighlighter-code">~ esptool.py --port /dev/cu.SLAB_USBtoUART erase_flash
esptool.py v2.5.1
Serial port /dev/cu.SLAB_USBtoUART
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: 5c:cf:7f:58:2f:21
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 2.7s
Hard resetting via RTS pin...</pre>



<h2 class="wp-block-heading">Nahrání nového firmware / obnovení zálohy</h2>



<p>Druhým užitečným příkazem je <strong>write_flash</strong>, který slouží k nahrání nového firmware a nebo zálohy do flash paměti desky.</p>



<pre class="wp-block-syntaxhighlighter-code">~ esptool.py write_flash 0x00000 backup.img
esptool.py v2.5.1
Found 4 serial ports
Serial port /dev/cu.usbserial-1A150
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: 2c:3a:e8:2f:86:18
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0340
Compressed 4194304 bytes to 399650...
Wrote 4194304 bytes (399650 compressed) at 0x00000000 in 38.7 seconds (effective 866.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...</pre>



<h3 class="wp-block-heading">Kde image pro nahrání vzít?</h3>



<ol><li>záloha stávající flash paměti</li><li>od vydavatele firmware</li><li>kompilací ze zdrojových souborů</li></ol>



<h4 class="wp-block-heading">1. Záloha stávající flash paměti</h4>



<p>První možností vytvoření image je příkaz <strong>read_flash</strong>, který uloží obsah flash paměti na váš disk a budete tak mít kompletní zálohu.</p>



<pre class="wp-block-syntaxhighlighter-code">~ esptool.py read_flash 0x00000 0x400000 backup.img
esptool.py v2.5.1
Found 4 serial ports
Serial port /dev/cu.usbserial-1A150
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: 2c:3a:e8:2f:86:18
Uploading stub...
Running stub...
Stub running...
4194304 (100 %)
4194304 (100 %)
Read 4194304 bytes at 0x0 in 379.4 seconds (88.4 kbit/s)...
Hard resetting via RTS pin...</pre>



<h4 class="wp-block-heading">2. Od vydavatele firmware</h4>



<p>Kromě zdrojových souborů jsou často k dispozici i předkompilované bin soubory v různých variantách. Stahujte ale jen od prověřených zdrojů, jelikož neuvidíte co je uvnitř.</p>



<h5 class="wp-block-heading">Sonoff</h5>



<p>Oficiálně získat binární souboru firmwaru od Sonoffu je vypadá to nemožné. Naneštěstí je možné si vyrobit zálohu výše uvedeným způsobem a níže najdete oficiální firmware alespoň pro pár produktů od Sonoffu:</p>



<ul><li><a href="https://blog.vyoralek.cz/wp-content/files/sonoff/sonoff-basic-r2-1M.bin">Sonoff Basic R2</a></li><li><a href="https://blog.vyoralek.cz/wp-content/files/sonoff/sonoff-rf-r2-1M.bin">Sonoff RF R2</a></li><li><a href="https://blog.vyoralek.cz/wp-content/files/sonoff/Sonoff_Pow_R2_4M.bin">Sonoff Pow R2</a></li><li><a href="https://blog.vyoralek.cz/wp-content/files/sonoff/Sonoff_4ch_r2_1M.bin">Sonoff 4CH R2</a></li><li><a href="https://blog.vyoralek.cz/wp-content/files/sonoff/Sonoff_th_10_1m.bin">Sonoff TH-10</a></li><li><a href="https://blog.vyoralek.cz/wp-content/files/sonoff/Sonoff_th_16_1m.bin">Sonoff TH-16</a></li><li><a href="https://blog.vyoralek.cz/wp-content/files/sonoff/sonoff-ifan02.bin">Sonoff IFAN02</a></li><li><a href="https://blog.vyoralek.cz/wp-content/files/sonoff/sonoff-b1-1M.bin">Sonoff B1</a></li></ul>



<h5 class="wp-block-heading">Tasmota</h5>



<p>Příkladem alternativního firmware může být firmware Tasmota, o kterém mám na blogu spousty článků a který je vydáván i jako <a href="https://github.com/arendst/Sonoff-Tasmota/releases">BIN soubory v mnoha modifikacích</a>.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="975" height="447" src="//i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/12/image-28.png" alt="Příklad binárních image pro přímé nahrání do flash paměti " class="wp-image-1124"/><figcaption>Příklad binárních image pro přímé nahrání do flash paměti </figcaption></figure>



<h4 class="wp-block-heading">3. Kompilace ze zdrojových souborů</h4>



<p>Samotnou kompilaci můžete také provést na jednom počítači a nahrání pomocí <strong>esptool.py</strong> na dalším.</p>



<p>Pokud budete chtít vyexportovat binární soubor z <strong>Arduino IDE</strong>, pak tuto možnost najdete v menu <strong>Projekt</strong> -&gt; <strong>Export kompilovaného Binaru</strong>.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="282" height="176" src="//i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/12/image-27.png" alt="" class="wp-image-1121"/></figure></div>



<p>V případě použití <strong>Visual Studio Code </strong>je potřeba zapnout <strong>PlatformIO: Build</strong> a výsledné soubory najdeme v podadresáři .pioenvs adresáře se zdrojovými soubory. Např. build sonoff je uložen v .pioenvs/sonoff/firmware.bin.</p>



<h2 class="wp-block-heading">Aktualizace ESPTool</h2>



<pre class="wp-block-syntaxhighlighter-code">pip install esptool --upgrade</pre>



<p>Kompletní a vyčerpávající popis všech možnosti <strong>esptoolu </strong>najdete na <a href="https://github.com/espressif/esptool">stránkách projektu na GitHubu</a>.</p>
<p>The post <a href="https://blog.vyoralek.cz/iot/esp8266-a-esp32-zaloha-a-nahrani-noveho-firmware-pomoci-esptool/">ESP8266 a ESP32 &#8211; záloha a nahrání nového firmware pomocí esptool</a> appeared first on <a href="https://blog.vyoralek.cz">blog.vyoralek.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.vyoralek.cz/iot/esp8266-a-esp32-zaloha-a-nahrani-noveho-firmware-pomoci-esptool/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1118</post-id>	</item>
		<item>
		<title>Sonoff produkty &#8211; nahrání firmware Tasmota</title>
		<link>https://blog.vyoralek.cz/iot/sonoff-produkty-nahrani-firmware-tasmota/</link>
					<comments>https://blog.vyoralek.cz/iot/sonoff-produkty-nahrani-firmware-tasmota/#comments</comments>
		
		<dc:creator><![CDATA[jvyoralek]]></dc:creator>
		<pubDate>Tue, 03 Jul 2018 07:20:19 +0000</pubDate>
				<category><![CDATA[Smarthome]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[pájení]]></category>
		<category><![CDATA[Sonoff]]></category>
		<category><![CDATA[Tasmota]]></category>
		<category><![CDATA[UART]]></category>
		<category><![CDATA[Visual Studio Code]]></category>
		<guid isPermaLink="false">https://blog.vyoralek.cz/?p=327</guid>

					<description><![CDATA[<p>Sonoff produkty firmy ITead jsou skvělé při své ceně, ale ne všem bude vyhovovat nutnost připojení na internet a použití čínského software. Popíšu vám tedy způsob jak nahrát do těchto produktů firmware jiný.</p>
<p>The post <a href="https://blog.vyoralek.cz/iot/sonoff-produkty-nahrani-firmware-tasmota/">Sonoff produkty &#8211; nahrání firmware Tasmota</a> appeared first on <a href="https://blog.vyoralek.cz">blog.vyoralek.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p style="background-color:#fffdbd;font-size:19px" class="has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f1ec-1f1e7.png" alt="🇬🇧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> This <strong>article is also available in English</strong> on my second blog <a href="https://lovetechstuff.com/iot-products/how-to-upload-sonoff-tasmota-firmware-to-sonoffs-products/">lovetechstuff.com</a></p>



<p>Jednou z možností je&nbsp;opensource <a href="https://github.com/arendst/Tasmota">Tasmota</a> (dříve známá jako Sonoff-Tasmota) a ukážeme si to na produktu <a href="http://s.click.aliexpress.com/e/bGYrG1Bi">Sonoff Basic</a>.&nbsp;Nahrání do ostatních (nejen) Sonoff produktů bude obecně stejné a případné odlišnosti popíšu v nějakém dalším článku.</p>



<p style="background-color:#ccf0ff" class="has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" />Alternativou k <a href="https://github.com/arendst/Tasmota">Tasmotě</a> je poměrně mladší firmware <a href="https://esphome.io">ESPHome</a>, který si však získává stále větší pozornost, díky mnohem přímočařejší integraci na <a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-1-cast/">HomeAssistant</a>. Sepsal jsem k němu dva základní články &#8211; obecně pro <a href="https://blog.vyoralek.cz/iot/esphomelib-alternativni-firmware-pro-esp8266-a-esp32/">ESP čipy</a> a pak jako integraci pro <a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-6-cast-sonoff-esphome/">Sonoff</a> a doporučuji se na ně také kouknout.</p>



<p style="background-color:#fffdbd" class="has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f941.png" alt="🥁" class="wp-smiley" style="height: 1em; max-height: 1em;" />Na začátek vás musím upozornit, že nahráním vlastního firmware &#8211; např. Tasmoty, přijdete o možnost ovládat zařízení z původní aplikace, tj. např. v případě Sonoff produktů z aplikace <strong>EweLink</strong>. Na druhou stranu toto je vykoupeno následnou větší svobodou v možnostech ovládání, nezávislosti na extérním Cloudu a Internetu.</p>



<p>Pokud se na níže uvedené kroky necítíte, požádejte někoho zkušenějšího a nebo se mi můžete zkusit ozvat.</p>



<h2 class="wp-block-heading">Jednotlivé kroky</h2>



<ol><li>Otevření Sonoff Basic krabičky<br></li><li>Napájení PIN headeru<br></li><li>Zapojení USB vs. PIN header Sonoff desky<br></li><li>Instalace ovladačů USB UART (Windows)<br></li><li>Reboot v módu nahrávání firmware<br></li><li>Stažení nebo příprava Sonoff-Tasmota firmware<br></li><li>Nahrání Sonoff-Tasmota firmware</li></ol>



<p>Nyní si detailněji popíšeme celý postup, který je platný pro Sonoff Basic revize R1 a R2. Pokud máte verzi R3, pak koukněte do <a href="https://blog.vyoralek.cz/iot/sonoff-basic-r3-predstaveni-porovnani-a-nahrani-firmware-tasmota/">tohohle článku</a> k této verzi.</p>



<h2 class="wp-block-heading">Otevření Sonoff Basic krabičky</h2>



<p>Není potřeba nic šroubovat. Pouze přerušíme &#8222;záruční&#8220; pečeť a opatrně vymáčkneme spodní část z krabičky.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="770" height="513" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/DSCF6963.jpg?resize=770%2C513&#038;ssl=1" alt="Sonoff Basic krabička" class="wp-image-461" data-recalc-dims="1"/><figcaption>Pootevřená krabička Sonoff Basic</figcaption></figure></div>



<h2 class="wp-block-heading">Napájení PIN headeru</h2>



<p>Budete potřebovat alespoň základní zručnost v pájení. Pro začátek si určitě vystačíte se základní pájkou.</p>



<p>Já mohu doporučit tuhle ruční <a class="thirstylink" title="AliExpress - MX-DEMEL 60W Electric Soldering" href="https://blog.vyoralek.cz/go/aliexpress-mx-demel-60w-electric-soldering/" data-shortcode="true">MX-DEMEL 60W Electric Soldering Iron</a> v ceně přibližně $4,5, tj. cca 100Kč.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="500" height="447" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/uart2.png?resize=500%2C447&#038;ssl=1" alt="Pajka" class="wp-image-422" data-recalc-dims="1"/><figcaption>Základní elektrická pájka<br></figcaption></figure></div>



<p>Dále budeme potřebovat <a href="http://s.click.aliexpress.com/e/nqf3wPm">PIN header</a> o délce 4 nebo 5 pinů &#8211; poslední pátý je nepovinný &#8211; nebudeme ho pro upload firmware potřebovat.</p>



<p> Na desce lze poměrně jednoduše najít místo pro 4/5pinový header a do něj header napájíme. </p>



<h2 class="wp-block-heading">Zapojení USB UART vs. PIN header Sonoff desky</h2>



<p>Potřebujeme nyní propojit PIN header s USB UART zařízením, které se pak zapojí do USB počítače a slouží k samotnému uploadu nového firmware. </p>



<p>Pokud ještě UART zařízení nemáte pak mohu doporučit&nbsp;<a class="thirstylink" title="AliExpress - CP2102 USB to TTL UART" href="https://blog.vyoralek.cz/go/aliexpress-cp2102-usb-to-ttl-uart/" data-shortcode="true">Aluminum shell CP2102 USB 2.0 to TTL UART</a>&nbsp;&#8211; vypadá hezky,&nbsp; funguje skvěle a cena je necelých $3 (cca. 65Kč).</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="498" height="327" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/uart1.png?resize=498%2C327&#038;ssl=1" alt="USB UART" class="wp-image-421" data-recalc-dims="1"/><figcaption>USB UART</figcaption></figure></div>



<p>Na samotném UART máme jednotlivé PINy hezky popsány a uvedeme si mapování na PIN header Sonoff desky &#8211; pořadí je od černého kolíku:</p>



<ol><li>PIN1 &#8211; <strong>3V3</strong></li><li><strong>RX</strong> (TDX na USB)</li><li><strong>TX</strong> (RXD na USB)</li><li><strong>Ground</strong> (GND)</li><li>Zůstane nezapojeno (verze R2 má pouze 4 piny)</li></ol>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="1221" height="814" src="//i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/01/image-15.png" alt="Schéma zapojení Pinů pro Sonoff Basic" class="wp-image-1273"/><figcaption>Schéma zapojení Pinů pro Sonoff Basic</figcaption></figure></div>



<p class="has-text-color has-background has-gridlove-bg-color has-gridlove-cat-10-background-color"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f941.png" alt="🥁" class="wp-smiley" style="height: 1em; max-height: 1em;" /><strong>Sonoff nezapojujeme do elektrické sítě přes jeho vstupy (do 220V), ale měl by být při nahrávání firmware napájen jen z UARTu.</strong></p>



<h2 class="wp-block-heading">Ovladače USB UART (Windows)</h2>



<p>V případě operačního systému Windows 10 bude potřeba doinstalovat ovladače na UART. <del>Na MacOS mám vyzkoušeno, že to funguje bez nutnosti nějaké manuální instalace</del> &#8211; podle všeho minimálně v Mojave je potřeba ovladače instalovat, popis dále.</p>



<p>Předpokládejme tedy, že máme propojenu desku Sonoff a UART a můžeme tak zasunout UART do USB počítače.</p>



<p>Ve <strong>Správě počítače </strong>-&gt; <strong>Správce zařízení</strong> by se nám měla objevit mezi <strong>Porty</strong> položka s chybějícími ovladači:</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="400" height="455" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/06/cp2102.png?resize=400%2C455&#038;ssl=1" alt="UART Driver Windows" class="wp-image-331" data-recalc-dims="1"/></figure></div>



<p>Stáhneme si proto ovladače <a href="https://blog.vyoralek.cz/wp-content/uploads/2018/06/CP210x_Universal_Windows_Driver.zip">CP210x_Universal_Windows_Driver </a>a ovladač aktualizujeme -&gt; stav by se měl změnit na <strong>Toto zařízení pracuje správně</strong>.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="400" height="455" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/06/cp21020_2.png?resize=400%2C455&#038;ssl=1" alt="UART Driver Windows" class="wp-image-332" data-recalc-dims="1"/></figure></div>



<p>Ve <strong>správě počítače</strong> tak nyní je port bez upozornění a navíc jsme schopni zjistit i číslo COM portu, které se nám může později hodit, tedy v našem případě <strong>COM4</strong>.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="574" height="340" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/uart3.png?resize=574%2C340&#038;ssl=1" alt="UART Driver Windows" class="wp-image-426" data-recalc-dims="1"/></figure></div>



<h2 class="wp-block-heading" id="mce_2">Ovladače USB UART (MacOS)</h2>



<p>Nejsem si tím už úplně jistý, ale v předchozích verzích Sierra a High Sierra zřejmě nebylo potřeba ovladače instalovat. Nicméně v poslední verzi to podle všeho potřeba je.</p>



<p>Ovladače pro CP210x si stáhneme z webu <a href="https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers">Silicon Labs</a> a nainstalujeme. Není potřeba restart.</p>



<p>Pro ověření připojíme USB UART do počítače a zadáme příkaz:</p>



<pre class="wp-block-preformatted">ls /dev/tty.*<br></pre>



<p>a měli bychom v seznamu vidět <strong>/dev/tty.SLAB_USBtoUART</strong>.</p>



<h2 class="wp-block-heading">Reboot v módu nahrávání firmware</h2>



<p>UART USB ještě od počítače jednou odpojíme a na Sonoff desce zmáčkneme hlavní tlačítko &#8211; takové to vysoké černé &#8211; budeme ho držet a USB přípojíme zpět. Jakmile je připojeno můžeme tlačítko pustit.</p>



<h2 class="wp-block-heading">Stažení nebo příprava firmware</h2>



<p>V tomhle kroku máme dvě možnosti z nichž každá má své plusy a mínusy. </p>



<h3 class="wp-block-heading">1. Stažení a nahrání firmware</h3>



<p>Ve většina případů bychom si měli vystačit se stažením předpřipravených obrazů ze <a href="https://github.com/arendst/Tasmota/releases">stránek Tasmota</a>. </p>



<p style="font-size:17px" class="has-background has-gridlove-highlight-acc-background-color"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" />Pokud si chcete níže uvedený postup zjednodušit, doporučuji použít aplikaci <a href="https://blog.vyoralek.cz/iot/tasmotizer-jednodussi-nahravani-firmware-tasmota/">Tasmotizer o které jsem vydal samostatný článek</a>.</p>



<p>V případě prvotní instalace <strong>Tasmota</strong> můžeme začít s <strong>tasmota-basic.bin (</strong>před verzí 7.x sonoff-basic.bin), který obsahuje navíc WifiManager, Wps a SmartConfig. To nám umožní prvotní nastavení WiFi konfigurace.</p>



<p>Následně pak můžeme už přes webové rozhraní nahrát například českou mutaci <strong>tasmota-CZ.bin</strong> (před verzí 7.x sonoff-CZ.bin).</p>



<p>Před prvním nahráním doporučuji určitě udělat si i zálohu aktuální verze firmwaru pomocí utility <strong>esptool</strong>:</p>



<pre class="wp-block-code"><code>> esptool.py read_flash 0x00000 0x100000 image1M.bin
esptool.py v2.5.1
Found 2 serial ports
Serial port COM4
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: 84:f3:eb:4b:4e:e8
Uploading stub...
Running stub...
Stub running...
1048576 (100 %)
1048576 (100 %)
Read 1048576 bytes at 0x0 in 95.4 seconds (87.9 kbit/s)...
Hard resetting via RTS pin...</code></pre>



<p class="has-text-color has-background has-gridlove-bg-color has-gridlove-cat-10-background-color"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f941.png" alt="🥁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Po zálohování bude sonoff vypnut z upload módu a je potřeba ho do tohoto módu před nahráním nové verze znovu přepnout &#8211; většinou podržením tlačítka.</p>



<p>Se stejnou utilitou pak nahrajeme i nový Tasmota firmware:</p>



<pre class="wp-block-code"><code>> esptool.py write_flash -fs 1MB -fm dout 0x0 sonoff-classic.bin
esptool.py v2.5.1
Found 2 serial ports
Serial port COM4
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: 84:f3:eb:4b:4e:e8
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 1048576 bytes to 661082...
Wrote 1048576 bytes (661082 compressed) at 0x00000000 in 59.0 seconds (effective 142.1 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...</code></pre>



<p>Nyní již sonoff jen restartujeme a vše by mělo být připraveno.</p>



<p>Podrobný popis práce s esptool jsem sepsal do <a href="https://blog.vyoralek.cz/iot/esp8266-a-esp32-zaloha-a-nahrani-noveho-firmware-pomoci-esptool/">samostatného článku</a>.</p>



<h4 class="wp-block-heading">Nastavení WiFi</h4>



<p>Po úspešném nahrání firmware staženého z webu nám Sonoff pravděpodobně poběží, ale pokud se podíváme do konzolového výpisu sériové linky uvidíme něco následujícího:</p>



<pre class="wp-block-code"><code>00:00:00 Projekt sonoff Sonoff (Topic sonoff, Záložní DVES_2F8618, GroupTopic sonoffs) Verze 6.4.0(sonoff)-2_4_2
00:00:00 WIF: WifiManager aktivní 3 minuty
00:00:00 HTP: Aktivní Web server sonoff-1560 na IP adrese 192.168.4.1</code></pre>



<p>Říká nám to, že na Sonoffu je aktivní <strong>WiFiManager</strong>, tj. Sonoff se nesnaží připojit do WiFi (jelikož nemá údaje o konfiguraci), ale naopak vytvořil vlastní WiFi s názvem sonoff-1560, kde můžeme konfiguraci provést.</p>



<p>Přípojíme se tedy nejprve na WiFi Sonoffu</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img loading="lazy" decoding="async" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/01/IMG_1511.jpg?resize=370%2C657&#038;ssl=1" alt="WiFi síť Sonoffu" class="wp-image-1243" width="370" height="657" data-recalc-dims="1" /><figcaption>WiFi síť Sonoffu</figcaption></figure></div>



<p>na iPhonu automaticky vyskočí dialog s vyplněním konfigurace (nejsem si jistý jak se to zachová na Androidu):</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img loading="lazy" decoding="async" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/01/IMG_1514.jpg?resize=367%2C652&#038;ssl=1" alt="Konfigurace WiFi sítě Sonoffu" class="wp-image-1241" width="367" height="652" data-recalc-dims="1" /><figcaption>Konfigurace WiFi sítě Sonoffu</figcaption></figure></div>



<p>A po restartu už by se mělo zařízení připojit do WiFi dle vyplněných údajů &#8211; položka WIF .. připojeno v sériové konzoli.</p>



<pre class="wp-block-code"><code>00:00:00 Projekt sonoff Sonoff (Topic sonoff, Záložní DVES_2F8618, GroupTopic sonoffs) Verze 6.4.0(sonoff)-2_4_2
00:00:00 WIF: Připojování k AP1 brloh v módu 11N jako sonoff-1560...
00:00:04 WIF: ...připojeno
00:00:04 DNS: Inicializovaný
00:00:04 HTP: Aktivní Web server sonoff-1560.local na IP adrese 10.2.1.88</code></pre>



<p>Následující část můžeme přeskočit pokud jsme použili stažený firmware.</p>



<h3 class="wp-block-heading">2. Příprava firmware</h3>



<p>Pro tento případ použijeme firmware <strong>Tasmota</strong>, který má repozitář (zdrojové soubory) na <a href="https://github.com/arendst/Tasmota">https://github.com/arendst/Tasmota</a>.</p>



<p>Můžeme se rozhodnout, zda budeme chtít repozitář zklonovat a nebo si jen stáhnout aktuální kopii v zipu &#8211; pro zjednodušení budeme předpokládat stažení ZIPu.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="502" height="301" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/github.png?resize=502%2C301&#038;ssl=1" alt="Tasmota Github" class="wp-image-433" data-recalc-dims="1"/></figure></div>



<p>Dále si ukážeme dva způsoby jak vyrobit binární soubor firmwaru a nahrát ho do zařízení. Prvním bude přes Arduino a druhý přes Microsoft Visual Code.</p>



<h4 class="wp-block-heading">Konfigurační soubor</h4>



<p>Veškeré výchozí nastavení je uloženo v &#8222;sonoff/user_config.h&#8220;, který můžeme zeditovat až později podle toho zda se rozhodneme pro Arduino nebo Visual Code, ale uvádím zde alespoň základní parametry, které je dobré změnit.</p>



<p>

Pro jistotu si ale projděte celý tento soubor.

</p>



<pre class="wp-block-preformatted"><code>// PROJECT is used as the default topic delimiter</code><br><code>#define PROJECT                "sonoff"          </code><br><code>// [Ssid1] Wifi SSID</code><br><code>#define STA_SSID1              "&lt;vaseWifi&gt;"                </code><br><code>// [Password1] Wifi password</code><br><code>#define STA_PASS1              "&lt;vaseWifiHeslo&gt;"                </code><br><code>// [MqttHost]</code><br><code>#define MQTT_HOST              "&lt;IP_MQTT&gt;"                </code><br><code>// [MqttUser] MQTT user</code><br><code>#define MQTT_USER              "&lt;user_MQTT&gt;"       </code><br><code>// [MqttPassword] MQTT password</code><br><code>#define MQTT_PASS              "&lt;password_MQTT&gt;"       </code><br><code>#define MY_LANGUAGE cs-CZ </code></pre>



<h4 class="wp-block-heading">Arduino</h4>



<p>Pokud Arduino ještě nemáme pak si ho stáhneme z adresy <a href="https://www.arduino.cc/en/Main/Software">https://www.arduino.cc/en/Main/Software</a>, popř. u Windows 10 můžeme použít i Windows Store.</p>



<p>V <strong>nastavení</strong> pak přidáme url do <strong>Správce dalších desek</strong>. Poslední verzi najdeme <a href="https://github.com/esp8266/Arduino/releases">v GitHub repozitáři </a>&#8211; hledáme soubor package_esp8266com_index.json.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="693" height="607" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/arduino.png?resize=693%2C607&#038;ssl=1" alt="Arduino driver" class="wp-image-434" data-recalc-dims="1"/></figure></div>



<p>V menu <strong>Nástroje -&gt; Vývojová deska</strong> vybereme <strong>Manažer desek</strong> a dáme hledat <strong>ESP8266</strong> a desku nainstalujeme.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="770" height="256" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/arduino2.png?resize=770%2C256&#038;ssl=1" alt="Arduino driver" class="wp-image-435" data-recalc-dims="1"/></figure></div>



<p>Vybereme položku <strong>Soubor -&gt; Otevřít</strong> a v adresáři kam jsme rozbalili zdrojové soubory z GitHubu pro Sonoff-Tasmota vybereme adresář <strong>Sonoff</strong> a soubor <strong>sonoff</strong>.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="748" height="320" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/arduino3.png?resize=748%2C320&#038;ssl=1" alt="Arduino driver" class="wp-image-436" data-recalc-dims="1"/></figure></div>



<p>V menu <strong>Nástroje</strong> nastavte desku podle následujícího obrázku &#8211; zejména zkontrolujte žluté.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="461" height="371" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/arduino4.png?resize=461%2C371&#038;ssl=1" alt="Arduino driver" class="wp-image-439" data-recalc-dims="1"/></figure></div>



<p>V dolní liště byste měli vidět správnou konfiguraci:</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="731" height="27" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/arduino5.png?resize=731%2C27&#038;ssl=1" alt="Arduino driver" class="wp-image-441" data-recalc-dims="1"/></figure></div>



<p>Pomocí Ctrl+R (Kontrola + Kombilace) můžeme zkontrolovat zda projekt jde úspěšně zkompilovat.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="770" height="82" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/arduino6.png?resize=770%2C82&#038;ssl=1" alt="Arduino build" class="wp-image-442" data-recalc-dims="1"/></figure></div>



<hr class="wp-block-separator"/>



<h4 class="wp-block-heading">Update &#8211; chyba kompilace &#8211; chybějící knihovna esp-knx-ip.h</h4>



<p>Dostal jsem emailem dotaz jak vyřešit následující chybu:</p>



<pre class="wp-block-code"><code>n file included from /Users/???/Downloads/Sonoff-Tasmota-6.4.0/sonoff/sonoff.ino:36:0:
sonoff_post.h:41:24: error: esp-knx-ip.h: No such file or directory
 #include &lt;esp-knx-ip.h>
                        ^
compilation terminated.
exit status 1
esp-knx-ip.h: No such file or directory</code></pre>



<p>S podobnou chybou jsem se nesetkal, jelikož už poměrně dlouhou dobu používám pro kompilaci Vistual Studio Code &#8211; popsáno dále v textu. Nicméně pokud z nějakého důvodu preferujete <strong>Arduino IDE</strong>, tak mám řešení.</p>



<ol><li>Jděte to složky kde máte kód <strong>Sonoff-Tasmota</strong> a zkopírujte vše ze složky <strong>Lib</strong> do adruino složky pro knihovny &#8211; obvykle je ve vašich dokumentech složka <strong>Arduino</strong> a v ní <strong>Library</strong>.</li><li>Restartujte <strong>Arduino IDE </strong>a spusťte kompilaci znovu</li><li>Pokud máte stále nějaké chyby, pak zkontrolujte zda nemáte některé knihovny v Arduinu 2x s různými verzemi &#8211; mohli jste tam již nějakou knihovnu mít.</li></ol>



<hr class="wp-block-separator"/>



<h4 class="wp-block-heading">Update 2 &#8211; chyba kompilace &#8211;&nbsp;Please use stable lwIP v1.4</h4>



<p>Druhý problém, který se objevil je z jiného soudku &#8211; netýká se knihoven, ale tentokráte přímo ovladačů pro desku a projeví se chybou</p>



<pre class="wp-block-code"><code>#error Please use stable lwIP v1.4</code></pre>



<p>Řešení je jednoduché. Stačí jít do menu Nástroje -&gt; Vývojová deska &#8230; -&gt; Manažer desek a povýšit verzi pro esp8266 na alespoň 2.4.1</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="797" height="450" src="//i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/12/image-25.png" alt="" class="wp-image-1103"/></figure>



<hr class="wp-block-separator"/>



<h4 class="wp-block-heading">Update 3 &#8211; chyba nahrávání &#8211;&nbsp;Timed out waiting for packet header</h4>



<p>Třetí problém má příčinu v přechozených TX a RX pinech, což se poměrně složitě zjišťuje. Pokud se tedy setkáte s touto chybou, zkuste zapojení na tyto dva piny přehodit.</p>



<pre class="wp-block-code"><code>Connecting…….._____….._____….._____….._____….._____….._____….._____
COM2 failed to connect: Failed to connect to Espressif device: Timed out waiting for packet header

A fatal error occurred: Could not connect to an Espressif device on any of the 1 available serial ports.</code></pre>



<hr class="wp-block-separator"/>



<p>Pokud byla kompilace úspěšná můžeme zkusit rovnou firmware do Sonoff desky nahrát pomocí Ctrl+U (Nahrát).</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="770" height="227" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/arduino7.png?resize=770%2C227&#038;ssl=1" alt="Arduino upload" class="wp-image-443" data-recalc-dims="1"/></figure></div>



<p>UART odpojíme od USB a zapojíme znovu už bez zmáčknutého tlačítka na desce. V menu pak vybereme <strong>Nástroje -&gt; Sériový monitor</strong> a pokud je vše nastraveno správně měli bychom vidět zhruba následující údaje.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="770" height="391" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/arduino8.png?resize=770%2C391&#038;ssl=1" alt="Arduino console" class="wp-image-447" data-recalc-dims="1"/></figure></div>



<h4 class="wp-block-heading">Visual Studio Code</h4>



<p>Pokud ještě Visual Studio Code nemáte pak si jej můžete stáhnout a nainstalovat z&nbsp;<a href="https://code.visualstudio.com/">https://code.visualstudio.com/</a>&nbsp;. Pozor Visual Studio a Visual Studio Code jsou úplně jiné aplikace.</p>



<p>Nejprve si doinstalujeme rozšíření &#8222;PlatformIO IDE&#8220;, které najdeme v Marketplace (čtvrtá ikonka v levé liště) a poté restartujeme Visual Studio Code.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="728" height="407" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/vsc1.png?resize=728%2C407&#038;ssl=1" alt="Visual Studio Code plugins" class="wp-image-448" data-recalc-dims="1"/></figure></div>



<p>V menu vybereme &#8222;File -&gt; Open Folder&#8220; a vybereme kořenový adresář zipu, který jsme si stáhli z GitHubu.</p>



<p>Nastavení portu a popř. dalších vlastností je oproti Arduinu uloženo v souboru platoformio.ini a budeme muset zřejmě změnit dva údaje:</p>



<pre class="wp-block-preformatted"><code>upload_speed = 115200</code><br><code>upload_port = COM4</code></pre>



<p>Vyzkoušíme si build pomocí kláves Ctrl+Alt+B</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="656" height="364" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/vsc2.png?resize=656%2C364&#038;ssl=1" alt="Visual Studio Code build" class="wp-image-450" data-recalc-dims="1"/></figure></div>



<p>Pokud bylo vše vpořádku můžeme rovnou nahrát firmware na desku stisknutím Ctrl+Alt+U.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="689" height="426" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/vsc3.png?resize=689%2C426&#038;ssl=1" alt="Visual Studio Code upload" class="wp-image-451" data-recalc-dims="1"/></figure></div>



<p>UART odpojíme od USB a zapojíme znovu už bez zmáčknutého tlačítka na desce. Pomocí Ctrl+Alt+S spustíme konzoli a pokud je vše nastaveno správně měli bychom vidět zhruba následující údaje.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="770" height="294" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/vsc4.png?resize=770%2C294&#038;ssl=1" alt="Visual Studio Code console" class="wp-image-452" data-recalc-dims="1"/></figure></div>



<h3 class="wp-block-heading">Kontrola na webu</h3>



<p>Úplně nakonec ještě můžeme zkontrolovat nahrání firmware přímo přes webový prohlížeč zadáním IP adresy, kterou jsme viděli v konzoli a měli bychom vidět něco takovéhlo:</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img loading="lazy" decoding="async" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/07/sonoff.png?resize=417%2C550&#038;ssl=1" alt="Sonoff tasmota homepage" class="wp-image-453" width="417" height="550" data-recalc-dims="1" /></figure></div>



<h3 class="wp-block-heading">mDNS jako náhrada IP adresy</h3>



<p>V lokální síti může být užitečné použít přehled IP adress na hostname pro což se používá služba multicast DNS (mDNS). Tasmota má tuto funkci v sobě zabudovanou také, ale ve výchozím nastavení je vypnutá. Abychom ji zapnuli je potřeba do konzoly napsat příkaz:</p>



<pre class="wp-block-code"><code>SetOption55 1</code></pre>



<p>Díky tomu můžeme k webovému rozhraní Tasmoty na zařízení přistupovat i pomocí hostname a ne jen pomocí IP adresy.</p>



<p>Užitečnou funkcí pak může být i příkaz, který zobrazí celý hostname a IP adresu ve webovém rozhraní:</p>



<pre class="wp-block-code"><code>SetOption53 1</code></pre>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="//i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/12/image-17.png" alt="" class="wp-image-3084" width="346" height="498" srcset="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/12/image-17.png?w=417&amp;ssl=1 417w, https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/12/image-17.png?resize=209%2C300&amp;ssl=1 209w, https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/12/image-17.png?resize=370%2C532&amp;ssl=1 370w, https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2019/12/image-17.png?resize=270%2C388&amp;ssl=1 270w" sizes="(max-width: 346px) 100vw, 346px" /></figure></div>



<p>Popis samotného rozhraní si necháme na nějaký další článek.</p>



<p>Pokud hledáte nějaký centrální bod ovládání domácnosti pak doporučuji použít <strong>HomeAssistent</strong>, který si s firmwarem <strong>Tasmota</strong> hravě poradí.</p>



<p class="has-medium-font-size">Kompletní série o HomeAsistantovi obsahuje následující články:</p>



<ul>
<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-1-cast/">1. část</a> &#8211; Instalace HomeAsisstent </li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-2-cast-integrace-sonoff/">2. část</a> &#8211; <g class="gr_ gr_10 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="10" data-gr-id="10">Integrace</g> Sonoff s firmware Sonoff-<g class="gr_ gr_11 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="11" data-gr-id="11">Tasmota</g></li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-3-cast-integrace-homekit/">3. část</a> &#8211; <g class="gr_ gr_12 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="12" data-gr-id="12">Integrace</g> Homekit</li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-4-cast-integrace-sonoff-2/">4. část</a> &#8211; <g class="gr_ gr_13 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="13" data-gr-id="13">Integrace</g> Sonoff s firmware Sonoff-Tasmota &#8211; 2 část</li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-5-cast-wemos-d1-bme280-a-sht31/">5. část</a> &#8211; <g class="gr_ gr_14 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="14" data-gr-id="14">Integrace</g> s Wemos D1 a <g class="gr_ gr_15 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="15" data-gr-id="15">senzory</g> <g class="gr_ gr_20 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling" id="20" data-gr-id="20">teploty</g></li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-6-cast-sonoff-esphome/">6. část</a> &#8211; <g class="gr_ gr_16 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="16" data-gr-id="16">Integrace</g> Sonoff s firmware ESPHome</li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-7-cast-sonoff-pow-esphome/">7. část</a> &#8211; <g class="gr_ gr_17 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="17" data-gr-id="17">Integrace</g> Sonoff POW s firmware ESPHome</li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-8-cast-led-esphome/">8. část</a> &#8211; <g class="gr_ gr_18 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="18" data-gr-id="18">Integrace</g> LED Magic Home s firmware ESPHome</li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-9-cast-integrace-zigbee-xiaomi-mijia-a-aqara/">9. část</a> &#8211; <g class="gr_ gr_31 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace" id="31" data-gr-id="31">Integrace</g> Xiaomi Mijia a Aqara</li>



<li><a href="https://blog.vyoralek.cz/iot/vlastni-zigbee-gateway/">10. část</a> &#8211; Integrace vlastní Zigbee gateway</li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-11-cast-vzdaleny-pristup-do-hass-io/">11. část</a> &#8211; Vzdálený přístup do Hass.io z Internetu</li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-12-cast-zobrazeni-senzorovych-dat-pomoci-influxdb-a-grafany/">12. část</a> &#8211; zobrazení senzorových data pomocí InfluxDB a Grafany</li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-13-cast-add-ony-ktere-pouzivam/">13. část</a> &#8211; Hass.io Add-ony, které používám</li>



<li><a href="https://blog.vyoralek.cz/iot/homeassistant-mi-flora/">14. část</a> &#8211; Integrace Xiaomi Mi Flora</li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-15-cast-integrace-withings-nokia/">15. část</a> &#8211; Integrace Withings (Nokia) </li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-16-cast-nahrada-sqlite-databazi-mysql/">16. část</a> &#8211; náhrada SQLite databází MySQL</li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-17-cast-hacs-addony/">17. část</a> &#8211; HACS Add-ony &#8211; instalace a konfigurace</li>



<li><a href="https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-18-cast-integrace-sonoff-3/">18. část</a> &#8211; Integrace Sonoff s firmware eWeLink </li>



<li><a href="https://blog.vyoralek.cz/iot/homeassistant-nova-integrace-tasmota-v-beta-verzi/">19. část</a> &#8211; nová integrace Sonoff pro HA</li>



<li><a href="https://blog.vyoralek.cz/iot/homeassistant-20-mereni-spotreby/">20. část</a> &#8211; měření spotřeby</li>



<li><a href="https://blog.vyoralek.cz/iot/homeassistant-21-automaticke-zalohy-a-obnoveni-ze-zalohy/">21. část </a>&#8211; automatické zálohy a obnovení ze zálohy</li>



<li><a href="https://blog.vyoralek.cz/iot/homeassistant-22-napojeni-hlasoveho-asistenta-amazon-alexa/">22. část</a> &#8211; napojení hlasového asistenta Amazon Alexa</li>



<li><a href="https://blog.vyoralek.cz/iot/homeassistant-23-automaticke-zalohy-2/">23. část</a> &#8211; automatické zálohy na síťový sdílení disk (Samba)</li>



<li><a href="https://blog.vyoralek.cz/iot/homeassistant-24-bluetooth-zarizeni-a-esphome-proxy/">24. část</a> &#8211; Bluetooth zařízení a ESPHome proxy</li>



<li><a href="https://blog.vyoralek.cz/iot/homeassistant-25-nefunkcni-blokovana-aktualizace-homeassistanta/">25. část</a> &#8211; nefunkční aktualizace HomeAssistanta</li>



<li><a href="https://blog.vyoralek.cz/iot/homeassistant-26-integrace-bluetooth-produktu-switchbot/">26. část</a> &#8211; integrace SwitchBot produktů</li>



<li><a href="https://blog.vyoralek.cz/iot/homeassistant-27-integrace-fotovoltaiky-a-prehledy-v-ha/">27. část</a> &#8211; integrace fotovoltaiky Growatt</li>
</ul>
<p>The post <a href="https://blog.vyoralek.cz/iot/sonoff-produkty-nahrani-firmware-tasmota/">Sonoff produkty &#8211; nahrání firmware Tasmota</a> appeared first on <a href="https://blog.vyoralek.cz">blog.vyoralek.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.vyoralek.cz/iot/sonoff-produkty-nahrani-firmware-tasmota/feed/</wfw:commentRss>
			<slash:comments>103</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">327</post-id>	</item>
	</channel>
</rss>
