複数リーダライタ接続した際に再起動してもINDEXがずれないように出来ますか?
質問:複数リーダライタ接続した際に再起動してもINDEXがずれないように出来ますか?
回答:
OTGetReaderInfoIndex関数を利用すれば可能です。
(Orange Pro Muzu APIで利用可能)
(バージョン2.0.1.0以降のOneStopEasyAPIで対応可能)
複数台のICカードリーダライタを動作させ、リーダライタのINDEXでどの端末を制御するのか管理できる
リーダライタのINDEXは、再起動やUSBに挿す順番などによりずれる可能性がありますが、
OTGetReaderInfoIndex関数を使えば、リーダライタのシリアルナンバー(S/N)(=不変)が取得出来ます。
アプリ内でリーダライタのシリアルナンバー(S/N)を保持しておくことにより、
再起動でINDEXがずれた場合でも指定のリーダライタを識別する事が可能になります。
このシリアルナンバー(S/N)は、リーダライタ端末の背面に記載されていますのでご確認ください。
外部からシリアルナンバー(S/N)で識別可能です。
■参考情報■複数のリーダライタで利用できるか?
1台のPCで複数のリーダライタを利用する事は可能です。(ただし1台しかサポートしてない場合もありますので各APIのページをご覧ください。)
ただし、非接触型のリーダライタですので、リーダライタ端末同士を近接させると干渉を起こし期待の動作とならない場合があります。(付近に金属があった場合も同様です いくつかのカード・タグが読み取りにくい場合があります )
リーダライタ端末同士を約15cm以上(1台半程度)離すことを推奨しております。
実際のユーザには、PCをはさんだ両側に設置するよう取り決めたり、ハード側は位置も構成も固定しているようです。
リーダライタ利用可能最大数は10台までとなっています。
ただし、複数リーダライタの各APIの対応は以下の通りです。
OrangeOneStopEasyAPI ・・・複数リーダライタに対応
OrangeProMuzuAPI ・・・複数リーダライタに対応
OrangeMomopass ・・・非対応(アプリ)
OrangePost ・・・非対応(アプリ)
OrangeEasyAPI(非商用) ・・・非対応
それぞれのAPIページをご確認ください、関数リファレンスに複数リーダー対応可能かどうか記載があります。