はじめに
前回の記事では、Home Assistantを使ってTRADFRI Gatewayに接続されたスマート電球を操作してみました。しかし、TRADFRI Gateway経由ではリモコンやモーションセンサーなどの機器をHome Assisantから扱えず、あまり実用的ではありませんでした。
そこで、今回はTRADFRI Gatewayを使わず、Raspberry PIにzigbee通信モジュール(CC2531)を指し、スマート電球やリモコンを直接操作できるようにしてみます。
少し記事が長くなりそうなので、2回に分けて書く予定です。
第1回:Home Assistantのインストールと設定 <–この記事
第2回:MQTTの設定とIKEAスマート電球の利用
用意するもの
①Raspberry PI
まずは、WebThings Gatewayを動作させるRaspberry Piを用意します。Dockerなどでも動くようですが、Raspberry Piで動作させるのが、一番手軽そうです。今回は、最近新しく買ったRaspberry Pi 4Bを使います。
②TRADFRI電球
WebThings Gatewayから操作するTRADFRI電球が必要です。
③TRADFRIリモコン
次に、電球をOn/Offにしたり明るさを調整するためのリモコンが必要です。
④CC2531 USBスティック
Raspberry Pi単体ではZigbee通信(IEEE802.15.4)はできないので、Zigbee通信のためのCC2531 USBスティックが必要です。また、新規に購入するのであれば、下のCC Debuggerと接続するためのケーブルがセットになっているものがお勧めです。
⑤CC Debugger
これは最終的には不要ですが、CC2531のファームウェアを書き換えるために必要です。
必要なハードウェアは、以上の5点です。
第1回:Home Assistantのインストールと設定
CC2531のファームウェアの書き換え
購入したばかりのCC2531は、Zigbee通信のキャプチャ用のファームウェアが入っているので、Zigbee機器と通信するためには、ファームウェアの書き換えが必要です。
①SmartRF Flash programmerのダウンロード
Windows PCのWebブラウザを用いて、ファームウェア書き換え用のツール「SmartRF Flash programmer」を、Texas Instrumentsのサイトからダウンロードします。v2もありますが、うまく動かないようなので、v1をお勧めします。

②ユーザ登録
ダウンロードするためには、ユーザ登録が必要なので必要事項を入力してユーザ登録します。

③輸出管理事項への同意
ユーザ登録が完了するとSmartRF Flash programmerのダウンロード画面に戻ります。ここで、輸出管理の画面が表示されます。「U.S. Government」と出ているとビックリ‼️しますが、内容をよく確認しましょう。そして、このブログを読んでいる人は軍事利用の人はいないと思いますので「Civil(民間利用)」を選択して、画面下の「Submit」ボタンを押します。

すると、SmartRF Flash programmerのZipファイルがダウンロードされます。
④インストール
ダウンロードしたZipファイルを解凍し「Setup_SmartRF_Flash_Programmer-1.12.8.exe」を実行してインストールします。

⑤ファームウェアのダウンロード
次に、CC2531のコーディネータ用ファームウェアCC2531_DEFAULT_20190608.zipをダウンロードします。ダウンロードが完了したら、zipを解凍しておきましょう。

⑥CC2531とCC Debuggerを接続
次に、CC2531 USBスティックとCC Debuggerを以下の図のように接続します。コネクタには向きがあるので十分に注意して接続して下さい。また、PCのUSBポートに挿す前に2つを接続しておく必要があります。

⑦PCに接続
CC2531 USBスティックとCC DebuggerのUSBポートを、両方ともPCに接続します。正常に接続されると、CC Debuggerのランプが緑色に光るので確認して下さい。

⑧ファームウェアの書き換え
SmartRF Flash programmerを起動し、Flash Imageの選択で、ダウンロードした「CC2531ZNP-Prod.hex」を選択します。そして「Retain IEEE・・・」のチェックを外し、Actionから「Erase. program and verify」を選択して、「Perform action」ボタンをクリックします。

⑨書き換え確認
1分ほど待っていると、以下の画像のように「CC2531- ID0100: Erase. program and verify OK」と表示され、ファームウェアの書き換えが完了します。

Home Assistantのインストール
次に、Raspberry PiにHome Assistantをインストールします。
①OSイメージのダウンロード
Home AssistantのサイトからRaspberry Pi用のOSイメージをダウンロードします。私は、以下の「Raspberry Pi 4 Model B(1GB, 2GB, and 4GB model) 32-bit)」を利用しました。

②OSイメージの書き込み
ダウンロードが完了したらgzファイルを解凍し、「hassos_rpi4-4.10.img」をbalenaEtcherを使って、SDカードに書き込みます。この辺りはRaspberry OSと同じですね。

③Raspberry Piの起動
それでは、イメージを書き込んだSDカードをRaspberry Piに差し込んで、ネットワークケーブルをRaspberry Piに挿し、起動させましょう。なぜかWifi設定がうまくいかなかったので、今回は有線で接続しました。
起動させ3〜5分経った後に「http://homeassistant.local:8123」にアクセスしましょう。以下のような準備中画面になるので、画面の指示どおり準備が完了するのを待ちます。

④Raspberry Piの再起動
私の場合は20分待っても、画面が上の画面のままだったのでRaspberry Piを再起動しました。すると、以下のようなユーザ設定画面が表示されます。
ユーザ名、パスワードを入力して「CREATE ACCOUNT」ボタンをクリックしましょう。

⑤所在地などの設定
天気予報や時刻を表示するために、自宅の場所を地図で選択します。また、タイムゾーンと長さの単位を設定し、「NEXT」ボタンをクリックします。

