Открыть сервисСервис

NDEF-сообщение

NDEF-сообщение (англ. NFC Data Exchange Format) — стандартизированный формат данных, используемый для обмена информацией между устройствами, поддерживающими технологию Near Field Communication (NFC). NDEF определяет структуру и правила кодирования записей, которые упаковываются в единое сообщение и передаются при поднесении устройств друг к другу на расстояние до 10 сантиметров. Формат разработан Форумом NFC (NFC Forum) и описан в спецификации NFC Data Exchange Format (NDEF) Technical Specification.

Структура и принципы

NDEF-сообщение представляет собой последовательность одной или нескольких NDEF-записей (records). Каждая запись имеет заголовок и полезную нагрузку (payload). Заголовок содержит управляющие флаги, информацию о длине полей и типе данных. Основные элементы заголовка:

  • Flags — битовое поле, определяющее свойства записи: является ли она первой или последней в сообщении, содержит ли короткую полезную нагрузку, имеет ли поле идентификатора и другие атрибуты.
  • Type Name Format (TNF) — трёхбитное поле, указывающее структуру и семантику поля типа. Определяет, как интерпретировать тип записи (например, MIME-тип, URI, абсолютное имя или внешний тип).
  • Typeидентификатор типа данных, зависящий от TNF. Может содержать, например, MIME-тип (text/plain, application/json) или сокращённый URI.
  • Payload Length — длина полезной нагрузки в байтах.
  • Payload — непосредственно передаваемые данные.

Максимальный размер одного NDEF-сообщения ограничен ёмкостью носителя или буфера обмена устройства, но на практике для NFC-меток и бесконтактных карт он обычно не превышает нескольких килобайт.

Типы записей и TNF

Поле TNF определяет способ интерпретации типа записи. Основные значения:

  • Empty (0x00) — пустая запись без полезной нагрузки.
  • Well-known Type (0x01) — тип, определённый NFC Forum, например текстовые записи (T), URI (U), умные плакаты (Sp) и записи с данными MIME.
  • MIME Type (0x02) — тип, соответствующий стандартным MIME-типам (например, image/png, application/pdf).
  • Absolute URI (0x03) — полный URI, заданный в поле типа.
  • External Type (0x04) — пользовательские типы, определяемые организациями или разработчиками, с именем в формате домена.
  • Unknown (0x05) — тип не определён, обработка зависит от приложения.
  • Unchanged (0x06) — используется для записей, которые являются частью чанка (фрагментации) и продолжают предыдущую запись.

Наиболее распространёнными являются well-known-типы: текстовая запись (T) содержит строку в кодировке UTF-8 или UTF-16 с указанием языка, а запись URI (U) — сокращённый или полный интернет-адрес.

Применение

NDEF-сообщения используются в широком спектре устройств и сценариев:

  • NFC-метки — пассивные элементы (стикеры, брелоки, карты), на которые записано NDEF-сообщение. При поднесении смартфона метка передаёт данные, например URL, текст или команду для запуска приложения.
  • Бесконтактная оплата — платёжные карты и смартфоны передают NDEF-сообщения с данными транзакций в платёжные терминалы.
  • Сопряжение устройств — обмен конфигурационными данными (например, параметрами Bluetooth или Wi-Fi) между смартфоном и периферией.
  • Умные плакаты (Smart Poster) — составное NDEF-сообщение, содержащее URI, текст, заголовок и другие данные, предназначенное для считывания с рекламных носителей.
  • Электронные документы — передача визитных карточек (vCard), билетов, пропусков и других структурированных данных.

Запись и чтение

Запись NDEF-сообщений на метки производится с помощью специальных устройств (считывателей) или смартфонов с поддержкой NFC. В операционных системах Android и iOS существуют встроенные механизмы для чтения и записи NDEF-сообщений, а также библиотеки для разработчиков (например, android.nfc.NdefMessage в Android). При чтении устройство извлекает записи, анализирует их типы и передаёт данные приложениям, которые зарегистрированы для обработки соответствующих типов.

Ограничения и особенности

NDEF-сообщения имеют ряд ограничений, связанных с физическими свойствами NFC:

  • Малая ёмкость — объём передаваемых данных ограничен памятью метки (обычно от 48 байт до нескольких килобайт) и скоростью передачи (424 кбит/с в максимальном режиме).
  • Короткая дистанция — для успешного обмена необходимо поднести устройства на расстояние не более 10 см.
  • Отсутствие шифрования — формат не предусматривает встроенных механизмов защиты; конфиденциальные данные должны шифроваться на уровне приложения.

Несмотря на ограничения, NDEF остаётся основным форматом обмена данными в экосистеме NFC благодаря простоте, стандартизации и широкой поддержке производителями устройств и операционных систем.

См. также

  • NFC
  • RFID
  • Бесконтактная оплата