blog.vyoralek.cz

Tasmotizer – jednodušší nahrávání firmware Tasmota

Pokud hledáte přívětivější uživatelské rozhraní pro flashovací nástroj esptool tak Tasmotizer je aplikace na kterou byste se měli podívat.

Tasmotizer je v zjednodušeném pohledu grafická nadstavba pro esptool se zaměřením na jeden konkrétní firmware a to Tasmotu.

Ve svém důsledku nám pak může zjednodušit život v případě nahrávání firmware Tasmota do zařízení založených na čipech ESP8266 a nebo ESP32.

Zároveň jak už jsem naznačil, aplikace neumí pouze nahrávání, ale poskytuje i možnost přímé konfigurace Tasmoty. Tasmotizer můžeme použít i k nahrání nejenom Tasmoty, ale defakto jakéhokoliv binárního firmware, který máme k dispozici.

Na všechny možnosti se podrobněji podíváme dále.

Instalace

Nejprve ale začneme s tím, jak vlastně si aplikaci nainstalovat. Díky tomu, že je stejně jako esptool napsána v programovacím jazyce Python můžeme ji spustit na všech hlavních operačních systémech – Windows, Linux a MacOS – a máme k dispozici hned tři možnosti instalace.

1. Stažení binárního souboru

První možností, kterou ale bohužel můžeme použít pouze pro Windows je stažení binárního souboru, nebo-li přímo spustitelné aplikace – v případě Windows končící .exe.

Tasmotizer je k dispozici ve dvou verzích – pro 64bit a 32bit Windows – a poslední verzi si stáhneme z git repozitáře Tasmotizeru.

2. PIP balíček

Univerzálním řešením pro všechny systémy je použití PIP instalátoru balíčku, který je k dispozici pro Python.

Nevýhodou tohoto řešení je nutnost mít nainstalovaný Python3 a zároveň PIP3 instalátor.

Pokud obojí máme pak nejprve doporučuji provést aktualizaci PIP3 na poslední verzi příkazem:

$ pip3 install --upgrade pip

… následované příkazem pro instalaci Tasmotizeru:

$ pip3 install tasmotizer

Výhodou je, že nemusíme na Githubu Tasmotizeru hledat poslední verzi, ale automaticky se nám nainstaluje ta poslední dostupná.

Samotný tasmotizer pak spustíme příkazem tasmotizer.py.

Pokud by nám to nefungovalo bude potřeba se nejprve přepnout do adresáře kam se Tasmotizer z PIP balíčku nainstaloval, což zjistíme pomocí příkazu:

$ pip3 show -f tasmotizer

3. Zdrojové soubory

Poslední možností, kterou využijí asi spíše fajnšmekři, kteří si snad chtějí něco v aplikaci upravit je pomocí stažení zdrojových souborů Tasmotizeru.

Pokud by měl někdo zájem o tuhle variantu nabízím všechny potřebné příkazy zasebou, ale více se tomuto způsobu věnovat nebudu.

$ git clone https://github.com/tasmota/tasmotizer.git
$ cd tasmotizer
$ python3 -m venv ./
$ source ./bin/activate
$ pip install -r requirements.txt
$ python ./tasmotizer

Připojení / propojení ESP zařízení

Pro nahrání nového firmware do ESP8266 či ESP32 budeme potřebovat propojit počítač sériovou linkou se samotným čipem.

K tomu budeme potřebovat ideálně nějaký programátor, který má na jedné straně USB a na druhé piny sériové komunikace.

Já dlouhodobě doporučuji tento – Aluminum shell CP2102 USB 2.0 to TTL UART – vypadá hezky,  funguje skvěle a cena je necelých $3 (cca. 65Kč).

USB UART

Programátor pak propojíme se zařízením, do kterého chceme firmware nahrát pomocí čtyřech pinů:

  1. PIN1 – 3V3
  2. RX (TDX na USB)
  3. TX (RXD na USB)
  4. Ground (GND)

Kde se piny nacházejí je potřeba si zjistit dle konkrétního produktu – na blogu mám několik článků s postupem pro specifické produkty.

Přepnutí do flashovacího módu

Pro to abychom mohli do ESP8266, resp. ESP32 nahrát vlastní firmware je potřeba čip přepnout do flashovacího módu.

Způsob přepnutí se opět liší dle produktu – pro většinu platí, že je potřeba před připojením elektřiny zmáčknout nějaké tlačítko, které pak podržíme během připojování programátoru a pustíme jakmile máme připojeno.

Flashování

Jakmile máme zařízení propojeno s počítačem a přepnuto do flashovacího módu můžeme se konečně vrhnout na spuštění Tasmotizeru a měli bychom vidět následující obrazovku:

