Armadillo-640で、homebridgeを使用してスマートフォンからArmadilloのLEDを音声操作してみました。
環境構築の為にインストールするもの
- node.js
- homebridge
homebridgeとは
Apple社が開発しているHomeKitに対応していないデバイスをHomeKitから制御できるようにするOSSです。
手順
1.Node.jsの準備
Armadillo-640: npm(Node Package Manager)でNode.js用のパッケージを管理する方法を参考にNode.jsの動作環境を構築します。
※当ブログ記事では、「17.1.0」を使用して動作確認を行いました。
2.必要なパッケージのインストール
下記コマンドを実行して、必要なパッケージとhomebridgeをインストールします。
# apt update && upgrade
# apt install git make libavahi-compat-libdnssd-dev
# npm install -g homebridge
# npm install -g homebridge-cmd
3.設定ファイルの作成
下記コマンドを実行して、root以下に「.homebridge」ディレクトリを作成します。
# mkdir .homebridge
4.設定ファイルの作成
「~/.homebridge/」以下に「config.json」という名前で下記設定ファイルを作成します。
{
"bridge": {
"name": "Homebridge",
"username": "(お手持ちのArmadilloのMACアドレスを記載してください)",
"port": 51826,
"pin": "031-45-154"
},
"description": "This is an example configuration file with one fake accessory and one fake platform. You can use this as a template for creating your own configuration file containing devices you actually own.",
"accessories": [
{
"accessory": "CMD",
"name": "LED",
"on_cmd": "echo 1 > /sys/class/leds/red/brightness",
"off_cmd": "echo 0 > /sys/class/leds/red/brightness"
}
]
}
5.実行
下記コマンドを実行してhomebridgeを起動します。
# homebridge
すると、以下のように接続に必要な8桁の数字が表示されます。
6.スマートフォンアプリのインストール
AppStoreで「insteon+」をインストールします。
利用にはアカウント登録が必要となりますので、ご注意ください。
7.デバイスの追加
「insteon+」を起動して、「Home」->「All room」->「All Device」->「+」の順にクリックして、「Add Device」をクリックします。
「5.実行」が正常に出来ていて、Armadilloとスマートフォンが同一ネットワーク上にいる場合は画面の下に「homebridge」の表示が出てきますので、こちらをクリックします。
注意書きが表示されますが、「このまま追加」をクリックします。
コードは手動で入力を選択して、「5.実行」で表示された8桁のコードを入力しましょう。
※コードの入力はQRコードの読み込みでも可能ですが、手動入力の方がミスが起きにくいです。
8.テスト
デバイスが正常に接続できていれば、設定ファイルで設定した「LED」の項目を認識しています。
試しにアプリ上でLEDのON/OFFを行ってみましょう。
Armadillo-640の赤LEDが制御出来ていれば成功です。
9.動作確認
insteon+はHOMEアプリと連携している為、siriによる音声制御が可能です。
siriを起動して、「LEDをつけて」と話すと、Armadillo-640のLEDが点灯する事が確認できます。