⚙️

SONOFF ZBDongle-Eのファームウェアを更新する

2024/10/07に公開

はじめに

Zigbee2MQTTを使いたくて、ZigBeeでの通信ができるドングルを購入した。
SONOFF ZBDongle-Eというもの。アリエクで購入できる。旧型のZBDongle-Pというモデルのほうが扱いやすいらしいが、現時点では、ほとんど取り扱いがないことと、値段が安いことからEを購入した。

結論的にはZBDongle-Eも問題なく使えるが、ファームウェアアップデートが必要だった。

そのファームウェアアップデートに苦戦したので、記録を残しておく。

方法1

当初は下記の公式ドキュメントの説明にあるように、Webブラウザでファームウェアを更新できるツールを試してたが、何回やっても接続が完了しなかったので、このツールの使用は見送った。
https://www.zigbee2mqtt.io/guide/adapters/emberznet.html#firmware-flashing

https://darkxst.github.io/silabs-firmware-builder/

方法2

私が成功したやり方の紹介。
Pythonを使った方法。

https://github.com/NabuCasa/universal-silabs-flasher

Python環境が必要なので、pyenvなどを使ってPython環境を整えておく。
私は、Macを使用したが、Ubuntuなどでも同じようにやれるはず。

https://qiita.com/shigechiyo/items/198211e84f8e0e9a5c18

Python環境を整えたあと、以下のコマンドを実行する。

pip install universal-silabs-flasher

実行させるPCにドングルを挿入する。
このときに、どこにマウントされているかを確認する。

Macの場合は、
/dev/tty.usbserial-10という場所にマウントされた。
Ubuntuなどの場合は、/dev/ttyUSB0だと思う。

次に、焼き込むファームウェアをダウンロードする。
今回、私は下記リンクのものをダウンロードした。閲覧タイミングによってはもっと新しいものが出ている可能性があるので、念の為確認してください。

https://github.com/darkxst/silabs-firmware-builder/blob/main/firmware_builds/zbdonglee/ncp-uart-hw-v7.4.4.0-zbdonglee-115200.gbl

ファームウェアがダウンロードできたら、以下のコマンドを実行して、ファームウェアを焼き込む。

universal-silabs-flasher --device /dev/tty.usbserial-10 --bootloader-reset sonoff flash --firmware /Users/ryo/ncp-uart-hw-v7.4.4.0-zbdonglee-115200.gbl
  • --device /dev/tty.usbserial-10は環境に応じて、読み替えてください。
  • --firmware /Users/ryo/ncp-uart-hw-v7.4.4.0-zbdonglee-115200.gblはダウンロードしたファームウェアの場所にあわせてください。

実行後、100%の表示になれば完了。

Discussion