⑥デバイスの設定
この画面からHueブリッジに接続された電球などの設定ができますが、今回は何も設定せずに「完了」をクリックします。

⑦メイン画面の表示
インストールが完了すると、以下のようなHome Assistantのメイン画面が表示されます。

これでHome Assistantのインストールは完了です。
基本アドオンのインストール
次に、Home Assistantを利用する上で必須となるアドオンをインストールしていきます。
①高度モードの設定
開発者用のアドオンをインストールするためには「高度モード」にする必要があるので、画面左のメニューからアカウント名のメニューをクリックし、「高度モード」のスイッチをオンにします。

②アドオン画面の表示
画面左のメニューから「Supervisotr」を選択し、画面上の「Add-on store」タブを選択します。

③File editorアドオンのインストール
Official add-onsのリストにある「File editor」アドオンを選択します。ちなみに、このFile editorアドオンは、Home Assistantの各種設定ファイルを編集したり、ファイルをアップロードするのに必要なアドオンです。

File editorの画面が表示されたら、「INSTALL」をクリックします。

④File editorアドオンの起動
インストールが完了したら、「Show in sidebar」のスイッチをOnにして、「START」をクリックします。

アドオンが起動したら、左メニューから「File editor」をクリックしてみましょう。以下のように、/config/configuration.yamlの編集画面が表示されればOKです。

⑤Terminal & SSHアドオンのインストール
次に、Terminal & SSHアドオンをインストールします。Add-on storeから「Terminal & SSH」アドオンを探し、クリックします。

Terminal & SSHアドオンの画面が表示されたら「INSTALL」をクリックします。

⑥Terminal & SSHアドオンの設定
インストールが完了したら「Show in sidebar」のスイッチをOnにします。

また画面上の「Configuration」タブをクリックし、設定画面のConfiguration欄にある「password」のところでsshログインする時のパスワードを設定します。パスワードを設定したら「SAVE」をクリックします。

次に「Network」の欄にある「null」の部分に「22」と入力し、「SAVE」をクリックします。私はこれに気づかず半日かかりました😭Home Assistant分かりにくい!!

⑦Terminal & SSHアドオンの起動
「Info」タブに戻り「START」をクリックします。

Terminal & SSHアドオンが起動したら、PCのターミナルから以下のようにして、Home Assitantに接続してみましょう。ユーザ名はroot、パスワードは上で設定したパスワードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ ssh root@homeassistant.local The authenticity of host 'homeassistant.local (fc00:cafe::50f8:922d:ced4:3242)' can't be established. ECDSA key fingerprint is SHA256:fTh+hC/YIL2YtoUFiYxs+Wot7f4Gb8OuqDoCzbL+B5Q. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'homeassistant.local,fc00:cafe::50f8:922d:ced4:3242' (ECDSA) to the list of known hosts. root@homeassistant.local's password: _ _ _ _ _ | | | | /\ (_) | | | | | |__| | ___ _ __ ___ ___ / \ ___ ___ _ ___| |_ __ _ _ __ | |_ | __ |/ _ \| '_ ` _ \ / _ \ / /\ \ / __/ __| / __| __/ _` | '_ \| __| | | | | (_) | | | | | | __/ / ____ \\__ \__ \ \__ \ || (_| | | | | |_ |_| |_|\___/|_| |_| |_|\___| /_/ \_\___/___/_|___/\__\__,_|_| |_|\__| Our command line: $ ha help ~ $ |
これで、基本アドオンのインストールは完了です。
おわりに
今回は、Home AssistantからIKEAのスマート電球を直接操作する事を目的に、CC2531 USBスティックのファームウェアを書き換え、Raspberry PiにHome Assistantとアドオンをインストールしてみました。次回は、この続きとして、MQTTを設定し、スマート電球をペアリングしてHome Assitantから操作できるようにしたいと思います。
第1回:Home Assistantのインストールと設定
第2回:MQTTの設定とIKEAスマート電球の利用 <–次回
※技適マークが無い機器をお試しする時は、Web申請をお忘れなく!
関連記事




コメント
記事の投稿ありがとうございます。スマートホームに興味があり本記事を拝見させていただきました。
記事の通りCC2531の設定を進めようとしましたが、SmartRF Flash programmerでCC Debuggerが認識されません。USBの抜き差しや、Resetボタン、USBを別電源からとったりなど試しましたがダメなようです。何か解決法をご存じであればご教示いただけませんか。よろしくお願いいたします。
なお、当方はwin10 homeにて作業を行っています。CC2531やCC Debuggerは本記事にあるamazonのリンクから購入いたしいました。
ブログをお読みいただき有難うございます。CC Debugger接続時にCC Debuggerの緑色のLEDは光っていますでしょうか?LEDが光っていれば電源は来ていると思いますので、ソフト的な問題かと思われます。
私もWin10でやりましたが大丈夫でした。ただ、公式サポートに同じ問題の投稿があり、更新版のドライバがありました。これを試してみる価値はあるかもしれません。
https://e2e.ti.com/support/wireless-connectivity/other-wireless/f/667/t/675493
早速のご回答ありがとうございます!
CC Debugger接続時にCC Debuggerの緑色のLEDは光っていました。
教えていただいた公式サポートの投稿を参照し、64bit用のCC Debuggerのドライバに更新すると、SmartRF Flash programmerでCC Debuggerを認識させることができました。
ご教示ありがとうございました!残りの手順を進めていこうと思います。