PaSoRiとOSXとRaspberry Pi

 ICカードリーダー/ライターは,名前の通りICカードの情報を読み取ったり,情報を書き込んだりする機器です。具体的には電子マネーカードや関東圏のSuicaカードのような交通系カードを読み取るもので,パソコンに接続する周辺機器として店頭でも売られています。ソニーのPaSoRiという商品はその中で最も手に入りやすいものとして有名です。

 最近では,iOS端末(iPhoneやiPad)にBluetooth無線接続するタイプのPaSoRiが登場し,電子マネーカードや交通系カードの残高確認がアプリからも可能になりました。

 斯様にソニーのPaSoRiというのは現在も販売されているのですが,結構なモデルチェンジを繰り返して現在に至っているものとしても有名なのです。

 もともとFelica方式(多くの電子マネーやおサイフケータイで採用された方式)のカードを読み書きできるように作られた製品RC-S310という機種から始まり,廉価で多く販売されたRC-S320,黒くなってe-Tax対応したRC-S330,改良版RC-S370,そしてNFC国際規格に対応を果たしたRC-S380と進化を続けてきました。

 Android端末もNFC規格に対応を始め,iPhone6も内部的にはNFC機能を持つようになってきたので,今後はRC-S380という機種である程度落ち着くのではないかと思いますが,技術は日進月歩ですのでPaSoRiは今後も変化していくのかも知れません。

 ところで,PaSoRiというのはWindowsパソコン用として販売されてきました(RC-S390は別枠なのでUSB接続できるPaSoRiはWindowsのみ対応というのが基本です)。あとは同じソニーということでPlayStationに接続できるという変わり種はあります。

 しかし,世の中にはMacもあるし,Linuxパソコンなどもあるし,そうしたWindows以外のコンピュータでもICカードを扱いたいというニーズはあったわけです。そうした声に対してソニー側も水面下ではいろいろ対応してきましたが,なかなか思うようには使えなかったというのが正直なところです。

 一方で,オープンソースの世界には,いろんなデバイスを自由に扱えるように,独自にドライバやプログラムを組んでいる人たちがいます。有り難いことに,そうした人たちの努力によってUSB機器が自由に扱えるようになったり,PaSoRiがLinux上で扱えるようになったりしています。

 ただ,そうした動きがあるにも関わらず,ネックなのがPaSoRiのような頻繁なモデルチェンジ。

 新しい型番のものは,たとえ見た目が似ていても中身ががらっと変わっていたりするため,今までの対応方法では動かなくなることも少なくないのです。

 PaSoRiもRC-S320(白PaSoRiと呼ばれています)とRC-S330(黒PaSoRi)との間に互換性がなくなり,作業のやり直しが必要になりました。同様なことがRC-S370とRC-S380の間でも起こり,いままで対応してきたものがまたリセットされたところでした。

 私自身,RC-S320を対象した残高ソフトをMac OS Xのネイティブアプリとしてリリースしたことがありますが,これも残念ながらRC-S330以降のPaSoRiには対応できていません。ハードウェアと直接やりとりするソフトウェアをメンテナンスするのは,結構大変です。

 現在販売されているRC-S380に対応したオープンソースの成果はないのではないかと思われていたのですが,実は「nfcpy」とよばれるPython言語で書かれたものが対応しているとわかり,しかもRaspberry Piで動かした報告などが紹介されていました。

Raspberry Pi 2 で NFC (FeliCa) を使えるようにする」(しばやん雑記)

 こうしたライブラリが使用できるのであれば,FelicaやNFCによるIDカード(社員証や学生証)を読み取って出勤/出欠管理システムをRaspberry Piで構築するというのも悪くないかも知れません。

 個人的にはMac OS XでRC-S380が動かせるようにしたいなと考えていますが,まずはRaspberry Piでメイカーズ的にシステムを作ってみるのも面白いかなと思いました。