Sony RC-S310 (非接触ICカードリーダ/ライタ) http://www.so-net.ne.jp/shopping/edy/pasori.html
RC-S310をUNIX系OS(ほげBSDとか)で使えないかなぁ〜、と思って開発しました。 (しかし現在BSD系では使えていませんが)
でも、IDを取ることだけが目的です。チャージや履歴取得など、それ以上に関し てはは開発する気もありませんし予定もありません。御了承ください。
なお、ufelicaのuはUNIXのuでもあるし、USBのuでもあります。
固有ID(IDm)を取る事に関しては規制はないだろう、ということはソニーの方か ら教えていただいている。
ただし、もしも実際のサービスなどに利用する場合には、発行者(カード・サー ビスの提供企業)の許諾などが必要になる場合があります。
詳しくは同梱のREADME.jaをみてください。また、使いかたなどもREADME.jaを参 照してください。
libusb(http://libusb.sourceforge.net/)が必要です。事前にインストールし、 PATHなどを適切に設定してください。libusbは0.1.8以降を推奨します。
その後、望みのディレクトリに展開してmakeしてください。configureはありません。
gmakeでないとmakeできないと思います。
installなどという気のきいたものはありません。適当なところにコピーしてく ださい。
buildにはcygwinが必要です。
Windowsでは、http://libusb-win32.sourceforge.net/ のほうが必要です。
ufelicaをc:\Programfiles/libusb-win/src/の下において展開してください。
展開したディレクトリの中でmakeとうつと運がよければufelica.exeが作成されます。
ufelicaを利用して取得できる"ID"とカードに記載されているIDおよびSDK for FeliCa などで取得できるIDとは異なります。FeliCaのIDはIDmと呼ばれ、一意で す。記載されているIDはこのIDmだと思います。そして、EdyとSuicaでプロトコ ルが違うことから、おそらくufelicaはIDmを取得しているわけではないようです。
もしかしたらなんらかの変換式があるのかもしれませんがそれは分かりません。 これは、意図時に情報を得ていないから不明なのですが、みなさまからの情報は もちろんWelcomeです。
ちなみにufelicaが"ID"としているのは、
という状況証拠から"ID"とみなしているだけなので、IDとはまったく違う可能性 も大いにありえます。ただ、一意である、という意味では使用には困らないでしょ う。
最新版(0.1.2): http://shirou.prosou.nu/src/ufelica/ufelica.tar.gz
古いバージョン
-s でsleepする秒を設定できるようにした。
標準では9byteを表示していたが、10byte(20桁)に変えてみた。あまり意味はな いかもしれない。
また、さらにスクリプトで使いやすくするために、loopモードでは、
としてみた。
あと、0.0.?だと、細かな変更とかをバージョン番号に入れられないので一気に0.1まであげてみた。0.1.0は幻。
新しいPaSoRiリーダは、最初にリーダの初期化をしなければいけないこと がわかったため、INITコマンドをを追加し、 ufelica_pasori_initalize()関数を追加した。 INITを発行した後readをしなければいけないのにつまづいた。
ついでに、-vをつけないと、IDだけしかでないようにものすごくシンプル にした。これでスクリプトに噛ませやすくなったはず。
Windows/LinuxでID(らしきもの)がとれるようになった。でも、ある人の報告で はLinuxでもとれなった。まだ原因追求中。NetBS/FreeBSDだとreadで止まる。
ただし、Edyカードに記載されているIDとは異なるので、変換式を求めるのが TODOに残っている。まあ、お金をチャージしてもこのID(らしきもの)が変化しな いことが分かったのでそのまま使うのもあり。
とりあえず置いてみた。debug code満載でしかも動きません。
以下は動作しないもの
ufelicaそのものは修正BSDライセンス(条項が3つのBSDライセンス)で公開してい ます。
libusbなどのライブラリはそちらのライセンスに従ってください。
基本的にユーザのサポートはしません。
しかし、ufelicaはFoodwareなので美味しいご飯(とできればお酒)をおごってくれ る人の要望は最優先で叶えるつもりです ;-)