Flash zařízení s chipem ESP8266 na HAA (Ravencore)

Proč provést flash zařízení s chipem ESP8266 na HAA

Pokud jste jako já fanda zařízení Apple a jejich ekosystému, určitě znáte i jejich chytrou domácnost (HomeKit) spravovanou aplikací Home. Existuje nepřeberné množství výrobců různých zařízení (žárovky, LED pásky, vypínače, zásuvky atd), které jdou jednoduše přidat do HomeKitu. Co ale dělat v případě, že to, co potřebujete buďto nelze koupit nebo byste chtěli ušetřit nějakou korunu, lze si takové zařízení celkem jednoduše vyrobit. Já osobně mám rád značku Sonoff a jejich výrobky z řady DIY (Sonoff Mini, Basic, SV atd) nebo výrobky Shelly, které je možné vcelku jednoduše flashnout tak, aby podporovali právě HomeKit. Je ale nutné počítat s tím, že pokud zařízení flashnete, přijdete o výrobcem podporované aplikace (např. eWeLink app) a zařízení tak bude možné použít pouze v HomeKitu. 

Co budeme potřebovat

Pro propojení počítače s flahovaným zařízení je zapotřebí převodník. Já používám USB-ESP8266 adaptér (dále jej budu nazývat „převaděč spojitosti“:) ) pak propojovací kabely (např. tyto – jsou potřeba 4 vodiče). Osobně jsem si ještě pro pohodlí pořídil kontaktní pole pro prodloužení těch vodičů a jednodušší manipulaci a dále používám prodlužku USB. Ani kontaktní pole, ani prodlužka USB není nutná. A pak samozřejmě nějaké zařízení pro flashnutí. Já budu v tomto postupu používat Sonoff Basic, ale je to stejné i pro ostatní zařízení s chipem ESP8266. Jen je vždy nutné najít správné kontakty na desce.

Postup ve Windows 10

Ač jsem sice velký fanda Applu a i hlavní počítač mám od Applu, tento návod bude pro Windows 10. Obrázky k jednotlivým krokům jsou pod článkem v galerii.

1. Stáhněte si Python a nainstalujte

2. Během instalace zaškrtněte „Add Python 3.9 to PATH“

3. Po instalaci otevřete příkazový řádek (v nabídce start napište „cmd„) a zadejte příkaz „pip install esptool“ a potvrďte

4. Pokud instalace proběhla správně ověřte to zadáním příkazu „esptool.py version“ – příkazový řádek by měl zobrazit verzi ESPTool

5. Ze stránky HAA na Githubu si stáhněte instalační soubor fullhaaboot.bin

6. Připojte převadděč spojitosti k počítači a zjistěte, jaké označení má (ve správci zařízení – v mém případě COM3)

7. K převaděči spojitosti připojte flashované zařízení ve Flash módu – toho docílíte tak, že zmáčknete a držíte tlačítko na desce toho zařízení a připojíte ho k napájení (k převaděči). V mém případě jsou to na fotkách červený (3v3) a oranžový (GND) vodič. Dále musíte připojit také Tx a Rx (vstup/výstup) – v mém případě žlutý a hnědý vodič (poznámka – nebo si prvně zapojte všechny vodiče, pak zmáčkněte to tlačítko pro Flash mód a zasuňte převaděč do USB)

8. V příkazovém řádku následně spusťte příkaz „esptool.py -p COM3 erase_flash“, kde COM3 nahraďte svým portem. Tímto příkazem se vymaže čip

9. Zařízení odpojte a znovu připojte ve flash módu

10. Do příkazového řádku zadejte příkaz „esptool.py -p COM3 –baud 115200 write_flash -fs 1MB -fm dout -ff 40m 0x0 Downloads\fullhaaboot.bin„, kde COM3 nahraďte svým portem a adresu „Downloads\fullhaaboot.bin“ nahraďte adresou, kam jste si stáhli ten instalační soubor

11. Zařízení odpojte a znovu připojte k napájení (už ne ve flash módu, prostě jen připojit k napájení (3v3 a GND)

12. V seznamu Wifi sítí se zobrazí wifi HAA-XXXXXX – na ni se připojte a vyčkejte, než se zobrazí konfigurační obrazovka (pokud se nezobrazí, otevřete třeba google chrome a zadejte do adresy 192.168.4.1 (edit: nově se zadává i s portem ve tvaru 192.168.4.1:4567) a konfigurační stránka se zobrazí)

13. Do políčka JSON Config musíte zadat konfigurační kód toho zařízení. V mém případě to je jako vypínač {„c“:{„l“:13,“b“:[{„g“:0,“t“:5}]},“a“:[{„0“:{„r“:[{„g“:12}]},“1″:{„r“:[{„g“:12,“v“:1}]},“b“:[{„g“:0}]}]}. Ten kód říká, jak se má zařízení v HomeKitu zobrazovat a jak se má chovat. Pro inspiraci různých JSON koukněte sem. Na stánkách HAA je i návod, jak ty JSON kódy zapsat a vytvořit si tak vlastní, dle svých představ nebo je na webu mnoho konfigurátorů těch kódů.

14. Dejte vyhledat dostupné síťě  (tlačítkem WiFi Networks) nebo zadejte síť manuálně (jako já, protože ji mám defaultně skrytou). Preferuji zadat i Auto OTA Updates, ale není to nutné. Pak už jen stačí kliknout na uložit

15. Během chvilky se ztratí ta WiFi HAA-xxxxxx a zařízení se připojí k Vaší WiFi. V tento moment již není dostupná stránka 192.168.4.1. Pokud si chcete okamžitě ověřit, že jste vše udělali správně, musíte vědět, jakou IP adresu ve Vaší síti to zařízení dostalo a pokusit se na ni připojit třeba v Google Chromu (zjistíte třeba v nastavení Vašeho routeru). Pokud se na to zařízení připojíte a zobrazí se Vám znovu konfigurační stránka, špatně jste zadali ten JSON Config a musíte ho zadat znovu (pozor třeba na závorky, aby nějaká nechyběla). Pokud je ta stránka nedostupná, je všechno v pořádku

16. Teď už jen zbývá přidat zařízení do HomeKitu. Buďto naskenujete tento QR kód nebo zadáte manuálně kód 021-82-017. Pozor, některá zařízení se musí prvně vnitřně sama nakonfigurovat, než se podaří je do HomeKitu přidat. Třeba Shelly 2.5 jsem nechal zapnuté asi 10 min, než ho HomeKit zvládl načíst. Pokud to zkusíte moc brzy, tak se zařízení nepodaří přidat (dejte si kafe a zkuste to za chvilku znovu:) )

17. Během přidávání Vám iPhone/iPad oznámí, že zařízení není certifikované, tak jen klikněte, že ho skutečně chcete přidat – nastavte název, místnost atd a tím je vše hotové 

Poznámky:

– pokud se znovu potřebujete dostat do nastavení, je potřeba buďto zařízení 10x rychle za sebou zapnout/vypnout nebo ho odpojit od napájení, znovu ho připojit pod napájení, do 3 sekund znovu odpojit a pak zase připojit. Pak se aktivuje Setup menu, do kterého je možné se dostat přes webový prohlížeč a IP adresu toho zařízení (edit: nově je nutné za dresu dopsat i port 4567, takže například 192.168.1.100:4567)

– pokud máte zařízení už přidáno v HomeKitu a chcete z nějakého důvodu změnit JSON, je pak nutné po jeho změně dát „Reset HomKit ID“ v setup menu a zařízení znovu do HomeKitu přidat