nfc

NDEF情報とNXP TagInfo

RL-700Sで出力されたRFIDタグのICで使用されている規格であるISO15693(I-CODE SLI)は、かねてからAndroid2.3.3のNFC NDEF実装で読み書き出来ると聞いていたので、テストも兼ねて拙作のNFCTagReaderのWriterにNDEFによる書込み機能(プレーンテキストのみ)を追…

AndroidとNFCの今後

ISO15693対応も一通り終わり(ライブラリィを抽出した部分は近いうちにGoogle Codeにアップする)、NFCを利用した取り組みにも一段落つけようと考えている。NFCは今後のモバイルクライアントでは重要な技術だ。Googleが押していることもあり、欧米では日本のFe…

NfcTagReader ISO15693対応版

仕事の合間を縫ってやっていたので時間がかかったが、紆余曲折ありつつもようやくNfcTagReader(旧NfcFeliCaTagReader)のISO15693対応版が出来そうだ。※1NfcTagReaderは以前にnfc-felicaを書いた際にその動作確認のために用意したテスト用アプリケーションで…

I-CODE SLIはWriteMultipleBlocksをサポートしない?

FeliCaLiteでそうしたように、RL-700Sで印字したRFIDタグをアクセスするISO15963準拠のライブラリィを書いている。取り敢えず使うコマンドだけを実装しようと、 Get System Information Read Single Block Read Multiple Blocks Write Single Block Write Mu…

ISO15693のオプションフラグには気をつけろ(マルチブロックの読込み)

ISO15693はそのコマンドの直前に設定する「リクエストフラグ」のビットにより、コマンドの戻り値が変わるので注意が必要だ。 ISO15693 Request Flags Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 Bit8 サブキャリアフラグ データレートフラグ インベントリフラグ プ…

ISO15693 on NfcTagReader

ISO15693のタグの情報をNexus Sで表示する所まで出来た。 ISO15693 (RL-700Sで印字したRFIDラベル) VICCを読み込んだ結果 FeliCaLite VICCを読み込んだ結果(従来同様) 実装毎にView無しFragmentを組み込んでおり、一つのActivityで複数種類のタグの実装を処…

ISO15693のメモリブロック情報は1加算する

現在、ISO15693規格のRFID VICCにアクセスするためのライブラリィを書いているが、かなりはまったので書いておく。NFCとNFCラベルプリンタ RL-700S @touchRLさんの資料によると、本機で印刷したRFIDラベルのブロック数は28、ブロックサイズは4(byte)とある。…

NFCとISO15693

@TouchRLさんのご厚意でお借りしているRL-700Sだが、印字したRFIDラベルはNexus S等のNFC機能を使ったAndroidスマートフォンからアクセスできる。AndroidのNFC機能は様々なVICC(※1)で共通に使うことを目的としたNDEF(※2)と、RFIDの規格に仕様を合わせたNfcTa…

ForegroundDispatchとonPauseに注意

Android 2.3.3(4)、NFCのForegroundDispatchを制御するにはActivityのonResume/onPauseを基準にする必要があるということで、以下のようなスニペットがよく紹介されている。 private NfcAdapter mAdapter; private PendingIntent mPendingIntent; private In…

NfcFeliCaTagFragmentを作る

リファレンスドキュメントにもあるが、Fragmentは別にUIを持つ必要は無くActivityで共通に使える処理自体をコンポーネント化するのに使えそうなのだ。 [android][sdk]UIを持たないFragment - Kazzzの日記 ということでサンプルを考えてみた。最も手軽ですぐ…

FeliCaとFeliCa Liteの違い

nfc-FeliCaを使用してFeliCaデバイスへの書き込みができるのは分かったが、FeliCa Liteで失敗するのはなぜだろう。ということで調べてみた。 勉強不足な自分が悪いのだが、FeliCa LiteはFeliCaと互換性がありながら、その仕様は結構な差異があることが分かっ…

FeliCaのデータを読む (その5)

ついにNexus SからFeliCaカード(PASMO)のデータを読めるようになった。ひと通り試してみたが、 Polling Request Service Request Response Read Without Encryption Request System Code FeliCaカード ユーザーズマニュアル - SONYこれらの認証を必要としな…

Felicaのデータを読む (その4)

先日どこかでNexus SのNFC機能を使ってPASMO(FeliCa)のデータを読むことは、まるでハッキング行為をしているかの如く書かれているのを見たが、自らの、それもFelicaの規格通りのコマンドでセキュリティで保護されていない(暗号化されていない平文の)エリアの…

Felicaのデータを読む (その3)

とりあえずFelicaの仕様を洗って、カード側にコマンドを投げる所まではできた。 しかし、readコマンドのレスポンスがnullしか戻らない。 ログを見ると以下のステータスが戻っている。 01-17 00:34:04.363: ERROR/NFC JNI(195): phLibNfc_RemoteDev_Transceiv…

Felicaのデータを読む (その2)

昨日からいろいろ調べて分かったこと。 Nexus SのNFC 機能は基本的には「NFC Reader/Writer」であること※1 NFC はFerica等のアプリケーション層の下位のプロトコルを定義していること※2 現在公開されているAndroidのAPIは"NDEF"だけを想定している※3 Felica…

Felicaのデータを読む (その1)

nfcを使って書くコードの取り敢えずのゴールを「Felicaカードのデータを読み出して人間が読める形式にする」という所に置こうと思う。※これは私が普段からPASMOを使用しており、一番身近でよく利用しているデバイスだからである。ほぼ毎日使用しているので、…

AndroidとNFC

Explore Nexus S: Near Field Communication 昨日も書いたが、開発者の端くれであればGoogle Nexus Sという、これまでに無いNFC(Near Field Communication)デバイスを搭載し制御できるスマートフォンを手に入れたならば、その機能を使い倒さない手はないだろ…