Android NFCV(ISO 15693)タグ
質問
NFCV(ISO 15693)タグのメモリ内の特定のブロックにデータを書き込むことは可能ですか?例えば。ブロック#5または特定のブロック#。にデータを書き込む
私はNFC技術に慣れています。NFCV(ISO 15693)タグを読み書きするためのアプリケーションを作成しています。読み取り部分を作成しましたが、問題は書き込み部分にあります。テキストデータをいくつかのテキストデータをタグに書き込もうとしたい場合は、ブロック#2から以降、および同じ手順を実行するたびに開始されます。私はロットを検索しましたが、特定のブロックにデータを書き込むソリューションが見つかりません。
解決
正確な詳細は、どのISO 15693対応チップがタグ内にあるかによって異なります。ISO 15693-3 Standardは、異なるライトコマンドをリストします。これらのサポートはすべてオプションであるため、タグはこれらのうちの1つ以上をサポートしているか、またはデータを書き込むための独自のコマンドを使用することさえあります。私はチップのデータシートを検索したり、ISO標準を取得して、正しいコマンドが何であるかを確認することをお勧めします。
正しいコマンドが何であるか知ったら、コマンドのバイトをバイト配列でNfcV.transceive()
メソッドに渡すことができます。(通常、コマンドバイトはフラグバイトで構成され、その後に書き込みコマンドバイト、1つ以上のブロックバイト、および書き込まれるデータバイトが続きます。)
他のヒント
次のことを試してみました: "タグが失われた"例外:
.nfc.connect(); byte[] arrByt = new byte[7]; arrByt[0] = 0x40; arrByt[1] = 0x21; arrByt[2] = 0x06; arrByt[3] = 0x00; arrByt[4] = 0x00; arrByt[5] = 0x00; arrByt[6] = 0x00; byte[] response = nfc.transceive(arrByt);
AndroidフレームワークがISO15693タグからの応答を非常によく処理しないと思います。私はHF-iタグで遊んでいます。コマンドが完璧に機能し、他のコマンドが少ないため、NFCスタックはタグが失われた例外をスローします。