RC-S380(Pasori)とLinux NFC Subsystem


Windows限定とするならば、使い勝手の良いNFC Reader Writer(R/W)はSonyのRC-S380になるだろう。入手しやすく、値段も安い。
また以前はほぼSDK必須な感じだったが、RC-S380ではPCSCに対応し、少なくともWindows10においては接続すれば自動でドライバもインストールされので、
買ってきたらすぐ使えるものになっている。
しかし公式ではWindowsにのみ対応なので、LinuxやmacOSを対象としてどうしてもRC-S380を使いたい場合は、有志の開発したソフトを利用していく必要がある。
有名なのはnfcpyだろう。

このnfcpyをネット検索して出てくる記事によれば、LinuxはRC-S380を認識するらしい。
それで、認識するなら使えないのか?と思って調べたらLinux NFC Subsystemとかいうのが出てきた。(2011年ころからあるようだ)

  • PDF1
  • PDF2
  • PDF3 | (nfcpyのRC-S380対応はSonyによるものなの?)

その対応デバイスとして、RC-S380のドライバは確かに存在していて

USB接続されるとNFC Subsystemに登録され、登録されたデバイスはnetlinkとsocketを使って制御できるようなる。

サンプルコードはあんまり見つからなかった。

上記ので十分な感あるが

ということで、LinuxプラットフォームのNFCデバイス制御インタフェースがありましたが、
LinuxでRC-S380使うのにこれを覚えることはしないよなという感想です。(おそらくターゲットが違う)
だからみんなnfcpy使っているのかな。

余談1

こだわりがなければ全てのプラットフォームに対応してくれているR/Wを使えばよい。
例えばAdvanced Card Systems (ACS) の ACR1252Uなんかがある。(Bluetooth LEで接続する製品とかもある)
これなら公式で全てのプラットフォーム向けにドライバが用意されておりPCSCでやれる。(ドライバはOSSっぽいGithub)
スイッチサイエンスさんが取り扱い以前より入手しやすくなったが、RC-S380に比べると少し高い。

余談2

macOSにはCryptoTokenKitというのがあって、
こいつ経由でスマートカードアクセスできるので、システムの流儀に則ってNFCするならこれを使うのが良いのかな? (あるいは、そのうちNFC Coreできるようになる?)


関連記事