R/Wから無線を出して、カード側のCPUと無線で通信する。磁気のように読み取るのではなく、カードに命令を出して、カードから応答が返ってくる。この無線の規格がまとめられている。プロトコルを含む(コマンドは含まない)無線の部分については、NFCとして含まれていると思っている。国内の携帯電話に搭載されているFeliCaチップは、NFC-AやBに対してこの部分が対応できないのではないかと思う。根拠はないのだがね・・・。対応してたら、iCカードリーダアプリとして出しそうな気がしたので、出てないから対応してないのかな、というだけだ。次に、カードに命令を出す、と書いた部分。この命令も規格として決めないと、やりとりができない。ソフトを書いている人で一番身近なのは、ここだと思う。ここについて、NFCはISO14443やISO18092の命令の一部のみをサポートしていると考えている。これはISO18092のFeliCaとDigitalProtocol仕様書のNFC-Fを見比べてだけのことだ。すると一文として「ISO18092をフルサポートするが」とか書いてあるのかもしれん。現在NexusSという機種に搭載されているNXPのPN544を見ると、どうもFeliCaのPUSHなどのISO18092に書かれていない命令もサポートしているようだ。これがどういうことを意味するのか、よくわからん。NXPとSONYが話し合った結果かも知れんし、研究した結果なのかもしれん。私が知らないところに書いてあるのかもしれん。ここまでは、カードと無線チップ(FeliCaチップとか)の間の話。その次に、メモリがある。読み書きしたデータをどこに置くか。NFCで論理的な決まりは書かれてたように思うが、物理的な決まりはないと思っている。情報によると、FeliCaの場合は専用チップ、MifareなどはSIMに持っているらしい。その情報を秘密化するようなことはNFCに書かれていない。そこら辺は、FeliCaとかMifareとかで決まっているのだと思う。(ドコモは、将来的にSIMにデータを持っていくらしいが。」を名乗る準備ができた、ということになると思っている。ここからいろいろと試験を受けないといかんのだろうけどね・・・。NFCのチップを載せたからおサイフケータイだ、というのは、ない。そもそも、「おサイフケータイ」というのはドコモの登録商標だからね・・・。NFCチップが載ってMifareとかでバンバン使うことができたとしても、それだけでは「おサイフケータイ」ではない。おサイフケータイと名乗ってよい、とされたものがおサイフケータイなのだ。おサイフケータイが世界的にはあまり広くない、というのは正しいと思う。インフラはあんまり得意ではない気がする。NFCにすればなんでも大丈夫、というわけではないという話だ。ハード的な無線レベルでは上位互換だけど、それ以降はチップ次第というか規格次第というか。いうようなことは、調べれば出てくる。ない情報が出てくる方が多い。そりゃ、出てくる情報が多い方が正しいと思ってしまうよねぇ。情報の更新が新しくないため、とか。昔ブログに、「FeliCaがISOだかIEEEの規格に入れんかった」という記事を書いたとしよう。Bは正式に規格となったのは何となく覚えている。ISO14443だろう。このときの情報で書くと、たぶんこの記事は正しいと思う。昔のことだと思うけどなぁ。あとは「思い込み」とか。nfc」で検索したときに出てきた一番最初のサイトを見ると、元記事では「e-Wallet」ってちゃんと書いてあるのに、なぜか日本語にするときに「おサイフケータイ」になっている。これはたぶん、「e-Walletって書いてもわからないだろうな・・・日本ならおサイフケータイかな」ということで書いたと思う。(コメントにも突っ込まれてるけど。)なので、親切心で書いたと思いたい。「まあいいや」と思っている人もいるかもしれない。後で気付いたけど、大した違いはないだろう、とか。実は、そういうのが一番困るのかもしれない。いうと、そのまま記事が修正されないまま残ってしまうからだ。それを見た人が、またその情報を元に・・・と連鎖していく。代替えの言葉が思いつかないからかなぁ。「電子マネー」でいいと思うのだが。それと、なぜか知らないけど、妙におとしめたがってる人がいるような気もする。FeliCa→国内→だめNFC→海外→OKみたいな。別にいいんだけど、曲解はよろしくないだろう。思い込みが強くて、そう自分で読んでしまう、ということがあるのかもしれない。いう私だって、曲解していないとは限らない。FeliCaとかほとんど使わない私だが、意外とNFCというものは気に入っているのだ。そのひいき目があるかもしれん。いえば、気になっていることがある。Mifareの方が発行数が多いのはわかったのだが、携帯電話に搭載された実績があるのだろうか?決済機能を持つ携帯電話という意味でだ。あるとは思うのだけど、情報が無くてねぇ。なんだかんだ書いたが、私の情報もしょせんこの程度ということだ。nfc[ndk]NativeActivityを使ってみる(1)なるべく、楽をしたい。今のところ、AndroidでNFC関係をやっているわけではないが、そのうちやりそうな気がする。やるときは、楽をしたい。Androidで楽をするというと、Javaを使わないJNIを使わないが最初に出てくる。楽をするというか、苦手なものを避けたいというか。画面を出すにはJavaを使わないといかんし、RC-S620/SのライブラリをC/C++で作っているのでJNIを使わないといかん。避けてきたのだが、そういえばNativeActivityというものがあることを思い出した。ゲームなどの高速性が必要となる分野にはいいよ、みたいな記事をよく見かけたのだが、単にJavaを使うのがめんどうという人にも使えないだろうか?そんな気持ちでやってみる。3連休なのに家から出てないいいわけをするためにやっているわけではないぞ。手本となるのは、NDKのサンプルであるnative-activityだろう。サンプルを見ながらEclipseに組込み、動かす。OpenGL|ESなんかもよく知らないので、とにかく必要最低限のところまで削除することにした。すると、glueを使う限りはあまり苦労しそうにない。hasCode=falseandroid_main()app_dummyALooper_pollAll()コールバックを登録しておくと、タッチイベントがとって来れた。座標もわかるので「見えないボタンを押す」と考えれば、適当な処理を座標で分岐すればできそうだ。画面サイズの取得がわからないけど・・・。わからんところも多いが、ここら辺から始めるかね。android2011/03/19[falp]開始の所だけ書いてみたFALP開始の所だけ、Android2.3.3・・・というか、余所様のソースに追加して書いてみた。動くかどうか試せなかったので、OBEXの接続をする前までしかやってない。9割がた動かないんじゃないのー、というところ。https://github.com/hirokuma/Android_NFC_FelicaEdit参考にさせていただいたサイトは、ゆめ技さんのところ。Androidのところがあってるのかどうかすら、よくわからない。動くのか動かないのか、動かないときは何が動かないのか、教えていただけると非常に喜びます。(後日)うごいたー、という話を聞かないから、やっぱりだめなのだろう。うまくいったとしても、携帯電話の状態が変化するだけだから、機種によってはわからないのかも。nfc2011/03/18「マーケティングの除外」が効いているようだ!久しぶりにandrolibやandroiderを見ると、私のアプリが無くなっていた。ほほう、これが「マーケティングの除外」か!疑ってすまんかった。何が大変かというと、解析作業がだ。Proでキャプチャし、それをExcelみたいなのに1byteずつ書き写して解析している。XMLにしてから貼り付けられるのかもしれんが、どうせ解析するときには1byteずつ眺めるので、どうでもいい。いいが、この作業に時間がかかる。X-DOCOMO-というタグがある画像はBase64になってるというわけで、画像のサイズだけでも3分の4倍になる計算だ。nfc2011/03/17[falp]FeliCaチップじゃないと無理なんじゃなかろうかねふっと、NexusS向け(Android2.3.3)にFALPのコードを書いてみたら、他の環境でも試してもらえるのでは?と思った。うちではP906iだけでしか確認できないので、ちょっと寂しいからだ。あれはやはり、FeliCaチップじゃないと無理なんじゃなかろうかね?と。持ってないもののコードを書くのはつらいし、動いても動かなくてもなんだかわからないので、やっぱりやらなくて正解だろう。動いたら・・・どういうことなんだろう?PUSHだって動いているようだし、案外サポートされているのか?気にはなるが・・・。nfc2011/03/16[falp]長いテキスト送信FALPで長いテキストを送信した。ツールとしては、ブックマークやメールなんかも転送できるようだが、それはFALPではなくOBEXの範囲だ。やってみてわかったのは、FALPのコマンド種類がまだあるということだ。FALP終了(BYE)たぶん、0x04や0x06もあるんだろうな。PUTの部分に当たる。ここがFALPの1回で送信できるサイズを超してしまったので、別のFALPパケットに分けたというところだ。そのとき、続きがありますよという意味で0x02を使うようだ。画像を送ってみると、さらによくわかるだろう。あれはテキストの比ではないだろうからな。nfc2011/03/15[falp]どうやって受信するかが思いつかないFALPについて、今日は何もしていない。何をしていいのかわからない、というところだ。送信ができたんだから受信はその逆をやればいいだろう、と軽く考えていた。最初に届いたFeliCaコマンドは、今まで見てきたものとは異なるものであった。