はじめに
初めまして、ntthuatと申します。 ラクスに入社して3年目になりました。時間が過ぎるのは早いですね。
さて、2020年12月末にFlashのサポートが終了するという話は皆さんもご存知かと思います。
今回、私が開発担当している「楽楽精算」で、Flashの代わりにWebUSBという技術を用いて、ICカード履歴を取り込む機能をリリースすることになりました。
この記事ではそのWebUSBについて試したことを一部ご紹介させていただきます。
動作確認環境
以下の環境でWebUSBの動作を確認します。
- Windows 10
- Google Chrome 83
- PaSoRi RC-S380/S
WebUSBとは
簡単に言うと、WebUSBはjavascriptで書かれているAPIです。
WebUSBはPCに接続されたUSBデバイスにChromium系ブラウザ(Chromeなど)から直接アクセスすることができる技術です。
USBデバイスの認識、読み出しなどを行うことができます。
EdgeはChromiumベースで開発していますのでEdgeでもWebUSBが使用できます。
ChromeのDeveloper ToolsでWebUSBのAPIを実行してみましょう。
await navigator.usb.requestDevice({'filters': []})
ドライバーをインストールせずにブラウザ自体のみでUSBデバイスを認識できます。
今回はPaSoRi RC-S380/S経由でWebUSBの動作を確認しますのでPaSoRi RC-S380/Sのドライバーのドライバーが必要です。
PaSoRi RC-S380/Sのドライバーをインストールする
Sony Japan | FeliCa | 法人のお客様 | 製品情報 | ICS-DCWE9 SDK for NFC Web Client | 個人情報取得同意説明
で評価版をダウンロードできます。
Sonyサイトでのマニュアルのとおり実行します。
コマンドプロンプト等で、NFCポートソフトウェアを以下のオプションを指定してインストールしてください。
NFCPortWithDriver.exe /WinUSB
注意点: NFCPortWithDriver.exeをダブルクリックすると、WinUSBを含めないドライバーをインストールしてしまいますので、WinUSBに付けて実行してください。
ドライバーインストールが完了したら、NFCポート自己診断(ドライバ切り換え)でWinUSBドライバーに切り換えができます。
WinUSBに切り替えしてください。
WebUSBの動作確認
PaSoRi RC-S380/S経由でICカードを取り込みを確認しましょう。
ソニーのサポートサイトで提供されているサンプルプログラムを実行してみます。
サンプルプログラムのソースコードにつきましては、詳しくはSonyサイトでご覧ください。
PaSoRi RC-S380/SをPCに繋げてExecuteボタンをクリックすると、デバイスを選択するダイアログが出て、RC-S380/Sを認識してICカード履歴を読み取りできます。
実行結果は以下のようです。
レスポンスのデータはhexのフォーマットですが、分析して日付や距離、金額などを取得できます。
おわりに
Flashのドアーが閉まるとWebUSBのドアーが開かれますね。(^_^)
WebUSBでブラウザからUSBデバイスを読取りできて素晴らしかったです。