ICカードリーダー「PaSoRi RC-S380」に、ChromeなどブラウザーのJavaScriptなどから直接接続する手順を紹介します。
ブラウザーのコンソールから接続
Chromeなどのブラウザーには[デベロッパー ツール]の[コンソール]画面から、USBデバイスに接続する手段が用意されています。
具体的には次の手順で切り替えを行います。
1. [デベロッパーツール|コンソール]画面に次のコードを入力します。
const device = await navigator.usb.requestDevice(
{
'filters': [
{'vendorId': 0x054c, 'product_id': 0x063c}
]
}
)
‘vendorId’ と ‘product_id’ は、次の手順で確認できます。
2.[chrome://new-tab-page が接続を要求しています]画面で[RC-S380/P]を選択します。
3. 有効になった[接続]をクリックします。
4. 接続を確認するために次のコードを入力します。
device.configurations
5. 接続先のデバイス設定が表示されます。(後で利用する[USBInterface]と[USBEndpoint]の値を確認しておきます)
6. 次のコードを入力してデバイスを開いてみます。
await device.open()
エラーが表示される場合には、ドライバーが[WinUSB]に切り替わっていない可能性があります。詳しい内容は別記事をご覧ください。
7. 続けてデバイスに通信用のパケットを送信してみます。(適当なパケットを送信しているので、特に意味はありません)
const _packet = Uint8Array.of(0x00)
await device.transferOut(2, _packet)
status: “ok” が返却された場合には正常に送信できています。
[Uncaught NotFountError]などのエラーになる場合には[USBEndpoint]で確認した番号にtransferOutで送信していない可能性があります。
とりあえず、適当なパケットですがChromeなどのブラウザーからNFCポートを利用せずにICカードリーダー「PaSoRi RC-S380」に送信することができました。
まとめ
今回は、Windowsに接続された「PaSoRi RC-S380」にChromeブラウザーなどからICカードリーダー「PaSoRi RC-S380」に直接接続する手順を紹介しました。
「PaSoRi RC-S380」などのデバイスは、ブラウザーから通信するために[WinUSB]で接続する形が用意されています。
PaSoRiをブラウザーのスクリプトなどから直接制御したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただきありがとうございます。