2011/10/06

[felica]FeliCa Liteのこと (3)

さて、他に何か書くことがあるだろうか?

私なりの開発の仕方を書き残しておこうか。


最初に買ったのは、PaSoRiではなくRC-S620/Sだ。

なぜ購入したのか忘れたけど、おそらくFeliCa Developers' Blog(今の名前)に記事があったためだろう。

http://blog.felicalauncher.com/sdk_for_air/?p=2677

 

RC-S620/SにUSBシリアル変換を接続して、パソコンと接続。
パソコン側は、Windows XPだ。
が、これは別に何でもいい。
使うのは、コンソールソフトだけだからだ。
私は、TeraTermを使った(TeraTermがあるからWindowsを使ったのかもしれない)。

 

RC-S620/Sのフレーム仕様は、PDFとして購入者は入手することができる。
が・・・肝心なコマンドの使い方が載っていない。
上記BlogではArduino向けではあるものの、初期化からPUSHまでのソースファイルがある。
これをまねすれば、だいたいのことはできる。

 

というのは、格好がよすぎるな。
他のコマンドが使ってみたいので、バイナリ値で検索をしてみたのだ。
そうしていくつか見てみると、どうもR/Wのコマンドはチップメーカーが違ってもそれほど体系に違いがなさそうであった。
そんなわけで、一番資料として充実していたPN533(NXP)のPDFをネットで入手し(これは公開されている)、RC-S620/Sのコマンド一覧(一覧だけはある)と比較して、同じコマンド名のものはだいたい動くみたいだった。
一番使い勝手のよいCommunicateThruEXも制覇し、カードコマンドが使えるようになったというわけだ。

CommunicateThruEXは、今は正式に仕様書があるので、いい時代になったと思う。


毎回書いているが、R/Wへのコマンドと、かざされているカードへのコマンドは別物だ。

R/Wへのコマンドは、R/Wのチップ依存だ。
しかしカードは、ISO18092みたいな形で規格がある。
まあ、FeliCaはISO18092よりも、JIS X6319なんかの方がいいのかもしれん。

 

CommunicateThruEXはR/Wへのコマンドで、何をするかというとデータ部をそのままカードコマンドとして送信してくれるのだ。
そのレスポンスは、CommunicateThruEXの戻り値という形で取得できる。
InDataExchangeやInCommunicateThruも似たコマンドだが、ちょろっと違う。

CommunicateThruEXこそFeliCaの特徴なのだ!と言い張ってもいいんじゃなかろうか。
このコマンドは、PN533みたいな海外チップにはないのよね。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。