PIC赤外線リモコンキー(IrKey)操作マニュアル 第2.5版


「はじめに」

  「IrKey」とは、RS232Cに繋ぐ外付けハードウェアと組み合わせる事により、TV等に付属している赤外線 リモコンを使ってWindowsの操作を行うためのソフトウェアです。
 外付けハードウェアが無くても、ホットキーでアプリケーションを起動したり、操作の自動化 を行う事ができます。
 会社で使用する場合は、プレゼンテーションソフトの操作に最適です。自宅ではパソコンTVの操作や、良く使うアプリケーションの一発起動、定型処理の実行等に威力を発揮します。
 また、Version 2.00からブラウザによる操作ができるようになりましたので、事務所内で各人のパソコン端末から共用のTVを操作したりする事ができます。
 更に追加で、Version 2.10からはメールで操作できるようになりました。留守録を忘れた時や、TVを消し忘れた時(そんな事覚えてないと思うけど)外出先から操作する事ができます。(定期的にメールチェックできる常時接続環境が望ましいです)

「概要」

 リモコンからの赤外線をPIC16F84による赤外線受信部で受信して、RS232C経由でパソコンに送り込みます。最近のノートパソコンではRS232Cを装備していない場合もありますが、そんな時は市販のUSB-RS232C変換アダプタを使って接続します。
 パソコン側ソフトでは、どのボタンが押されたか判定して内部コード(CH1などの文字列)を生成します。
 生成された内部コードでテーブルを検索して、マッチしたテーブル内容に従った処理を行います。

 PIC側の電源はRS232Cの信号線から取っていますのでACアダプターも不要です。(給電能力が低いパソコンでは別に電源が必要です)

 ブラウザからの操作では、以下の様な画面がブラウザに表示されますので簡単にTVを操作する事ができます。
 また、IrKeyは簡易Webサーバーとして動作するので、かなり自由な画面を作る事ができます。

「ハードウェアの作成」 

 とりあえず「PIC赤外線リモコン&I/Oターミナル」(Ver1.30以上)を接続して動作させる事ができます。
 4種類有ってどれでも使えるのですが、もっとも簡単な Type C をお薦めします。
 私は小さく作るのが好きなので、 Type C から赤外線送信部分と電池を省いて(拡張用ジャックで対応)9ピンD-SUBのケースに納めてみました。「PIC赤外線リモコン」のページをご覧下さい。

「パソコン側ソフト」 

・メニュー

File

Edit Data

IrKey.datを直接編集します。
・編集後はプログラムを再起動する必要があります。
・「*.dat」に関連付けされているプログラムで開きます。

Edit Inf

IrKey.infを直接編集します。
・編集後はプログラムを再起動する必要があります。
・「*.dat」に関連付けされているプログラムで開きます。

Edit Nw

IrKey.nwを直接編集します。
・編集後はプログラムを再起動する必要があります。
・「*.dat」に関連付けされているプログラムで開きます。

Make html

・登録されている情報で赤外線送信用HTMLファイルを生成します。

Exit

・終了します。

Help

Contents

・いま見ているファイルを表示します。
・「*.html」に関連付けされているプログラムで開きます。

Command

・コマンド一覧を表示します。
・「*.html」に関連付けされているプログラムで開きます。

・コマンドボタンエリア

Connect

・常駐プログラムにLANで接続します。
(常駐プログラムのAcceptONになっている必要があります)

Disc

・常駐プログラムとの接続を切断します。

Write

・編集したデータをファイルに書き込みます。

hostname

・接続する端末のホスト名を入力します。

DebugMode

・コマンドのデバッグ用メッセージを表示します(LAN接続時に有効)

Reload

IrKeyを再起動しなくてもデータを再読み込みさせます。

Application
 この画面でアプリケーションの操作に関する設定を行います。

Code1

・比較するキーコードを設定します。

Code2

・2つ連続して比較する場合はこちらも設定します。

Page

・現在のページがここの記述と一致しているデータのみ比較対象とします。
・ページ未設定時はALLです。

Comment

・データ編集用の説明やメニュー表示する時のタイトルを記述します。
・先頭にセミコロン(;)を記述すると、メニュー表示されません。

ID

・通常はNormalにします。
・タスクバーのStartを選択した時にメニュー表示したい場合はStartと記述します。
・タイマー設定した場合はここに曜日を表すコードが設定されます。

TIMER

・タイマー動作させたい時にクリックするとタイマー設定画面が表示されます。

Command

