一昔前にブームになった(らしいけどブームになったことを自身は知らなかった)学習リモコン。
とは言え、テレビやビデオ、エアコン、空気清浄機、オーディオ等々で使うリモコンは今なお、赤外線通信が使われています。
ブームになる、ずいぶん前から学習リモコンってあったと記憶しているものの、ブームになる以前の当時は、本当に簡素でボタン数も限られ、チャチなものしかなかった気がしますが、その後、そこそこの見栄えのものも登場した模様。
そんな学習リモコンは、PC周辺機器の1つとして主にマルチメディア系ソフトウェアの操作に使われることもあります。
数カ月前でしょうか?エアコン用リモコンのとあるボタンが1つだけ効かなくなり、よりによって結構便利なボタンだったことからリモコンを探した際に学習リモコンも目につき、NECやらSONYやら家電製品協会フォーマットやらが入り乱れているなど、ちょっと調べてみた。。。という経験も今回のこの検証につながる伏線だったような気もします。
現に手元にあったWindows Media Center用リモコンだって学習リモコンと同じでしょ?という感覚になった為、どんなPCでも、そもそもPCでなくたって使おうと思えば、使えるよね?と思えたからこそ、このページも書いているわけで。
このリモコン、赤外線レシーバとセットで10年ほど前に購入したVistaインストール済みHP Pavilion Slimline s3140jpに付属していたWindows Media Center(Player)用のもの。
今もそうですが、当時、マルチメディア含め、パソコンをテレビのようにリモコンで操作したくなる状況を想像できず、試してみることすらなく放置していた為、リモコンもレシーバも送受信部にはセロファンが、更に透明・半透明のビニールや保護材で梱包されたままの状態だった為、古いけど新品でピッカピカ。
レシーバに至っては、今回試してみようと思うまで、これまた全く興味関心のなかったWebカメラ(webcam|USBカメラ|PCカメラ|ネットワークカメラ)だと思い込んでいました。
しかし、ここにきてラズパイをサーバにしていることもあり、IoTという意味でUSBカメラ用に、もう1つラズパイをゲットして定点カメラ/防犯・監視カメラ/見守りカメラ/観察カメラ?にしてみたり、それとは別にもう1つUSBカメラを買ってPC間でビデオチャット(テレビ会議/ビデオ会議、ビデオ通話)?できるようにしてみるのもいいかもと思い、引っ張り出してみたところ、どうやら、これは、ウェブカメラではなく、赤外線レシーバだと気づいた次第です。
それならと*BSD/PC-UNIX/Linuxでこれらを使うことができるのか確認してみたいと思うに至り、できたとしても使う気は全くないが、まずは、手元にあるリモコンとレシーバが使えるのかを確認してみることに。
もっと昔、Windows 95がリリースされた頃、初代Sharp Mebius(ノートPC)やケータイの他、発売間もない手書き認識でモノクロのザウルスを持っていましたが、ケータイやPC含め、あの頃は赤外線通信が先端だった気がするものの、Pavilionや一緒に買ったdynabook含め、これらには、赤外線レシーバは内蔵されておらず、10年前には、既に枯れに枯れた技術だったってことですよね、きっと。
それを今更ながらにやってみようというのだから、おもいっきり自覚ありですけど、物好きとしか言いようがないでしょ、これは。
このリモコン、Vistaに付属していたわけですからWindowsでは何もしなくても使えるはずだよね?という点を確認すべく、仮想マシン上のWindows 7でWindows Media Centerを起動させて試してみたら、あっさり使えましたが、他に何か設定が必要なのか、Vistaでは、なぜか使えませんでした。
ざっと見ると*BSD/LinuxではいけそうでLinuxでは、LIRC/Linux Infrared Remote Controlを使う模様、NetBSDは、どうもCOM1ポート用のパッケージはあるものの、USBデバイス用はなさそう、LIRCを移植しようという形跡は見えますが、まだ完了していない模様。
DebianでもFedoraでも赤外線レシーバ自体は認識されたものの、同じLinuxでもDebianの場合、LIRCについては、lircのインストール含め、ほぼ標準的かつシンプルな構成で全て一から順次設定を行なっていくスタイルですが、Fedoraでは、デーモンこそ起動していないものの、(自身がいろいろ入れた際に依存上入った可能性もなくはないですが、)lirc-coreとlirc-libがデフォルトでインストールされており、構成ファイル類もいろいろ手を加えてあってhardware.confのあるDebian系とは、若干設定方法が異なります。
自身は、まず、Debianでやってみてできたのですが、Fedoraの場合、mode2もエラーになり、Features/BetterLIRCSupport Fedoraによると「Windows Media Center用リモコンはLIRCのデフォルト仕様でうまく機能するようになっているべき」とあるもデフォルトで利用できるわけでもなく、ハードウェア(リモコン)の設定(追加)方法が今ひとつ理解できなかったFedoraと今のところ対応パッケージがなさげなNetBSDについては検証を見送ることにしました。
このページの検証にあたり、汎用的な液晶タッチパネルの学習リモコンいいな、でも高いよね、自作できないか?ついては、IoTに興味があって手始めにサーバとしてラズパイは買って運用中も電子工作の域にも入らない。。。
実は、同時にWindows Media Center用のレシーバを使ってテレビやエアコン(どっちもたまたまSHARP製)のリモコンボタンを全てlircのirrecordでデータを取得しており、後で再利用できたらラッキーなんて思っていたのでした。
ラズパイも良いが、Arduinoの存在を知ってこれでやってみようかなと。
結局、データの再利用はしなかったものの、Arduino+赤外線発信LED+赤外線受信センサーでエアコン操作の一部を試してみたらできました。
そこそこ安くできそうもスマホでも操作できる時代に単なるリモコンか。。。と、よく考えてみると微妙な額で今のところ実際の作成には至っていません。。。[後日談]と言いつつやってみようかと。