NFCとISO15693

@TouchRLさんのご厚意でお借りしているRL-700Sだが、印字したRFIDラベルはNexus S等のNFC機能を使ったAndroidスマートフォンからアクセスできる。

AndroidNFC機能は様々なVICC(※1)で共通に使うことを目的としたNDEF(※2)と、RFIDの規格に仕様を合わせたNfcTagの両方で通信することができる。

NDEF

デバイスに依存しないが、機能はNDEFの仕様に制限される。デバイスのコマンドを覚える必要は無い。
(例:Mifare、ISO14443、ISO15693等はNDEFでアクセス可能)

NFCTag(NFC-A、-B、-F、-V等)

デバイスに依存するが、機能は制限されずデバイスにフルにアクセスできる。ただしデバイスのコマンドの面倒は自分で見る必要がある。
(例:FeliCa、FeliCaLite。また、NDEFでアクセスできるデバイスはNfcTagとしてもアクセスできる)

このうち、RL-700Sで印字したRFIDラベルは規格としてはISO15693に準拠したものであり、NDEFでアクセスできるが、NFC-Vとしてアクセスすることもできる。

Android Frameworkにおいても抽象化が進んでいるのはNDEFであり、メッセージの交換だけであればこれを使うのがベターだが、それでもRFIDタグが持つ全ての機能にアクセスするにはNDEFで足りないケースがあり、その場合にはISO15693に準拠したコマンドをNFC-VタイプのNfcTagクラスから送受信する必要が出てくる。

今回はNDEFを使わずに敢えてISO15693のコマンドを使用してみようと考えている。それにはまず仕様からだ。

ISO/IEC 15693 - Wikipedia, the free encyclopedia

※1 VICC:Vicinity integrated circuit card
※2 NDEF:NFC Data Exchange Format