・実行させたい処理を記述します。
・セミコロンの後はEnterで改行しても構いません。
・最大4000バイト入力できますが、長い場合はFile()関数で別ファイルにして下さい。

Cursor Check

・画面上でのマウス座標とClassNameを調べたい時にチェックします。

Add/Update

・一覧で、空白を選択している場合はデータを追加します。
・データが存在する部分を選択している場合は更新します。

Cancel

・更新や削除した直前のデータを元に戻します。

Execute

・チェック用にコマンドを実行します。常駐部に接続している必要があります。

右クリックメニュー

・データを削除する時に右クリックします。

 

Macro
 実行ファイル名等の長い文字列をマクロ登録して使えます。

Macro Name

・マクロ名を入力します。必ず@で始まる文字列にします。

Macro Contents

・内容を入力します。

reference

・プログラムを参照して、「Macro Contents」に設定します。

Add/Update

・一覧で、空白を選択している場合はデータを追加します。
・データが存在する部分を選択している場合は更新します。

Cancel

・更新や削除した直前のデータを元に戻します。

右クリックメニュー

・データを削除する時に右クリックします。

 

AutoPageChange
 ここににこの画面でアプリケーションの操作に関する設定を行います。

Title[:ClassName]

・チェックしたいアプリケーションのタイトル文字を指定します。
・前後にアスタリスク(*)を記述して前方一致、後方一致、あるいは途中に含む文字列をチェックできます。
・マクロ名も設定できます。
・クラス名を指定することもできます。(例 "":"Class"

Command

・実行させたい処理を記述します。
・最大4000バイト入力できますが、長い場合はFile()関数で別ファイルにして下さい。

Add/Update

・一覧で、空白を選択している場合はデータを追加します。
・データが存在する部分を選択している場合は更新します。

Cancel

・更新や削除した直前のデータを元に戻します。

Execute

・チェック用にコマンドを実行します。常駐部に接続している必要があります。

右クリックメニュー

・データを削除する時に右クリックします。

 

IR data
 赤外線リモコンの信号を学習します。学習時は常駐部と接続している必要があります。

Learn

・チェックした状態で赤外線信号を受信すると、受信内容でデータを追加します。

Code

・赤外線信号に対応するコードを設定します。

Alias

・コードの別名を設定します。Applicationで設定したデータを検索する時は、CodeAliasどちらでも比較されます。

Comment

・リモコンのメーカー名等、何のデータか判るように設定します。

Compare

・受信データをどれだけの長さで比較するかを設定します。
・家電協会フォーマットに準拠した信号では1を選択して下さい。その他の信号では誤動作の可能性が高いかも知れませんが、この設定を変える事で対応できる場合もあります。

Update

・一覧で選択したデータの赤外線信号データ以外を修正できます。

Cancel

・更新した直前のデータを元に戻します。

右クリックメニュー

・データを削除したり、Compareの部分を変更する時に右クリックします。

一覧のダブルクリック

・赤外線信号を送信します。

 

HotKey
 ホットキーで実行するコマンドを設定します。
 CommandSendKeys()が含まれていない場合は即座に実行しますが、含まれている場合は誤動作を防止するためキーが離されるまで実行しません。

Shift,Ctrl,Alt,Win

・使用するキーをチェックします。

Virtual-key code

・このエリアをマウスで選択して使用するキーをクリックします。

Comment

・ホットキーの内容が判るように名称を記述します。

Command

・実行させたい処理を記述します。
・最大4000バイト入力できますが、長い場合はFile()関数で別ファイルにして下さい。

Add/Update

・一覧で、空白を選択している場合はデータを追加します。
・データが存在する部分を選択している場合は更新します。

Cancel

・更新や削除した直前のデータを元に戻します。

Execute

・チェック用にコマンドを実行します。常駐部に接続している必要があります。

右クリックメニュー

・データを削除する時に右クリックします。

 

Value
 変数を設定します。if文と組み合わせてちょっとした処理の分岐等を行います。
 $statusについては組み込み変数として定義されていますのでここでの設定は不要です。

Name

・変数名を入力します。必ず$で始める必要があります。

Start

・変数の初期値を設定します。

Min

Value関数で増減した時、変数の最小値チェックで使用します。

Max

Value関数で増減した時、変数の最大値チェックで使用します。

Add/Update

・一覧で、空白を選択している場合はデータを追加します。
・データが存在する部分を選択している場合は更新します。

Cancel

・更新や削除した直前のデータを元に戻します。

右クリックメニュー

・データを削除する時に右クリックします。

 

Mail(1)
 メールに関する各種設定を行います。

Type

・「Dialup」にするとダイヤルアップ接続されている時だけメールチェックします。
・「Lan」にすると常時接続されているとして、常にメールチェックします。

Dialup Provider

・上記のTypeが「Dialup」の場合、複数の接続先があって特定のプロバイダで接続している時だけメールチェックしたい場合に、接続名の一部を記入します。記入した内容が接続名に含まれている場合にメールチェックします。

Enabled

・メールチェック機能の有効/無効を設定します。

Delete

・正常に処理できたメールを削除します。

Error stop

・メールをチェックする時に連続して指定された回数失敗すると、メールチェックを停止します。

Server(POP3)

POP3サーバー名を設定します。

UserID

POP3サーバー用のユーザーIDを設定します。

Password

POP3サーバー用のパスワードを設定します。

Server(SMTP)

SMTPサーバー名を設定します。
IrKeyからの返信が不要の場合は設定する必要は有りません。

Mail address

・自分のメールアドレスを設定します。
IrKeyからの返信が不要の場合は設定する必要は有りません。

Keyword

IrKey操作メールである事を示すキーワードを設定します。

TOP Enabled

・ほとんどのプロバイダで対応していると思われますが、POP3TOPコマンドでメールタイトル等を取得します。この場合、メールを全て読み出す必要が無いため、下記の「Check size」に関りなく処理できます。
・使用できないプロバイダの場合は、今まで通り下記の「Check size」を使用して下さい。

Check size

・メール内容を確認する最大サイズを指定します。不要メールを削除する場合は、このサイズまでのメールが削除可能です。

Sender

・特定の送信元からのメールでのみ操作できるように、「From」行に含まれる内容の一部を設定します。
・何も記入しないと、どこからのメールでも操作できます。
・最大10件分の設定が有効です。

Write Mail

・設定を変更したらボタンをクリックして内容を書き込みます。

 

Mail(2)
 メールに関する各種設定を行います。

Save

・削除しないメールを「Save」としておきます。
(例えばabc@*.comで削除指定していてもabc@def.comをSave指定しておけばabc@def.comは削除されません)

Delete Account

・メールアカウント(@以前)が一致するメールを削除します。大文字/小文字は区別しません。
・削除可能なメールのサイズは「Mail(1)」タブの「Check size」以下となります。

Delete Domain

・メールドメイン(@以降)が一致するメールを削除します。大文字/小文字は区別しません。
・削除可能なメールのサイズは「Mail(1)」タブの「Check size」以下となります。

Delete Match

・メールアドレスが一致するメールを削除します。大文字/小文字は区別しません。
・削除可能なメールのサイズは「Mail(1)」タブの「Check size」以下となります。

Add/Update

・メールアドレスの修正/追加を行います。

CheckMailDelete

・迷惑メール削除機能のON/OFFを設定します。

Delete Days 削除指定されているメールがここで指定した日数を経過するとIrKeyMnt起動時に一覧から削除されます。ゼロ指定で無効となりますが、データ量を抑えるためになるべく指定して下さい。

Account

・アカウントの追加/修正時に編集するためのエリアです。
・ワイルドカードが使えます。(例:*abc??.def

Domain

・ドメインの追加/修正時に編集するためのエリアです。
・ワイルドカードが使えます。(例:*abc.com

Delete Subject

・ここに記述した文字列がSubjectに含まれている場合、「Save」指定されていてもメールを削除します。
IrKeyMntからの入力では誤指定を防止するため3文字以上の入力が必須となります。
・入力した文字列が一般的な単語の場合、必要なメールまで一致して削除する場合が有りますので、ご利用に当たっては、自己責任で十分注意して下さい。
・ワイルドカードが使えます。(例:*未承諾*
Ver2.70以降、中に含まれる文字列で削除する場合にはワイルドカードで指定する必要があります。

String Grid

・右クリックで、選択している行の削除やソート、Subjectのコピーが行えます。

Write List

・設定を変更したらボタンをクリックして内容を書き込みます。

 

Setup
 各種動作設定を行います。

RS232C Mode

・接続するハードウェアに合わせて設定します。できればConnectの方が良いです。

ComPort

・ハードウェアを接続しているポート番号を設定します。
OFFの場合はハードウェアを接続しないで、IrKey単独で使用する場合です。(ホットキーと簡易なマクロ処理ができます)

AutoPageChange

・初期起動時の自動ページ変更処理が有効か無効かを設定します。起動後に専用関数でも変更できます。

HotKeyEnabl

・初期起動時のホットキーが有効か無効かを設定します。起動後に専用関数でも変更できます。

Timer

・初期起動時のタイマー処理が有効か無効かを設定します。起動後に専用関数でも変更できます。

IrSend Retry

・赤外線送信で失敗した時のリトライ回数を設定します。

Encription

RemoteControlの暗号化キーワードまたはファイルを設定します。

LanAccept

・LANを使用する場合はONにします。

RemoteControl

LANで接続されている他のパソコンからの操作が有効か無効かを設定します。起動後に専用関数でも変更できます。

Port

LAN通信に使用するポート番号を設定します。
LanAcceptRemoteControl別々でも一緒でも設定できます。

Free

・ブラウザやIrKeyMntIrConから自由にアクセスできる端末のIPアドレスを指定します。
・最後がドット(.)で終わっている場合は、ドットまでの内容が一致しているかで判定します。数値の場合は完全一致しているか判定します。画面は私の環境で自端末と自宅内の端末全てを指定した例です。
IrKeyMntを接続する端末の分は必ず登録して下さい。

Refuse

・アクセスを拒否する端末のIPアドレスを指定します。入力方法はFreeと同様です。Freeと両方に記述してある場合はこちらを先にチェックしますのでこちらが優先です。

UserID+Password

・ブラウザからアクセスする時にFreeRefuseどちらにも記述していない場合、Basic認証を行う事により使えるようにできるユーザー名とパスワードを設定します。
・なお、ブラウザからの認証を3回間違えるとIrKeyを再起動しない限り接続できなくなり、RefuseIP.txtIPアドレスが保存されます。必要ならこの内容を後でRefuseリストに追加します。
・最大50人分の設定ができます。

Write Setup

・設定を変更したらボタンをクリックして内容を書き込みます。

 

Menu画面
 起動ファイルやアクティブにするウィンドウ等をメニュー表示します。


・タスクトレイからの右クリックメニュー

Start

・データのページに「Start」と記述されている項目のメニューを表示します。

Accept

LANの接続可否を設定します。

RemoteControl

LAN内の別端末からのWindows操作の可否を設定します。

Mail

・メールチェック動作の可否を設定します。

Timer

・タイマー動作の可否を設定します。

Reload

・データを再読み込みします。
エディターで直接編集して再読み込みするのに便利です。

Open

・データ設定プログラムを起動します。
タスクトレイのアイコンをダブルクリックしても起動できます。

Exit

・常駐プログラムを終了します。

 

「データ登録方法」 

 使い方次第で千差万別なので、ここでは私が基本的にどのように登録しているかを簡単に記述します。

 ・メニューの表示はページに関りなく電源ボタンを2回連続して押すと表示されるようにしています。
 ・ページ自動切り替えのON/OFFもページに関りなく変更できるようにしています。
 ・よく使うプログラムの起動は、電源ボタンの後にチャンネルボタンを押します。
 ・ページ指定されていない状態では、「Win」、「Tab」、「Esc」、「Alt」、「Enter」、「Alt+F4」、カーソル移動ができるようにしています。

 詳細は添付のデータファイル(IrKey.def)を参照して頂ければ理解できると思います。

「コマンドと内部変数」 

 コマンドと内部変数はこちらにをご覧下さい。

「ブラウザからの使用について」 

 ブラウザから使用する場合は以下の様なURLを指定して下さい。
 ・端末ホスト名「desk1」、ポート番号「1024」で、「maker.html」が準備されている場合

http://desk1:1024/maker.html

 なお、HTMLファイルの作成等についてはこちらをご覧下さい。

「メールでの操作について」 

 外部からメールで操作する方法についてはこちらをご覧下さい。

「ブラウザでの操作について(各種コマンド等)New

 外部からブラウザで簡単な操作ができるようになりました。設定方法についてはこちらをご覧下さい。

「メール削除機能について」(注意) 

 設定間違いやバグにより必要なメールが削除されても責任をおえませんので、自己責任でご利用願います。もちろん私の環境では問題無く動作することを確認しています。

「リモートコントロールについて」 

 制御側のパソコンに相手パソコンの画面を表示しながらマウス操作したりキーボード操作する事ができます。こういったソフトウェアはフリーでも多く存在していますが、本ソフトウェアでは会社内のProxy経由でアクセスできますので非常時に重宝します。

「データファイル」 

 IrKey.infには通信ポート等が設定されています。
 IrKey.datに赤外線信号等の各種情報が設定されています。
 IrKey.defIrKey.datが存在しない場合に、IrKey.datに変わって読み込まれます。(サンプル用)
 IrKey.nwLAN関連で使用するIPアドレスやユーザーID等が記述されています。
 RefuseIP.txtはブラウザからのアクセスで3回認証に失敗した端末のIPアドレスが格納されています。

 複数のデータファイルで使い分けたい場合は、IrKey.exe/IrKeyMnt.exeの起動パラメータでxxx.datと指定します。その他のファイルは内部で拡張子を変更して対応しています。

 「IrKey.Inf」ファイルの補足説明
 このファイルにはエディターで設定可能なタイマー関連の情報があります。これらはIrKeyMntでは設定できませんので、直接編集する必要があります。(通常は編集する必要が無いため、編集する方法を準備していません)
 表示が不要な場合はゼロにしておきます。
 またPerlを使用する場合で、Perlにパスが通っていない環境では下記の様に[Inf]の中にPerlのパスを記述する必要があります。

[Inf]
Perl = c:\perl\bin\perl.exe

[Timer]
;
ページ変更を通知する時の時間(ミリ秒)
PageChange = 2000
;
ボリュームの状態を通知する時の時間(ミリ秒)
Volume = 2000
;
タイトルが見つからない時の警告時間(ミリ秒)
Warning = 2000
;
2コード連続受信指定されている時の補助メッセージ表示時間(ミリ秒)
Shift = 5000
;LAN接続の状態変化状態を表示する時間(ミリ秒)
LanStatus = 3500
;Mail
処理の状態変化を表示する時間(ミリ秒)
MailStatus = 3500















「使用できる赤外線信号」 

 家電協会フォーマットといわれる信号に類似したものであれば認識可能です。

「2つ連続して比較する場合の動作について」 

 Application画面でCode1,Code2を設定している場合は、Code1を受信した時にCode1のページ名が表示されます。Code2はページ名が表示されている間に入力しないと、Code1の入力は解除されてしまいます。なお、ほぼ同時に押した場合はCode2を入力したと認識されます。(画面消去から0.5秒以内なら正常に入力された事になるようタイミングを取っています)

「仕様や機知の問題点」 

 各種情報を設定する時に、関数のパラメータを区切っているカンマ以外のカンマは使用できません。ファイル格納時にセパレータとして使用しています。
 タイマーの登録数に制限は付けていませんが、実行する時は最大50件分しか動作しません。あまり多く登録しておくとシステムのパフォーマンスに影響を与える恐れがあります。また、タイマー登録エリアはメールでの予約や、各種タイムアウトチェックでも使用していますので、必要最小限の登録にする必要があります。(全体では最大60件分確保しています)
 外部からのLAN接続に当たっては十分セキュリティに注意して下さい。
 コマンドを実行する場合、最大5系統をパラレルに実行できます。従って同一時分秒で5つを越えるタイマー予約はできません。また、赤外線送出については、送出回路が1つのため複数の要求が有った場合は待ち合わせが発生します。

「インストール」 

 格納したいフォルダに解凍ファイルを一式置いて下さい。
 バージョンアップする場合は以前のデータファイルを待避しておき、解凍後に上書きして下さい。その後IrKeyMnt.exeで必要な項目を再設定して下さい。
 IrKeyMnt.exeがデータ設定プログラムです。起動してRS232C関連の設定を行い、保存したら一旦終了します。
 次にIrKey.exeを起動します。タスクトレーにアイコンが表示されますので、そこからOpenあるいはアイコンをダブルクリックするとデータ設定画面が起動するようになります。この状態で赤外線信号を学習したり、信号受信時の動作を設定して下さい。
 動作の設定が終わったら、データを保存して、IrKey.exeを再起動して下さい。
 赤外線を受信させて動作確認が正常であれば、IrKey.exeWindows起動時に常に起動されるようにショートカットをスタートアップに入れて置きます。

「アンインストール」 

 レジストリ等は使用していませんので、プログラムを置いたフォルダにある内容を削除するだけです。

「利用に関する注意事項」 

 本ソフトウェアは非営利目的であれば自由にご利用頂いて構いませんが、本ソフトウェアの利用により何らかの不利益が発生しても作者は責任を負いません。利用者の責任でご利用願います。同意頂けない場合は本ソフトウェアの利用を禁止致します。

Copyright (C) 2001-2004 T.Sagae   All Rights Reserved.