【IoT】irMagicianとラズパイで、Twitter経由でエアコンを操作する!
2018/03/18
IT/IoTこんにちは!歌手/声優のさきです!
エアコン操作をIoTで!!大宮技研さんの「irMagician(irマジシャン)」を使って、ラズパイからツイッター経由でエアコン操作をやってみました!
irMagicianは、超小型のUSBデバイスです!Windows、Mac、Linuxのどれでも使用できるみたい!今回は、Raspbian(Linux)の入ったラズパイでやってみました。
せっかくなので、ツイッターにbotを作り、リプライを飛ばすとエアコンを操作してくれるようにしました!
この記事の1ページ目は導入と動作テスト、2ページ目でツイッター経由でエアコンを操作します!
チャレンジするにあたり、こちらのページを参考にさせていただきました。
irMagicianの使い方【大宮技研さん公式WEB】
iOS10「ホーム」アプリと「Raspberry Pi + irMagician」でお手軽家電操作。 - Qiita
使用機器
以下の機器を使用しています。
- Raspberry Pi 3 MODEL B
- irMagician
- マイクロUSBケーブル(Androidスマホ等の充電用と同じ形状。データ通信もできるタイプ)
- ノートPC(ラズパイをSSH接続で操作してます)
irMagician、Amazonでも取扱があるんですね!
ラズパイでirMagicianを扱う
まずは、ラズパイとirMagicianを接続し、エアコンを操作してみます!
ラズパイにirMagicianを接続
まずは、ラズパイにirMagicianを接続します。
lsusbコマンドで、irMagicianを接続前と接続後の状態を見比べます。赤線を引いたデバイスが増えていますので、ラズパイでirMagicianをUSBデバイスとして認識できていることがわかります。
この時、黄色LEDが点滅すれば、CDC-ACMとしてシステムに認識されたということだそうです。大宮技研さんのページによると、たまに反応しないことがあるので、その際は抜き差しして下さい、とのことです。
Pythonプログラムをダウンロード
https://github.com/netbuffalo/irmcli
こちらに、irMagicianを簡単に動かすためのPythonプログラムが公開されています。ライセンスはMITです。このプログラムをダウンロードして、使用しました。
$ git clone https://github.com/netbuffalo/irmcli.git
デフォルトだと、/home/pi/に「irmcli」というディレクトリが作られて、その中にirmcli.pyが入ってるかと思います。
エアコンの信号を記録
信号を記録してみます。リモコンをセンサーに向けて、以下のコマンドを実行したら、リモコンのボタンを押します。私のラズパイはパスを書いてあげないとファイルを見つけてくれませんので、パスを書いています。パスは、ご自身の環境に合うように書き換えて下さい。
$ sudo python /home/pi/irmcli/irmcli.py -c
ひとまず、エアコンの「電源オフ」ボタンを記録しました。
記録した信号をJSON形式のファイルを出力する
まだ「記録しただけ」で、ファイルなどに信号のデータは出力されていません。以下のコマンドを実行して、ファイルを作成します。air_off.jsonの「air_off」の部分は任意です。お好みで書き換えて下さい。ファイルパスも、ご自身の環境に合うように。
$ sudo python /home/pi/irmcli/irmcli.py -s -f air_off.json
.jsonファイルは、/home/pi/に作られました。
出力したJSON形式のファイルを実行して、エアコン操作のテストを行なう
信号を出力できたので、動作チェックを行ないます。以下のコマンドを、irMagicianをエアコンに向けながら実行しました。諸々、合うように書き換えて下さい。
$ sudo python /home/pi/irmcli/irmcli.py -p -f air_off.json
エアコンがオフになりました!
ボタンをどんどん記録していく
とても簡単にリモコンボタンの記録ができました!
まだ「電源オフ」を記録しただけなので、他のボタンも記録していきます。今回は「電源オフ」に加えて、「暖房オン」も記録しました。
次ページで、ツイッターから操作できるように!