(2019-03-11 初稿 - 2021-05-11 転記 - 2022-11-07 追記)
はじめに
ネット検索して、 Raspberry Pi3(ラズパイ)でUSB接続の赤外線リモコンを使う記事を見つけた。皆さんがよく使っている製品は、以下のとおりです。
上記製品は、赤外線が強力なことと、多方向の照射ができる特徴の製品。
また、Raspberry Pi3での動作実績があるとのことで購入した。
なお、本記事を書くにあたって、参考にさせていただいたサイトは以下のとおり(多謝)。
実は、他のサイトにも情報が載っているが、肝心の bto_advanced_USBIR_cmd.zip がダウンロードできない状態なので、上記サイトに記載のある git からプログラムいただいた。
参考までに、gitのサイトは、以下のところ。
(2022-11-07 追記)
上記サイトのプログラムでは動作しない機器があったので、以下のサイトからプログラムをダンロード、インストールしたところ、筆者が試した範囲ではすべての機器で動作した。
ダンロードファイルは、bto_advanced-USBIR-cmd101.zip
リンク先がわかりにくいので、注意深くリンクをたどってね。
(追記終了)
インストールの準備
インストールに先立って、本製品には、USBケーブルが付属していないので、別途USB A-miniB ケーブルを準備する必要がある。
ADIR01Pと準備したケーブルを接続し、以下のコマンドで認識を確認する。
$ lsusb Bus 001 Device 012: 22ea:003a
正常に認識している。
続いて、プログラムのコンパイルに必要なパッケージをインストールする。
既にインストール済みの場合は、以下のパッケージの導入は不要。
$ sudo apt install libusb-1.0-0 libusb-1.0-0-dev
インストール
インストールの準備が整ったので、さっそくgitサイトからいただいてきて、makeする。
$ git clone https://github.com/Drunkar/bto_ir_advanced_cmd.git $ cd bto_ir_advanced_cmd $ make $ sudo make install
makeとインストールが完了すると、/usr/local/binに bto_advamced_USBIR_cmd がコピーされる。
使ってみる
インストールが完了したので、さっそく使ってみる。
筆者の環境では、適当なリモコンが無かったので、Raspberry Pi3のモニタとして使っているテレビの電源On/Offで試してみた。
リモコンボタンの読み取り
実際にリモコンのコマンドを読み取る。
$ bto_advanced_USBIR_cmd -r
ADIR01Pの受光部に向かって、リモコンの電源ボタンを押す。
読み取り終了
読み取り終了は、以下のコマンド。
$ bto_advanced_USBIR_cmd -s
読み取りコマンドのファイルへの書き出し
読み取ったコマンドを、monitor_on.txt ファイルに書き出す。
前述のように、モニタの電源コマンドなので、わかりやすいファイル名にした。
$ bto_advanced_USBIR_cmd -g | tee monitor_on.txt
読み取りコマンドの実行
書き出したファイルを使って、実際にモニタのOn Offを実行する。
$ bto_advanced_USBIR_cmd -d $(cat monitor_on.txt)
正常にモニタの電源がOn/Offすれば、成功。
ちなみに、モニタの電源をOffしてから、再度電源Onにするには、上矢印キーを押した後、エンターキーで表示される。
スクリプトに
コマンドがやや長いので、monitor_onという簡単なスクリプトを作成しました。
#!/bin/bash /usr/local/bin/bto_advanced_USBIR_cmd -d $(cat /home/pi/bto_ir_advanced_cmd/monitor_on.txt)
おわりに
思ったよりも簡単にインストールと利用ができた。
自宅でペットを飼われている方等は、暑い日や寒い日にRaspberry Pi3に接続した赤外線リモコンを操作して、エアコンの電源On/Offができるようになる。
他にも、赤外線を利用した電化製品は数多くありますので、応用範囲が広がりそう。
(2021-05-11追記)
この赤外線でOn/Offする方法は、応用範囲が非常に広いが、現在の装置の状態(On/Off)を知るすべがないので、利用にあたっては注意が必要である。
また、気がついたことがあったら追記する。