USB赤外線リモコン アドバンスをラズパイで使ってみる。 その1

赤外線リモコンの信号を学習してラズパイでコントロールするために買いました。元々はWindows用の機器ですが、UNIX系環境用コマンドラインツールが公開されており、それをラズパイで試してみました。

Amazonで買いました。USBコードが付属しないため別途用意する必要があります。しかも,最近あまり見かけなくなったmini-USBなので注意が必要です。本品が届いてから気付き,あちこち必死で探しました。

1. ダウンロード

ラズパイで直にダウンロードを試みるも失敗したので、Macでダウンロード&解凍して、FTPソフトでラズパイにコピーしました。

USB赤外線リモコンアドバンス・UNIX系環境用コマンドライン操作ツール&GUI操作ツール Ver1.0.0

 

2. インストール

ラズパイにて、コマンドラインツールをコピーしたディレクトリに移動します。そして,makeを実行すると…libusb-1.0が必要とのことで失敗。

 

libusb-1.0をインストールします。その前にパッケージリストのupdateを行いました。

 

もう一度makeを実行してみます。
今度は成功しました。

 

ディレクトリの内容は次のとおり。
コマンドbto_advanced_USBIR_cmdが出来上がっています。

 

ヘルプを確認。

 

パスが通った/usr/local/binにコマンドをインストールします。
この作業は必須ではありません。お好みで。

 

3. 赤外線コードの記録

アドバンスは、家電協やNECやSONYや三菱の赤外線コードを送信できるのはもちろんのこと、任意の赤外線コードを学習して飛ばすことが出来ます。コードの学習方法は次のとおりです。

まず、受信開始コマンドを実行します

 

次に記録したい赤外線を,、アドバンスに向けて、発射します。
アドバンス上の緑LEDがチカチカするのは、赤外線を受信している証拠です。

 

次に受信停止コマンドを実行します。

 

最後に、アドバンスに学習させた赤外線コードをファイル(data.txt)に保存します。

 

一連の操作が面倒なので、pythonでスクリプト作りました。

ファイル名はusbir_record

エディタで作成したら、実行権を与えます。

 

使い方は次のとおり。保存するファイルの名称を引数に指定し、コマンドを実行します。
3秒以内にアドバンスに赤外線を照射すると,学習したコードがファイルに記録されます。

 

試しにシーリングライトの点灯と消灯のコードを,それぞれceilingLightOn.txtとceilingLightOff.txtという名称で保存してみました。
最終行の16進数の羅列が学習した赤外線コードです。これがファイルに保存されます。

 

4. 赤外線コードの発射

次のコマンドで学習した赤外線コードを発射できます。先ほど記録したシーリングライト点灯コードを指定しています。
シーリングライト点きました。

 

面倒なので、ラッパーを作りました。またまたpython。名称はusbir_send

引数があるかどうか,引数で指定したファイルが存在するかどうかだけチェックしてます。

なお,標準入出力と切り離されたデーモンプロセスからusbir_sendを呼び出した場合,上記のcatコマンドが使えません。そこで,予め赤外線コードをファイルから読み出して,直接bto_advanced_USBIR_cmdに渡すようにしました。

 

実行権を付与します。

 

シーリングライト消灯コードを送信してみます。
消えました。

 

5. 総括

ラズパイで赤外線学習リモコンを実現することが出来ました。任意のコードを学習できるので汎用性が高く、色々と応用できそうです。

赤外線LEDと受光素子を使って、赤外線学習リモコンを1から作成するのもいいですが面倒くさい。4000円ぐらいの投資でこれだけ簡単に赤外線リモコンを作れるならお得ではないでしょうか。

続きを書きました。→USB赤外線リモコン アドバンスをラズパイで使ってみる。 その2: 「Hey Siri シーリングライトをつけて」