Представление данных на теге NFC при записи с Android

Карты памяти MIFARE Classic 1K имеют несколько секторов для хранения данных, поэтому я хочу знать, как данные распределяются и сохраняются в секторах MIFARE Classic 1k при записи данных NDEF в тег в Android с помощью следующей команды:

Ndef ndef = Ndef.get(tag);
ndef.writeNdefMessage(message);

person Vivek Giri    schedule 19.12.2013    source источник
comment
Вы имеете в виду MIFARE Classic 1k?   -  person Michael Roland    schedule 19.12.2013
comment
да, Майкл, я пробую это на MIFARE Classic 1k   -  person Vivek Giri    schedule 19.12.2013


Ответы (1)


Поскольку MIFARE Classic не является стандартной меткой NFC, не существует стандартизированного способа хранения данных в формате NDEF на таких картах. Тем не менее, NXP предоставляет две таблицы данных, в которых объясняется собственное сопоставление NXP NDEF для тегов MIFARE Classic:

Сопоставление, описанное в этой таблице данных, широко используется с устройствами, способными читать/сохранять сообщения NDEF в MIFARE Classic, а также используется в устройствах Android с набором микросхем NXP NFC.

Основные принципы отображения NDEF:

  1. Создайте каталог приложения MIFARE (в блоке 0 (и 16 для карт 4K), доступный для чтения с помощью ключа A = 0xA0A1A2A3A4A5).
  2. В MAD отметьте все сектора, в которых вы хотите хранить данные NDEF, как принадлежащие приложению 0xE103.
  3. Все сектора NDEF должны быть доступны для чтения с ключом A 0xD3F7D3F7D3F7, а их GPB должен быть установлен на 0x40 (если разрешен доступ на чтение/запись) или 0x43 (если разрешено только чтение).
  4. Блоки 0–2 всех секторов NDEF представляют собой хранилище для структур TLV (аналогичных тегам NFC, совместимым с NFC Forum).
  5. Структура TLV для хранения сообщения NDEF имеет тег 0x03, поэтому сообщение NDEF будет встроено как <0x03> <LEN (1 Byte)> <NDEF MESSAGE> (или <0x03> <0xFF> <LEN (2 Bytes)> <NDEF MESSAGE>.
  6. За последней структурой TLV следует TLV терминатора, один байт 0xFE.
person Michael Roland    schedule 20.12.2013