Změna firmware ZigBee modulu

Aby vám správně fungovala například integrace některých ZigBee modulů v Home Assistant prostřednictvím Zigbee2MQTT, může být potřeba změnit (přehrát/flashovat) firmware modulu. Na první pohled to vypadá komplikovaně, ale obvykle to zase tak komplikované není.

Při flashování firmware ZigBee modulu je potřeba se držet pokynů výrobce daného modulu. Každý modul může mít jiný postup a může používat jiný firmware dle použitého čipu.

Při flashování firmware ZigBee modulu postupujte dle pokynů výrobce modulu.

Já budu postup níže popisovat pro Slae CC2652RB development stick. Postup bude ale velmi podobný nebo stejný i pro další moduly založené na čipu Texas Instruments CC2652RB.

Ovladače pro UART bridge

Když ZigBee modul připojíte k počítači, jako první je potřeba ověřit, že máte nainstalované potřebné ovladače a tedy že operační systém správně rozpozná dané zařízení. To můžete snadno ověřit ve správci zařízení Windows, kde byste měli modul vidět jako COM port označený jako UART bridge.

Pokud zařízení vidíte jako neznámé zařízení, je potřeba doinstalovat ovladače. Můj UART bridge je založený na Silicon Labs CP2102. Stáhnul jsem tedy CP210x Universal Windows Driver přímo ze stránek podpory Silicon Labs. Pokud je vaše zařízení rozpoznáno samo automaticky, není potřeba nic dalšího stahovat a instalovat.

Instalace TI Flash Programmer 2

Pro flashování firmware čipů Texas Instruments je potřeba stáhnout a nainstalovat aplikaci TI Flash Programmer 2. Tato aplikace je zdarma ke stažení přímo z webu Texas Instruments, je potřeba se jen registrovat a souhlasit s podmínkami. Dejte si jen pozor, že pro všechny novější čipy Texas Instruments je potřeba skutečně stáhnout Flash Programmer ve verzi 2, protože původní verze (bez označení nebo označovaná jako v1) nemá podporu novějších čipů.

Pro novější čipy Texas Instruments se používá Flash Programmer 2.

Stažený software nainstalujte do počítače a spusťte. Software by měl sám detekovat připojený ZigBee modul.

Stažení firmware ZigBee modulu

Jako poslední je potřeba stáhnout firmware, který chcete do ZigBee modulu nahrát. Tento firmware může být novější nebo i starší, než který v modulu v současné chvíli máte.

Firmware pro čipy založené na Texas Instruments kompatibilní s Zigbee2MQTT je ke stažení na GitHub. Novější čipy mají firmware ke stažení konkrétně zde. Protože já mám čip založený na CC2652RB, stáhnul jsem firmware CC2652RB_coordinator_20210708.zip. Stažený firmware nezapomeňte rozbalit, abyste získali soubor s koncovkou .hex, který je samotným firmware, který v dalším kroku nahrajete na ZigBee modul.

Flashování firmware ZigBee modulu

Když máme vše připravené, můžeme se pustit do samotného flashování firmware ZigBee modulu. Podle použitého ZigBee modulu může být potřeba uvést modul do režimu pro flashování, označovaného také jako bootloader mode. Bez toho by flashování firmware pravděpodobně selhalo.

Před flashováním může být potřeba ZigBee modul uvést do bootloader režimu.

Na mém zařízení připojeném k USB počítače stačí zmáčknout a držet tlačítko označené jako „BL“ a poté jen zmáčknout a pustit tlačítko „RST“. Následně je možné pustit i tlačítko „BL“.

Před samotným flashováním ověřte, že je správně detekovaný přesný typ modulu v levém okně aplikace. V mém případě modul nebyl správně detekovaný a hlásil se jako neznámý. Z roletky pod tímto oknem jsem tedy musel ručně vybrat správný typ modulu CC2652RB.

Jako poslední je potřeba zatrhnout akce Erase, Program a Verify. Pak již můžete v horní části aplikace vybrat stažený firmware v hex formátu a v pravé spodní části aplikace kliknout na modrou šipku, čímž spustíte proces flashování firmware.

Samotné flashování trvá jen pár vteřin. Poté by se ve spodní části aplikace mělo objevit zelené SUCCESS. Pokud flashování selže, pravděpodobně ZigBee modul není v bootloader režimu.

Pokud hledáte inspiraci, co (a jak) dalšího můžete s Home Assistant dělat, můžete se podívat na další naše články o Home Assistant.