RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

WebUSBでICカード取り込みを試す

f:id:ntthuat:20200708143036p:plain

はじめに


初めまして、ntthuatと申します。 ラクスに入社して3年目になりました。時間が過ぎるのは早いですね。

さて、2020年12月末にFlashのサポートが終了するという話は皆さんもご存知かと思います。 今回、私が開発担当している「楽楽精算」で、Flashの代わりにWebUSBという技術を用いて、ICカード履歴を取り込む機能をリリースすることになりました。
この記事ではそのWebUSBについて試したことを一部ご紹介させていただきます。

動作確認環境


以下の環境でWebUSBの動作を確認します。

WebUSBとは


簡単に言うと、WebUSBjavascriptで書かれているAPIです。
WebUSBはPCに接続されたUSBデバイスChromium系ブラウザ(Chromeなど)から直接アクセスすることができる技術です。 USBデバイスの認識、読み出しなどを行うことができます。 EdgeはChromiumベースで開発していますのでEdgeでもWebUSBが使用できます。

ChromeのDeveloper ToolsでWebUSBAPIを実行してみましょう。

await navigator.usb.requestDevice({'filters': []})

ドライバーをインストールせずにブラウザ自体のみでUSBデバイスを認識できます。

f:id:ntthuat:20200708115307p:plain

今回は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ドライバーに切り換えができます。

f:id:ntthuat:20200707142506p:plain

WinUSBに切り替えしてください。

WebUSBの動作確認


PaSoRi RC-S380/S経由でICカードを取り込みを確認しましょう。

ソニーのサポートサイトで提供されているサンプルプログラムを実行してみます。
サンプルプログラムのソースコードにつきましては、詳しくはSonyサイトでご覧ください。

PaSoRi RC-S380/SをPCに繋げてExecuteボタンをクリックすると、デバイスを選択するダイアログが出て、RC-S380/Sを認識してICカード履歴を読み取りできます。

実行結果は以下のようです。

f:id:ntthuat:20200713135942g:plain

レスポンスのデータはhexのフォーマットですが、分析して日付や距離、金額などを取得できます。

おわりに


Flashのドアーが閉まるとWebUSBのドアーが開かれますね。(^_^)
WebUSBでブラウザからUSBデバイスを読取りできて素晴らしかったです。

Copyright © RAKUS Co., Ltd. All rights reserved.