ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

Raspberry Pi3 でUSB赤外線リモコンを使う(ADIR01P)

(2019-03-11 初稿 - 2021-05-11 転記 - 2022-02-14 修正)


はじめに

ネット検索して、 Raspberry Pi3(ラズパイ)でUSB接続の赤外線リモコンを使う記事を見つけた。皆さんがよく使っている製品は、以下のとおりです。

f:id:hymd3a:20210511114415j:plain

ADIR01P


上記製品は、赤外線が強力なことと、多方向の照射ができる特徴の製品。
また、Raspberry Pi3での動作実績があるとのことで購入した。

なお、本記事を書くにあたって、参考にさせていただいたサイトは以下のとおり(多謝)。

実は、他のサイトにも情報が載っているが、肝心の bto_advanced_USBIR_cmd.zip がダウンロードできない状態なので、上記サイトに記載のある git からプログラムいただいた。
参考までに、gitのサイトは、以下のところ。

インストールの準備

インストールに先立って、本製品には、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)を知るすべがないので、利用にあたっては注意が必要である。

また、気がついたことがあったら追記する。

関連ページ