<%@ Language=JavaScript %> Softwares for IrDA Devices

Click here for English Documentation
4/2/2005 Update

赤外線通信(IrDA)と赤外線リモコンの違いについてのQ&A

よくある疑問:

記号 Q1:
私の持っているノートPCやモバイル端末には赤外線通信ポート(IrDA)が付いています。
この赤外線通信ポートを家電の赤外線リモコン送信機として利用できないでしょうか?
記号 A1:
両者とも赤外線を利用しているので、簡単に実現できると思われがちでありますが、赤外線通信(IrDA)と赤外線リモコンの双方の送信メカニズムを理解すればするほど、これらの答えは、Noとなる。
赤外線通信(IrDA)と赤外線リモコンの送信プロトコル方式は全く互換性がないので、ノートPCの赤外線通信ポート(IrDA)からリモコン信号を送信する事自体がナンセンスであり、常識的には不可能である。
記号 Q2:
HP-200LXの赤外線通信ポート専用の「Remocon」という海外のシェアウェアやアルプスの「Irマルチステーション」、富士通の「IRコマンダ」に付属のソフトは、どうして、赤外線通信ポートからリモコン信号を送信可能なのでしょうか?
記号 A2:
HP-200LXやアルプスの「Irマルチステーション」にはIrDAではない「TV-Remote」専用のモードが存在する。つまり赤外線送信装置からのリモコン方式による制御は、IrDA方式ではなく、ハードウェアとして付加されている機能を利用する。
記号 Q3:
では、リモコンコンというソフトウェアもIrDA方式でなく、「TV-Remote」モードを利用するのでしょうか?
記号 A3:
リモコンコンは、「TV-Remote」モードをハードウェアに内蔵している赤外線通信装置であれば、「TV-Remote」モードで制御する。
それ以外のほとんどのノートPC内蔵赤外線ポートの場合では、IrDA方式ながら、ソフトウェアで無理矢理ドライブしている。IrDA方式のハードウェアからあたかも、リモコン信号が出ている様に振る舞うが、ソフトウェアエミュレーション「まね」をしているだけだ。
記号 Q4:
「TV-Remote」モードを内蔵している赤外線通信装置を教えて下さい。
記号 A4:
記号 アルプス Irマルチステーション(製造終了):360度方向に強力な赤外線を照射する優れもの。
記号 富士通 IRコマンダ:アルプスIrマルチステーションのOEM製品で2001年現在でも入手可能。
記号 ACT-IR 200L(製造終了):「TV-Remote」モードを内蔵していますが、アルプスIrマルチステーションほど強力な赤外線は得られない。
記号 シャープ CE-IR5:ザウルス用アクセサリとして販売されているACT-IR 200LのOEM製品。
記号 Palm OS互換機:正確には「TV-Remote」モードを内蔵していないが、自由度の高いソフトウェアが作れるので、リモコンコンfor Palm OS(R)では、ソフトウェアで擬似的に「TV-Remote」モードを作り出している。
記号 クロッサム2(番外編):これはIrDA製品ではなくPC制御可能な学習リモコンである。
記号 Q5:
リモコンコンをノートPCやモバイル端末の赤外線通信ポート(IrDA)で使用した時、赤外線の飛距離が出ません。いい方法はないでしょうか?
記号 A5:
記号 「TV-Remote」モード内蔵赤外線通信装置の利用:
飛距離を出したければ「TV-Remote」をハードウェア内に持っている「富士通IRコマンダ」や「アルプスIrマルチステーション」を利用すれば良い。
記号 改造:
電子工作が出来るのであれば、IrDAモジュールのピンをブリッジする、又はCIR(IrDA-C)モジュールに交換する事により赤外線のパワーを強く出来る。
記号 赤外線アンプ:
IrDAの窓にかぶせるタイプの「赤外線アンプ」を検討中だ。この方法は、赤外線フォトトランジスタで受信した信号を単にトランジスタで増幅し、リモコン専用LEDを発光させるといった極めて単純な方法だが、私自身ハードウェア工作が得意ではないので未だに実験できていない。暇があればチャレンジしようと思う。
記号 光学レンズ:
光学的に赤外線の飛距離を出そうという試みのIrEXYはユニークなアクセサリである。
記号 Q6:
IrDAリモコンエミュレーションに最適な機種はあるでしょうか?
記号 A6:
リモコンコンのサポート状況とリモコンンエミュレーション方式から見た場合
記号 Windows
「TV-Remote」モードにかなうものはない。富士通 IRコマンダとの組み合わせならWindows95/98/Meで動作可能だ。
内蔵IrDAポートの利用なら、VAIOやCASSIOPEIA FIVAなどは、かなり強力な赤外線を発光し、飛距離が結構得られる。Windows95ではそのまま利用できるが、Windows95OSR2/98/98SEでは、ドライバINFファイルの書き換えが必要となる。その方法はらんちゃの作者のホームページに詳しく紹介されている。WindowsMe/2000では動作しない。
記号 Palm OS
IrDA1.0/1.1(FIR)モジュール搭載の機種はリモコンコン for Palm OSとの相性が良い。Palm III/IIIc/V/Vx/m100/m105/m500/m505、WorkPad 8602-30/31/40/50/70であれば、赤外線データ通信時のスペックを上回る飛距離が得られる。 特に赤外線の飛距離が得られるのはPalm m105/m500/m505,WorkPad 8602-70の4機種である。
IrDA1.2規格は省電力規格であり赤外線データ通信での飛距離は20cmであり、いくら高度なエミュレーションを行っても、1.5mの飛距離が限界だ。IrDA1.2(省電力)を搭載したSONYクリエとTRG-Proはリモコンとして不利なデバイスだ。
記号 WindowsCE
Palm OS機と同じ様にIrDA1.0/1.1(FIR)モジュール搭載の機種では比較的、飛距離が得られる。IrDA1.0/1.1(FIR)モジュール搭載機はCE2.1x PsPC全機種。及びCE3.0 PocketPCではiPAQ(*)である。
カシオペアE-700(*)は残念ながら、IrDA1.2(省電力)を採用している。
*リモコンコンfor WindowsCEは2001年1月の時点ではVR4000シリーズのCE2.1x機しかサポートしておらずPocketPCをサポートしていない。iPAQは赤外線が強いと噂されていて、又2001年内に国内でも発売が予定されているので、リモコンコンの移植をチャレンジしたい。
記号 全体的に見ると、飛距離の出る順に(予想も含めNEC製テレビでの実験)
改造カシオペアE-55/50x(10m以上)>富士通IRコマンダ(8m360度)>クロッサム2(8m)>Palm OS IrDA 1.0/1.1(3m)>ノートPC内蔵 IrDA1.0/1.1(2.5m)>WindowsCE IrDA1.0/1.1(2.0m)>Palm OS IrDA 1.2(1.5m)>WindowsCE IrDA1.2(予想値1.0m)
となる。
記号 制御される家電製品によっても受信機の感度の差により飛距離は異なる。但し所有の製品だけでの比較であり実際には、製造年によっても異なると思われる。
NEC家電製品=東芝家電製品=JVC家電製品>SONY家電製品=パイオニア家電製品>三洋家電製品>シャープ家電製品>日立家電製品>パナソニック家電製品
記号 Q7:
CIR(IrDA-C)とはなんでしょうか?
記号 A7:
CIR(IrDA-C)とはIrDAの制定した公式プロトコルのひとつで、家電制御まで盛り込んだプロトコルで、実際のプロトコルも家電リモコンによく似ている。飛距離はなんと8mであり、データ通信用のIrDAモジュールに比べかなり強力な赤外線を発光する。CIR(IrDA-C)モジュール部品はシャープより提供され、開発キットも存在するが、実際にCIRを組み込んだ製品は現存しない。(と思う。)
家電制御とIrDAを結びつける、大きな期待がもたれたが、結局は実現されていない。
記号 Q8:
CIR(IrDA-C)はなぜ普及しなかったのでしょうか?
記号 A8:
答えは判らない。なんとか普及してくれる事を願いますが。。。。
私論ですが、
記号 歴史説:
赤外線リモコンの開発の歴史があるからではないだろうか?家電赤外線リモコンが登場したころ、他社製のリモコン送信機の赤外線を受信して誤動作をよく起こした。各家電メーカーは、自社製のプロトコルが誤動作を起こさない様に工夫するか、又は、他社製のプロトコルに合わせてしまうという方法で、いくつかの系統だったプロトコルに整理された。そしてその後の各社の製品は、同じプロトコルを使い続け、新製品を投入するにも過去の製品との互換性を保ちながら、発展してきている。例えるならWindows3.1のころのソフトウェアであってもWindows2000で動かすことが出来る様、過去との互換性を保ちながら発展しているのと同しだ。ここに新規格の海のものとも山のものとも判らないCIR(IrDA-C)が登場したとしても、そう簡単には乗り換えれないだろう。例えるなら、あなたがWindowsのユーザーであるなら、いきなりBe-OSとかの新しいOSに乗り換える勇気がありますか?この様な歴史的背景に基づくと考えられる。
記号 Bluetooth説:
赤外線ではなく、電波による無線データ通信規格としてBluetoothが現実のものとなりつつある。赤外線は遮られると通信できなくなるが、Bluetoothは10mの範囲で常時通信出来る。但しBluetooth自体もデータ通信としては、先行き不透明で、IrDAと同じ境遇である。別にBluetoothでLANを組まなくてもIEEE802の11Mbps無線通信でもいいじゃないかと思うのは私だけかもしれないが、家電との融合に関しては、先の歴史説が正しければ、いずれにせよ、CIR(IrDA-C)と同じ運命を辿るだろう。
記号 規格乱立説:
先に紹介したCIR(IrDA-C)、Bluetooth以外にも、家電制御に関するプロトコルがたくさんある。
HomeRF、HomePNA、WECA、Ubiquitous Computingなどだ。家電メーカー側の技術者も、どれを採用すれば良いのか困惑するだろう。これらのプロトコルは全て普及には至っていない。家電制御の為のインターフェースとして最も親和性の高いCIR(IrDA-C)が普及していないのに、他の規格が普及する訳がない。
記号 Q9:
IrDAで、リモコン信号をどの様にエミュレーションするのでしょうか?
記号 A9:
まずは、IrDAプロトコルとリモコンのプロトコルが大きく違う事を理解する事だ。
IrDAプロトコルは赤外線通信プログラミングガイド,ソフトバンク,1995やIrDA公式ホームページ又はリンク・エボリューションより情報が入手出来る。
リモコンプロトコルはトランジスタ技術, p261, Nov.,1996やIrHack(マイコンやゲームボーイリモコンの草分けK氏のホームページ)から情報を入手できる。
おそらく、あなたは、この大きな違いを理解すればするほど、その困難さに戸惑うことになる。もともとIrDAは、リモコン用に設計されている訳ではないので当然だ。 リモコンコン for WindowsがIrDAに対応した4カ月前の雑誌のプログラミング講座で、IrDAデバイスのリモコン転用を試みる記事(Windows Magazine, p207, Oct.., 1996 )が掲載され、その記事の著者は、不可能であると断言した。これは、間違っていない。常識的には不可能である。
Windows95、Palm、WindowsCEではAPIの制御下で赤外線の物理ポートにアクセス可能であるが、Windows95OSR2,98,98SE,Me,2000では、そのままでは、APIからのダイレクトなアクセスは不可能である。 Windows95OSR2,98,98SEでは、ドライバINFファイルの書き換えでAPIでの制御が可能となるが、その方法はらんちゃの作者のホームページに詳しく紹介されている。WindowsMe,2000では、現在のところ有効な手段はなく、WDMカーネルドライバからの作成を要する。 
赤外線ドライバとのコンフリクトも致命的である。Windows95OSR2,98,98SEの場合であれば、私の解析によるコンフリクト解消方法がありソースコードを公開している。 この赤外線ドライバ制御方法は、SONYのノートPCにバンドルされたIntellisync Corporationの赤外線転送ソフトのTranxitにも採用された方式である。WindowsMe,2000の赤外線ドライバとのコンフリクトを解消する方法はユーザーに、赤外線ドライバを手動で無効にしてもらう方法しか現在のところ手段はない。プログラムからWindowsMe,2000の赤外線ドライバを制御する方法は、今から私の挑戦する課題でもある。WDMモデルのデバイス削除のIRPを発行を行えばなんとかなるのではないかと考えているが、初期実験は失敗に終わっている。
リモコン信号はマイクロ秒単位で制御されるが、WindowsやWindowsCEでは制御可能な単位が1,000ms、Palm OSでは10,000msなので、特にPalm OSやWindowsCEの非力なCPUのマシンでは、OSに頼ってAPIで制御していてはとても間に合わない。高度なエミュレーションを行うにはCPUの制御、UARTの制御などハードウェアに関する知識も必要だ。
これらの理由で、開発言語はVBでは不可能で、カーネルドライバを作れる知識と、最近ではC言語でドライバを作成出来る様になったが、アセンブラが書ける知識も望まれる。
エミュレーションの方法にはいくつかの種類がある。
高性能な順に以下のとおりである。
記号 1.学習リモコン制御:
クロッサム2などのRS232Cを備えた学習リモコンを制御する方式
これはIrDAエミュレーションではなく、もともと学習リモコンなので、最も正確なリモコン信号が得られる。
クロッサム2の制御コードはハルコーポレーションより公式に公開されていた。
リモコンコン for Windowsの初代バージョンはクロッサム2の専用制御ソフトであった。
記号 2.「TV-Remote」モードの利用:
アルプスIRマルチステーションなどリモコン専用制御命令で制御する方式
学習リモコンの制御と同等に正確な信号が得られる。
「TV-Remote」モードを利用するには、赤外線通信装置を分解して、制御チップのメーカー型番を調べ、データシートを入手しプログラムを組めば良い。
アルプスIRマルチステーション/富士通 IRコマンダの制御命令は、解析され、PC WAVE, p150,(4), 1997に公開された。
リモコンコン for Windowsは、数種類の「TV-Remote」モードを制御する事が可能である。
記号 3.擬似的「TV-Remote」
非常に高度なテクニックでプログラムも複雑であり、CPUやIrDAコントローラーのレジスタを制御して、IrDAモジュールからIrDA非互換のリモコン信号を送信する方法である。
リモコンコン for Palm OS(R)は、擬似的「TV-Remote」でドライブしている。
Palm Developer Knowledge BaseのFAQにIrDAリモコンエミュレーションテクニックが推察されてい た。
ここで紹介されていたenterprising developerとは私の事だろうか?
記号 4.CPU性能依存型IrDAエミュレーション
擬似的TV-Remoteに近いが、IrDA互換信号であり飛距離はIrDAモジュールのスペックまでとなる。下記の非依存型に比べれば飛距離が出るが、実用性を考えれば、Q5で紹介したなんらかの対策が望まれる。
高性能なCPUの機種であればAPIとバッファをうまく使えば、おそらくはAPIレベルでプログラムが作成できるが、モバイル端末など性能があまり高くないCPU搭載機では標準ドライバでは処理が追いつかず、専用のドライバを組むか、レジスタを制御するプログラムを組む必要がある。
リモコンコン for WindowsCEは、CPU性能依存型IrDAエミュレーションでドライブしている。
記号 5.CPU性能非依存型IrDAエミュレーション
WindowsやWindowsCEマシンなど、CPU性能に大きく差のある場合には有効だが、実用的な信号到達距離は望めず、5つのエミュレーション方式の中で最も飛距離が出ない方法である。
APIレベルでプログラムが作成できる最も簡単な方法である。
リモコンコンfor Windowsはこの方法である。

2000年後半から、IrDAリモコンエミュレーションにとって、大きな障害が発生した。
IrDA1.2規格の登場だ。ただでさえ飛距離の面で苦しいIrDAリモコンエミュレーションであるが、IrDA1.2は省電力設計の為に、赤外線データ通信の際の飛距離は、スペック上わずか20cmである。そればかりか、リモコン信号を学習させる際にリモコンの強力な赤外線を受信すると、ゲインコントロールがうまく働かず無反応となる。この現象はPalm OS機のSony クリエで顕著に現れる。同じIrDA1.2を採用しているWindowsCE機のカシオペアE-700での検証はPocketPCへの移植が完成後に行う予定だが、クリエ同様の結果が予想されるがまだ答えは出ていない。

 

最初に戻る