single.php

PaSoRiにChromeブラウザーから接続する

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]に切り替わっていない可能性があります。詳しい内容は別記事をご覧ください。

https://blog.janjan.net/2024/12/24/pasori-device-open-failed-cause-usbdevice-access-denied

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をブラウザーのスクリプトなどから直接制御したい人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただきありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です