Raspberry Piで先取りHomekit Vol.1

先日のiOSのアップデートで「ホーム」というアプリが追加されました。
このアプリは一昨年ぐらいからアップルが進めてるスマートホームの規格HomeKit用のアプリでsiri経由でエアコンや照明など家電を操作する事ができます。対応商品が殆ど無く話題に上る事も少なかったのですが、今回のアプリの強制追加で流行るかもしれません。(Passbookの時は鳴かず飛ばずでしたが・・・)
数年前にルームリモコン Kotoshiroの存在知ってから声で家電を動かしたいという野望を抱いていた私は対応機器が少ない現状でも出来ないか調べてみると赤外線モジュールをRaspberry Piにくっつけてhomebridgeとやらを使いHomeKit的な事を実現してる方を見かけたので試してみました。

Raspberry Piは以前購入していたRaspberry Pi 2 Model B(5,184円)のがあるので赤外線モジュールを探した。人気なのはIRKitで7,700円程でWifi経由で指示を出す赤外線リモコンだが売り切れだったので他を探すことにした。
ビットトレードワンのUSB接続赤外線リモコンKITは2,551円と安いけど距離が短く設置が困難で上位機種の赤外線リモコンアドバンスは3,974円でLEDが3つも付いていい感じだがLinuxでの作例が少ない。
そこで作例もいくつかあり赤外線も2~3mと及第点なirMagician(3,980円)を試す事にした。

netbuffaloさんの小型赤外線(IR)リモコン irMagician ファースト・インプレッションによると、接続する前に/boot/cmdline.txtから「console=serial0,115200」を除外する必要があるらしい。
知らずに接続してしまったのですが直ぐに
$ sudo vi /boot/cmdline.txt
として「console=serial0,115200」を削除し編集して再起動した。(/etc/inittabは無かったのスルー)
おそるおそる確認してみたが問題無くデバイスが見つかった。
$ ls /dev/ttyACM*
その後もnetbuffaloさんの書かれてる通りpyserialライブラリとやらをインストール。
pyserialライブラリはPythonのライブラリでPIP(Python製パッケージマネージャ)が無かったのでまずはPIPをインストール
$ sudo apt-get install python-pip
続いてPIPでpyserialライブラリをインストール
$ sudo pip install pyserial
スクリプトもnetbuffaloさんのirm.pyをお借りしてコピペで配置し
$ vi irm.py

コマンドを実行し直ぐに照明のリモコン操作する。(失敗してもまた同じコマンドでやり直せばOK)
$ python irm.py -c
記憶してるリモコン操作を再生する。
$ python irm.py -p
全く問題無く動作した。

そしてそのリモコンの情報をJSONファイルに保存し
$ python irm.py -s -f DLC303V-ON.json
JSONファイルから実行
$ python irm.py -p -f DLC303V-ON.json
こちらも全く問題無く動作した。

今回試したのはエアコン(AYS28YSC)、照明(DLC303V)、テレビ(LC32F5)でいずれも問題ありませんでした。

Raspberry Piで先取りHomekit Vol.2に続く

Tags: , ,

トラックバック

コメントを書く