ビット・トレード・ワンという会社から、USBで操作できる赤外線学習リモコンが発売されています。
これをラズベリーパイで操作してみましょう。
簡単なプログラムを書けば、家電の赤外線リモコンをそのプログラムから自動操作できます。
USB赤外線リモコンADVANCEとは
ビット・トレード・ワン(BitTradeOne 以下BTO)から発売されている赤外線学習リモコンの商品名は、「USB赤外線リモコンADVANCE」です。
ADVANCEがついていない旧商品もありますが、学習できるリモコンの範囲が広くなっているので、ADVANCEの方をおすすめします。
BTOのウェブサイトは以下です。
このリモコンは、いわゆる学習リモコンであり、家電等に付属している赤外線リモコンの出力を受信して学習することができます。
学習した後は、このBTOの赤外線学習リモコンを家電側に向けて、学習したデータを送信すると、その家電を操作することができるわけです。
エアコン、テレビ、BDレコーダ、AVアンプ、オーディオコンポ、照明、扇風機などに付属している学習リモコンについて、リモコンデータを学習できるものについては、一度学習した後、それらの家電をラズベリーパイのプログラムから自由に操作できるようになります。
ただし、操作する家電について、一部対応していないメーカーや機器もあるようですので、注意が必要です。これは実際に学習してみないわからないようです。
USB赤外線リモコンADVANCEの動かし方
このBTOのUSB赤外線リモコン、Windows向けのGUIツールが公開されているのですが、Rasbianを含むLinux向けのGUIツールは公開されていません。
したがって、コマンドラインから操作する必要があります。
もっとも、この記事を読まれている方は、プログラミングにも興味がある方と思いますので、コマンドラインで操作するUIの方がかえって好都合かと思います。
コマンドラインから操作するツールは、以下から入手できます。
上記のリンク先をWEBブラウザで開き、開いたページにある、
「USB赤外線リモコンアドバンス・UNIX系環境用コマンドライン操作ツール&GUI操作ツール Ver1.0.0」
を探してください。
これをクリックして、ダウンロードします。
「bto_advanced_USBIR_cmd.zip」というファイルがダウンロードされますので、それを任意のディレクトリにコピー(あるいは移動)します。
次にLX Terminalを開いて、そのディレクトリに移動し、
1 | $ unzip bto_advanced_USBIR_cmd.zip |
を実行してください。
すると、bto_advanced_USBIR_cmd というディレクトリができますので、
1 | $ cd bto_advanced_USBIR_cmd |
としておきます。
次に、このツールを以下の手順でインストールします。
まず、このツールを使うために必要なライブラリをインストールします。
スポンサーリンク1 2 3 | $ sudo apt update -y $ sudo apt ugrade -y $ sudo apt install libusb-1.0.0 |
このライブラリのインストールが正常に終了したら、次に bto_advanced_USBIR_cmd 本体をインストールします。
先ほどBTOのウェブサイトからダウンロードしたのはソースコードですので、まずコンパイルしてからインストールします。
コンパイル作業をやったことがないという方もご安心ください。以下の手順を実行すればよいです。
1 2 3 | $ make $ sudo make install install -s -p -m 4755 bto_advanced_USBIR_cmd /usr/local/bin |
1行目のmakeというコマンドの実行で、このBTOのリモコンツールのソースコードをビルドします。ビルドの仕方はMakefileというファイルの中に書かれていて、makeというツールを実行すればそれを自動的に読み込んでビルドしてくれます。
2行目の make install というコマンドで、このツールをインストールします。
このコマンドを実行すると、3行目のような表示になると思います。BTOのリモコンツールの名前はbto_advanced_USBIR_cmd、インストール先は/usr/local/binです。
リモコンツールを実行してみよう
具体的な学習方法や家電の操作方法は別の記事に書きますが、正常にインストールされたかを確認するために、LX Terminal上で
1 | $ bto_advanced_USBIR_cmd |
と打ち込んで、このツールを実行してみます。
すると
1 | usage: bto_advanced_USBIR_cmd <option> |
で始まるたくさんのヘルプメッセージが表示されると思います。この表示が出力されれば、ここまでの作業は成功です。
下の方に、「使い方の例」と書かれたところがあり、その後に「受信系」、「送信系」という見出しがあると思います。
「受信系」の方のコマンドがリモコンの学習時に使用するコマンド、「送信系」の方のコマンドがリモコンの送信時に使用するコマンドです。
具体的な使い方は、別の記事で説明します。
おまけ: Makefileを覗いてみよう
すべてを説明するわけではありませんが、参考までに、lessでMakefileを開いてみてください。
2行目あたりに、
1 | LOCAL_BIN_DIR = /usr/local/bin |
という行があると思います。
先ほど、bto_advanced_USBIR_cmd がインストールされるディレクトリの話をしましたが、ここに書いてあるディレクトリにmakeが自動的にインストールしてくれたわけです。
またMakefileの7行目に、
1 | $(CC) -Wall -o $@ $(OBJS) -lusb-1.0 |
という行もありますね。”-lusb-1.0″というところでlibusb-1.0というライブラリをリンクするのですが、ここで使用するためにlibusb-1.0.0を apt install しておいたというわけです。
make や Makefileを勉強しようとされている方は、こういった既存のツールのMakefileを眺めてみるのもよい勉強方法かと思います。