Требование базового адреса для сообщений NDEF на тегах 5-го типа? - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь запрограммировать NDEF-URL в тег NF типа 5 C. Когда я программирую это сообщение в нулевом блоке тега, мой android телефон может его легко прочитать и успешно перенаправить на URL-адрес www.abc.com: Изображение сообщения URL-адреса NDEF

block 00 - E1 40 40 00
block 01 - 03 0C D1 01
block 02 - 08 55 01 61
block 03 - 62 63 2E 63
block 04 - 6F 6D FE FF

Однако, если я сотру тег и перепрограммирую сообщение, чтобы оно начиналось с блока 1, это не сработает.

Мое приложение уже работает с тегами, которые содержат информацию до блока 10, и я скорее всего не удастся изменить отображение. Я надеялся добавить к этому тегу запись NDEF, начиная с ненулевого блока.

В любом случае нужно ли переформатировать сообщение, чтобы использовать другой начальный блок, или это требование, чтобы начало сообщения в нулевом блоке тега (и где это требование задокументировано, нигде не могу найти).

Спасибо!

1 Ответ

0 голосов
/ 13 мая 2020

Что касается тега T5T, в блоке 0 хранится значение контейнера возможностей. Структура CC показана на изображении T5T Capability Container

Контейнер возможностей (CC) управляет информацией тега NF C Forum Type 5. Существует два способа настройки CC: 4 байта CC или 8 байтов CC

Четыре байта CC ограничивают максимальный размер области данных 2040 байтами (номер блока кодируется одним байтом, «МЛЕН» со ссылкой на изображение).

При расширении до восьми байтов CC позволяет увеличить область данных (номер блока кодируется двумя байтами). 4 байта CC занимают позицию Block0, а 8 байт CC потребляют Block0 и Block1 памяти.

Что касается изображения, я взял примерное значение для 4byte CC как E1 40 20 00, где 20 - это MLEN, т.е. длина сообщения.

Это значение CC, на основе которого любой считыватель обнаруживает NDEF. Итак, всякий раз, когда вы wi sh, чтобы написать любое сообщение NDEF, вы сначала должны написать CC.

Чтобы ваш NDEF был обнаружен, замените значение MLEN, т.е. 20h, длиной вашего сообщения NDEF и запишите его. в блок 0 (E1 40 [NDEF LEN] 00). Из блока 1 напишите сообщение NDEF.

ПРИМЕЧАНИЕ. Сообщение NDEF должно начинаться с конца CC, т.е. между CC и сообщением NDEF не должно быть пробелов или пустых байтов.

Ура!

...