Siriでテレビをつけてみた(Nature Remo + Homebridge)

最近リモコンの操作を自動化できるプロダクトがいろいろ出ていますが、

我が家ではNature Remoにしました。

Nature Remoを選んだ理由としては、以下です。

  • ベースとなっているIRKitからいろいろ改善されている印象がある。
  • サポートがしっかりしてそう。ドキュメントが充実している。
  • 試している人(主にIRKit)が多い。

IRKitの機能が継続して使えるということなので、新しいプロダクトになっても、安心して使えるという認識です。

ラズベリーパイに入れている人が多い印象でしたが、私はもう使わない余った古いノートPCに入れました。

環境

HP Mini 110

OS Ubuntu 16.02 (32bit)

Nature Remo

セットアップ手順

今回難しかったのは、いずれの環境、いずれのバージョンで動作するのかわからなかったため、環境を決定するのが難しかった。

また、古い32bitのPCを使っていたため、最新バージョンがインストールできないなどの制約があった。

セットアップは下記のページを参照した。

kainokikaede.hatenablog.com

Ubuntu 16.04 (32bit)インストール

当初はCentOSを予定していたが、32bitOSで動作する実績が見つからなかったことから、Ubuntuに途中で変更。
CentOSでセットアップ・トラブルシュートしていた丸1日を失った。

www.ubuntu.com

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がなんたるかを知らなかったので、調べてお勉強。

Node.js を5分で大雑把に理解する - Qiita

homebridge インストール

homebridgeとプラグイン(homebridge-irkit/homebridge-cmd)インストール

インストール手順は以下の通り。

$ sudo npm install -g homebridge-irkit
$ sudo npm install -g homebridge-cmd

 

どのバージョンで動作するか確認するため、アンインストール/インストールを何度か繰り返す。

config.jsonファイル作成

~/.homebridge/config.jsonファイルを作成する。

 

いろいろ成功した人たちのページを参照して、作成。

なかなか動作しなかったが、なんとか動作するファイルを作成できた。

 

以下、ファイル作成に必要な情報。

  1. RemoのIPアドレス確認
    dns-sd -B _remo.tcpコマンドプロンプトで実行する。
    Instance Name にRemoのホスト名が表示される。
    取得したホスト名を使い、
    dns-sd -G v4 Remo-******.local をコマンドプロンプトで実行する。
    ※Remo-****** に取得したホスト名を入れる。

    よくある質問 — Nature

  2. 赤外線情報の取得
    赤外線情報を取得したいリモコンをRemoへ向け、リモコンのボタンを押す。
    赤外線情報を取得すると、RemoのLEDが青く光る。
    以下のコマンドで赤外線情報が取得できる
    curl -i "http://"RemoのIPアドレス"/messages" -H "X-Requested-With: curl"

    www.kb-cameratravel.com

    テレビ・部屋の照明・冷房・暖房の電源オン/オフを登録した。
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となっている。

    homebridgeでsiriから家電コントロール2 - Qiita

参考ページ

IRKit - Open Source WiFi Connected Infrared Remote Controller

  

次はAmazon Echo連携を検討しています。