<?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>python Archivy - blog.vyoralek.cz</title>
	<atom:link href="https://blog.vyoralek.cz/stitek/python/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.vyoralek.cz/stitek/python/</link>
	<description>Tech témata, které mě baví</description>
	<lastBuildDate>Sat, 25 Apr 2020 12:55:00 +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>python Archivy - blog.vyoralek.cz</title>
	<link>https://blog.vyoralek.cz/stitek/python/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">133748570</site>	<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 fetchpriority="high" 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 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>Instalace Python 3.6 na Ubuntu 16.04</title>
		<link>https://blog.vyoralek.cz/iot/instalace-python-3-6-na-ubuntu-16-04/</link>
					<comments>https://blog.vyoralek.cz/iot/instalace-python-3-6-na-ubuntu-16-04/#comments</comments>
		
		<dc:creator><![CDATA[jvyoralek]]></dc:creator>
		<pubDate>Sun, 24 Jun 2018 14:28:45 +0000</pubDate>
				<category><![CDATA[Smarthome]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://blog.vyoralek.cz/?p=333</guid>

					<description><![CDATA[<p>Ve výchozí instalaci Ubuntu 16.04 je k dispozici Python 3.5.2 (můžeme si ověřit pomocí příkazu python3 -V). Některé aplikace však vyžadují Python 3.5.3 a vyšší a my se tak podíváme jak ho do této verze Ubuntu přidat. Přidání repository třetí strany Nejprve je potřeba přidat repozitář třetí strany, tzv. PPA sudo add-apt-repository ppa:jonathonf/python-3.6 a budeme muset [&#8230;]</p>
<p>The post <a href="https://blog.vyoralek.cz/iot/instalace-python-3-6-na-ubuntu-16-04/">Instalace Python 3.6 na Ubuntu 16.04</a> appeared first on <a href="https://blog.vyoralek.cz">blog.vyoralek.cz</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ve výchozí instalaci Ubuntu 16.04 je k dispozici Python 3.5.2 (můžeme si ověřit pomocí příkazu python3 -V). Některé aplikace však vyžadují Python 3.5.3 a vyšší a my se tak podíváme jak ho do této verze Ubuntu přidat.</p>
<h2>Přidání repository třetí strany</h2>
<p>Nejprve je potřeba přidat repozitář třetí strany, tzv. PPA</p>
<pre><code>sudo add-apt-repository ppa:jonathonf/python-3.6</code></pre>
<p>a budeme muset ještě přidání povrdit</p>
<pre><code>A plain backport of *just* Python 3.6. System extensions/Python libraries may or may not work.

Don't remove Python 3.5 from your system - it will break.
 More info: https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6
Press [ENTER] to continue or ctrl-c to cancel adding it
</code></pre>
<p>a nakonec provedeme refresh balíčků</p>
<pre><code>sudo apt-get update</code></pre>
<h2>Instalace Pythonu 3.6</h2>
<p>Nejrpve nainstalujeme samotný balíček</p>
<pre><code>sudo apt-get install python3.6</code></pre>
<p>a nastavíme Python 3.6 jako prioritnější před 3.5 &#8211; původní verzi Pythonu jsme zachovali.</p>
<pre><code>sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
</code></pre>
<p>Nakonec si můžeme zkontrolovat, že Python 3.6 bude nově výchozí pro Python 3 namísto původní verze 3.5</p>
<p><img decoding="async" class="aligncenter size-full wp-image-339" src="https://i0.wp.com/blog.vyoralek.cz/wp-content/uploads/2018/06/python36.png?resize=716%2C253&#038;ssl=1" alt="" width="716" height="253" data-recalc-dims="1" /></p>
<p>Mějte na paměti, že jakékoliv další balíčky závislé na verzi je potřeba nainstalovat se suffixem 3.6, jinak budou nainstalovány verze pro 3.5, tj. např.</p>
<ul>
<li>python3.6-venv</li>
<li>python3.6-dev</li>
<li>atp..</li>
</ul>
<p>The post <a href="https://blog.vyoralek.cz/iot/instalace-python-3-6-na-ubuntu-16-04/">Instalace Python 3.6 na Ubuntu 16.04</a> appeared first on <a href="https://blog.vyoralek.cz">blog.vyoralek.cz</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.vyoralek.cz/iot/instalace-python-3-6-na-ubuntu-16-04/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">333</post-id>	</item>
	</channel>
</rss>