⚠️ Na Windows spusťte Tasmotizer raději jak administrátor – v opačném případě vám aplikace může při nahrávání spadnout.

1. Výběr portu

Ze seznamu si vybereme port kam máme připojený programátor. Pokud jsme náhodou programátor připojili až po spuštění aplikace, pak je potřeba nejprve seznam obnovit pomocí tlačítka Refresh.

2. Výběr obrazu – binárního souboru

Nejzajímavější část s největším benefitem oproti esptool je možnost výběru binárního souboru s firmware, kde máme tři možnosti:

  1. BIN file – sem můžeme podstrčit jakýkoliv binární firmware, který je kompatibilní se zařízením kam se chystáme soubor nahrát, nemusí to tedy nutně být Tasmota
  2. Release file – zde už je vše naopak pouze o Tasmotě a se seznamu si můžeme vybrat verzi vydané verze tasmoty – já víceméně všude používám verzi tasmota-CZ.bin, která poskytuje rozhraní v češtině
  3. Development file – totéž co předchozí bod, ale s ještě nevydanými verzemi – čistě pro experimentování

3.Volitelné části – záloha a vymazání

Zejména pokud flashujeme zařízení poprvé může být vhodné si před nahráním nového firmware udělat zálohu toho stávajícího. Například v případě Sonoff produktů si tak můžeme zazálohovat firmware pro eWeLink a kdykoliv v budoucnosti se k němu vrátit.

Druhou možností je vymazání, která je narozdíl od zálohy ve výchozím nastavení zapnuta. Způsobí promazání všech oblastí interní flash paměti, díky čemuž se můžeme vypnout případným problémům při změně typu firmware.

? Je potřeba mít na paměti, že kterýkoliv z těchto volitelných kroků způsobí restart samotného zařízení jakmile je krok dokončen a podle typu zařízení ho poté budeme muset znovu přepnout do režimu flashování.

4. Flashování – Tasmotize!

Nyní máme vše nastaveno a můžeme se rovnou vrhnout na spuštění flashování zmáčknutím velkého modrého tlačítka Tasmotize!.

Nastavení Tasmoty – Send config

Výše jsme si uvedli, že pomocí Tasmotizeru je víceméně možné nahrát jakýkoliv firmware – nemusí to být nutně Tasmota. Nyní se podíváme na možnosti skrývající se pod fialovým tlačítkem Send config, které je však už specifické pouze pro Tasmotu.

Jedná se o možnost konfigurace naflashovaného zařízení přímo z aplikace Tasmotizeru, tedy určitá alternativa k webovému rozhraní samotné Tasmoty v zařízení.

V základu nám Tasmotizer umožňuje nastavit tři oblasti:

  1. WiFi konfiguraci – hlavní a záložní WiFi, ke které se má Tasmota připojit
  2. MQTT – nastavení připojení a zpráv pro MQTT komunikaci
  3. Typ zařízení a to buď formou modulu výběrem z předdefinovaného seznamu zařízení a nebo pomocí obecnější šablony – Template

Zhodnocení

Tasmotizer je zajímavým rozšířením esptool s rozšířujícími funkcemi speciálně pro Tasmotu. Užitečný může být zejména pokud s Flashováním začínáte, jelikož váš mnohem lépe provede nastavením a samotným flashováním.

Nevýhodou pak může být fakt, že je založen na sériové komunikaci a není tedy už z principu možné provádět dávkové operace pro více zařízení najednou – k tomu nám lépe poslouží například TasmoAdmin o kterém jsem již dříve psal.

? plusy

  • hezké, příjemné a jednoduché uživatelské prostředí
  • možnost spustit na jakýmkoliv operačním systému

? mínusy

  • pro Linux/MacOS nutnost instalace z Pythonu
  • nemožnost komunikace jinak než přes sérivou linku

4 comments

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..

  • Děkuji za skvělý článek. Tasmotizer je opravdu bomba a musí to s ním zvládnout každý. Já jsem měl jen problémy, že ho musím spouštět jako správce, jinak občas hlásí „program přestal pracovat“ a spadne.

  • Díky za super článek. Objevil jsem kouzlo Sonoffu a Tasmota je jasné pokračování až se mi podaří zprovoznit na NASu HASS. Tasmotizer vypadá skvěle, zatím čekám na USB modul a měl bych dotaz – image pro moduly je univerzální? Tzn. že funguje ve všech zařízeních od Sonoffu stejně? Mám 4CHR3 a tasmota_CZ.bin do něj můžu nahrát bez obav o funkčnost?
    Děkuji
    Pavel

  • JAk dám prosím hodromady více obrazů?
    Dejme tomu že potřebuji CZ/SENSORS/DISPLAY
    Díky za tip