ESP32-S3とPaSoRiでSuica(FeliCa)のIDm取得

概要

FeliCa以外のICカードはRFIDユニットで取得できますが、FeliCaはPaSoRiを利用する必要があります。今回一般的なUSB接続のPaSoRi RC-S300の利用ができました。

製品

Sony
¥3,500(2026/08/11 07:28時点)
e-Tax から交通系ICカードの履歴、残高確認まで幅広く使えるパソリ。Windows, macOSのパソコンでお使いいただけるICカードリーダー/ライターです。マイナンバーカード対応ICカードリーダー/ライターです。e-Taxをはじめとした公的個人認証サービスに使用できます。

上記の製品になります。これは日本向け製品で外国でちゃんとしたUSB接続のRFIDリーダーを確認するとこれより高いものばかりなんですよね。

FeliCaリーダー・ライターRC-S620SをM5StickC(ESP32)でGrove接続で使う
概要去年に購入して、積んでいたシリーズです。M5StickCに接続してiPhoneのSuicaを読み取ってみました。RC-S620Sとは?FeliCaを開発したソニー株式会社が販売しているリーダー・ライターです。USB接続のものが主流ですが…

ちなみに業務用のRC-S620SであればUARTで接続できましたが、こちらは製造中止です。業務用として後継機種はありますが、一般販売はあまりしていないようでした。

使い方(全部のID取得とFeliCa限定)

EspUsbHost/examples/Ccid/EspUsbHostCcidReader at main · tanakamasayuki/EspUsbHost
Library for using USB Host with ESP32. Contribute to tanakamasayuki/EspUsbHost development by creating an account on Git…

上記のコードで認識したカードのIDを表示することができます。ちなみにこのサンプルはUSBのCCIDクラスのみのものになります。PaSoRiでも昔の型番のものは独自プロトコルを利用しているので、新しいWindowsとかでドライバーが提供されていなかったりしますが、PaSoRi RC-S300は標準クラスであるCCIDも利用できるので最低限のことは標準クラスだけで動作しました。

EspUsbHost/examples/Ccid/EspUsbHostCcidFelicaIdm at main · tanakamasayuki/EspUsbHost
Library for using USB Host with ESP32. Contribute to tanakamasayuki/EspUsbHost development by creating an account on Git…

上記がPaSoRiの拡張部分の機能を利用してFeliCaのみに制限した場合のコードになります。普通の物理カードの場合にはCCIDのみで問題ないのですが、iPhoneなどの場合には複数のカードが入っていてどれを選択していいのかわからなくなります。

画面でSuicaを選択していても端末にはまずApple PAYのISO/IEC 14443 Type Aで認識されて、IDはランダムになっています。自販機とかでも選択してから接続しないといけないのがこれが原因だと思います。

このコードではPaSoRi交通系であるサービスコード3を指定して、Type Aを除外することでSuica(FeliCa)のIDmが取得できました。

まとめ

Suica(FeliCa)のIDmは自由に設定できる開発機があるので厳密な認証には使えませんが、その限界を知っていれば便利に使えるIDだとは思います。

コメント