Siriでテレビをつけてみた(Nature Remo + Homebridge)
最近リモコンの操作を自動化できるプロダクトがいろいろ出ていますが、
我が家ではNature Remoにしました。
Nature Remoを選んだ理由としては、以下です。
- ベースとなっているIRKitからいろいろ改善されている印象がある。
- サポートがしっかりしてそう。ドキュメントが充実している。
- 試している人(主にIRKit)が多い。
IRKitの機能が継続して使えるということなので、新しいプロダクトになっても、安心して使えるという認識です。
ラズベリーパイに入れている人が多い印象でしたが、私はもう使わない余った古いノートPCに入れました。
環境
HP Mini 110
OS Ubuntu 16.02 (32bit)
Nature Remo
セットアップ手順
今回難しかったのは、いずれの環境、いずれのバージョンで動作するのかわからなかったため、環境を決定するのが難しかった。
また、古い32bitのPCを使っていたため、最新バージョンがインストールできないなどの制約があった。
セットアップは下記のページを参照した。
Ubuntu 16.04 (32bit)インストール
当初はCentOSを予定していたが、32bitOSで動作する実績が見つからなかったことから、Ubuntuに途中で変更。
※CentOSでセットアップ・トラブルシュートしていた丸1日を失った。
Ubuntuのインストールについては割愛。
Avahiインストール
$ sudo apt-get install libavahi-compat-libdnssd-dev
nodejs インストール
nを使ってバージョンを切り替えるようにする。
$ sudo npm install -g homebridge --unsafe-perm
$ sudo npm install -g homebridge-irkit
$ sudo npm install -g homebridge-cmd
セットアップ手順は以下のホームページを参考。
nodejsがなんたるかを知らなかったので、調べてお勉強。
homebridge インストール
homebridgeとプラグイン(homebridge-irkit/homebridge-cmd)インストール
インストール手順は以下の通り。
$ sudo npm install -g homebridge-irkit
$ sudo npm install -g homebridge-cmd
どのバージョンで動作するか確認するため、アンインストール/インストールを何度か繰り返す。
config.jsonファイル作成
~/.homebridge/config.jsonファイルを作成する。
いろいろ成功した人たちのページを参照して、作成。
なかなか動作しなかったが、なんとか動作するファイルを作成できた。
以下、ファイル作成に必要な情報。
- RemoのIPアドレス確認
dns-sd -B _remo.tcp をコマンドプロンプトで実行する。
Instance Name にRemoのホスト名が表示される。
取得したホスト名を使い、
dns-sd -G v4 Remo-******.local をコマンドプロンプトで実行する。
※Remo-****** に取得したホスト名を入れる。
- 赤外線情報の取得
赤外線情報を取得したいリモコンをRemoへ向け、リモコンのボタンを押す。
赤外線情報を取得すると、RemoのLEDが青く光る。
以下のコマンドで赤外線情報が取得できる
curl -i "http://"RemoのIPアドレス"/messages" -H "X-Requested-With: curl"
テレビ・部屋の照明・冷房・暖房の電源オン/オフを登録した。
homebridgeの起動
$ cd ~/.homebridge
$ homebridge でhomebridgeを起動する。
QRコードが表示されるので、iPhoneのHomeKitで登録する。
今回ハマったこと
- nodejsが動く環境づくり
CentOS7.3で進めていたが、32bitOSは対応していないことが判明。6.9にしてもうまくいかず、、Ubuntuに切り替えることにする。
nodesourcesのインストールスクリプトでエラーが発生して、インストールができなかった。 - nodejsのバージョン
バージョン8系だと正常に動作しなかった。今回は、バージョン6.2.2を使う。 - config.json
irkit_urlが修正されirkit_hostとなっている。
参考ページ
IRKit - Open Source WiFi Connected Infrared Remote Controller
次はAmazon Echo連携を検討しています。