V dnešním speciálním díle si představíme možnost, jak flashnout originální firmware ve spínačích Sonoff T1 na firmware Tasmota za pomocí desky Arduino UNO. Důvodů může být hned několik, proč to dělat takto. Tím prvním a hlavním, proč někdo tuto operaci dělá je možnost využívání spínače bez potřeby aplikace eWeLink a jejich cloudu. Tím druhým je pak to, že nemáme jiný způsob, jak spínač k PC připojit, abychom jej mohli flashnout.
V tomto díle budeme potřebovat:
- spínat Sonoff T1 (budeme používat verzi SONOFF T1 R2 EU verze V1.0)
- Arduino UNO
- USB kabel na propojení desky Arduino UNO s PC
- pár kablíků na propojení desky UNO se spínačem Sonoff
- bastldeska – není vyloženě potřeba, ale potřebujeme propojit uzemnění Arduina se spínačem a použít pro vyvolání flashovacího módu na spínači
Spínač Sonoff budeme muset, než začneme flashování rozebrat. Jde nám pouze o přední desku, na které je WiFi, dotyková plocha a čipy. Od zadní plastové části se oddělává silnějším tahem směrem od ní. Na fotkách je vidět jediný způsob, jak je spojena se zadní deskou.
Když máme rozebráno, připojíme spínač Sonoff na desku UNO podle následujícího diagramu a fotek.
Před samotným flashováním musíme deaktivovat čip Atmel na desce Arduino UNO. To se dělá tak, že spojíme pin RESET a GND. Pro flashování spínače totiž není potřeba do desky UNO nahrávat jakoukoliv skici a vlastně nebude vůbec čip Atmel potřeba. Použijeme totiž pouze obvody na desce UNO.
Aby flashování mohlo započíst úspěšně, je potřeba propojit pin GPIO0 spínače s GND Arduina. To se dělá tak (a na to právě ta bastldeska), že se při zapínání přivede kontakt od GND Arduina na pár vteřin právě na GPIO0, který je na fotkách vidět jako R19 – je hned vedle U4, nalevo od připojených kabelů.
Když máme propojeno a připraveno, budeme potřebovat následující:
- Tasmota binary file – stáhněte tasmota.bin z Github
- ESP Easy Mega – stáhněte z Github a rozbalte do některé složky v PC
- Termite – stáhněte a nainstalujte třeba odsud compuphase.com
Do rozbalené složky ESP Easy Mega do podsložky dist zkopírujte soubor tasmota.bin a otevřete aplikaci ESP Easy Mega – je to soubor FlashESP8266.exe. Když soubor spustíte, otevře se následující okno, ve kterém vyberte firmware tasmota.
A spusťte flashování. Pokud flashování není úspěšné a hlásí chyby, je to tím, že při zapínání desky jste špatně propojili GND Arduina a GPIO0 spínače. Odpojte vše od USB, spojte GPIO0 s GND a připojte zpět do USB.
Pokud to uděláte správně, deska začne modře blikat (z 5ti spínačů některé blikali, jiné ne – chce vyzkoušet, prostě párkrát připojte USB a odpojte se spojeným GPIO0 a GND a ono to vyjde).
Pokud vše vyjde tak jak má, flashování může započíst a místo chybových hlášek se zobrazí toto a následně nahrávání, při kterém hodně rychle bliká diota TX na desce UNO.
Na závěr vše nahlásí, že flash proběhl úspěšně a můžeme jít nový spínač nastavit. Nyní spustíme aplikaci Termite.
Aplikace má ve spodní části řádku, do které se dá psát, napíšeme dva následující příkazy. První pro to, abychom Tasmotě řekli, na kterou WiFi se má připojit
A pak zadáme heslo od vaší WiFi sítě
Nyní odpojíme Arduino od PC, spínač od Arduina, složíme zpět a připojíme na potřebné místo. V žádném případě nepřipojujte spínač do elektriky, když je pod proudem, ale vyhoďte si jistič světel v daném místě. Po připojení se spínač připojí na WiFi. Na routeru si dohledejte jeho IP adresu a tu zadejte do prohlížeče. Pokud vše proběhlo tak jak mělo, uvidíte něco jako toto.
Nastavení je pak už jen na vás. Já mám spínač již nastavený, proto se jmenuje jako spinac_jidelna. Důležité je v nastavení->nastavení modulu nastavit hodnotu Sonoff T1 1CH (pokud tedy máte jednoduchý spínač). Když nastavíte jiný typ, než o který se jedná, nemusí fungovat správně.