NFC (Near Field Communication) — технология беспроводной связи малого радиуса действия, позволяющая обмениваться данными между устройствами на расстоянии до 10 сантиметров. NFC используется в мобильных телефонах для бесконтактной оплаты, передачи файлов и считывания меток. По данным Grand View Research, 2025, рынок NFC-чипов достиг 34,5 млрд долларов благодаря массовому внедрению NFC в смартфоны и платёжную инфраструктуру по всему миру.
Главное
NFC (Near Field Communication) — это стандарт беспроводной передачи данных на короткие расстояния, работающий на частоте 13,56 МГц. Технология основана на RFID (Radio Frequency Identification) и обратно совместима с ISO 14443 — стандартом бесконтактных смарт-карт. Скорость передачи данных составляет 106, 212 или 424 кбит/с в зависимости от выбранного режима.
В отличие от Bluetooth, NFC не требует процедуры сопряжения — устройства обмениваются данными мгновенно при поднесении друг к другу. Максимальное расстояние связи — 10 см, что обеспечивает естественную защиту от перехвата. По данным NFC Forum, технология поддерживается более чем 3 миллиардами устройств по всему миру, и это число растёт на 15–20% ежегодно.
Стандарт NFC разрабатывается NFC Forum — консорциумом, основанным Sony, Philips и Nokia в 2004 году. Первый телефон с NFC (Nokia 6131) вышел в 2006 году, но массовое распространение началось после выхода Android 4.0 (Ice Cream Sandwich) в 2011 году и запуска Apple Pay в 2014 году. Сегодня NFC поддерживают практически все смартфоны ценой выше 150 долларов.
NFC-контроллер в смартфоне поддерживает три режима работы, каждый из которых предназначен для своего класса задач. Переключение между режимами происходит автоматически в зависимости от типа взаимодействующего устройства.
В этом режиме телефон выступает в роли активного считывателя NFC-меток (тегов). При поднесении к NFC-метке — наклейке, браслете или плакате — телефон считывает данные из памяти тега. Метки содержат от 48 байт до 32 КБ памяти и хранят URL, текст или команды. Android Beam (заменён на Nearby Share) использовал этот режим для передачи ссылок и контактов.
Два NFC-устройства обмениваются данными напрямую. Одно устройство выступает инициатором, второе — целью. Стандарт LLCP (Logical Link Control Protocol) управляет соединением, а SNEP (Simple NDEF Exchange Protocol) — форматом данных. P2P-режим используется для быстрой передача контактов, ссылок или инициализации Bluetooth-сопряжения. Скорость в P2P-режиме достигает 424 кбит/с.
Телефон эмулирует бесконтактную смарт-карту — платёжную карту, транспортный проездной или пропуск. Внешнее NFC-устройство (POS-терминал, турникет) взаимодействует с телефоном так же, как с обычной пластиковой картой. Этот режим используется в Apple Pay, Google Pay и Samsung Pay. Безопасность платежей обеспечивается Secure Element — изолированным чипом, который хранит данные платёжных карт.
| Режим | Пример использования | Требует Secure Element |
|---|---|---|
| Reader/Writer | Считывание NFC-метки с URL | Нет |
| Peer-to-Peer | Передача контакта между телефонами | Нет |
| Card Emulation | Оплата через Google Pay | Да |
NFC и Bluetooth LE (Low Energy) — две технологии ближней связи, которые часто сравнивают. NFC выигрывает в скорости установки соединения (0,1 с) и не требует сопряжения, но уступает по скорости передачи данных и радиусу действия. Bluetooth LE требует сопряжения (2–5 секунд), но обеспечивает скорость до 2 Мбит/с и радиус до 100 метров.
На практике NFC и Bluetooth не конкурируют, а дополняют друг друга. NFC используется для инициализации соединения (handover): достаточно поднести телефон к устройству, чтобы NFC передал параметры Bluetooth-соединения (NFC Bluetooth Handover). После этого устройства переключаются на Bluetooth для быстрой передачи файлов или аудиопотока.
NFC-модуль смартфона состоит из трёх компонентов: NFC-контроллера (NFC Controller), NFC-антенны и Secure Element (для защищённых операций). NFC-контроллер — это отдельный чип или часть комбинированного модуля связи (NFC + Bluetooth + Wi-Fi, например WCN3990 от Qualcomm). Он управляет радиоинтерфейсом и протоколами обмена.
NFC-антенна представляет собой печатную катушку на гибкой подложке (FPC) или на корпусе аккумулятора. Размер антенны — 20×30 мм, количество витков — 3–5. Антенна подключается к контроллеру через согласующую цепь, настроенную на частоту 13,56 МГц. По данным NXP Semiconductors, эффективная работа антенны требует точного расчёта индуктивности и добротности.
Secure Element (eSE) — отдельный криптографический чип (NXP P71, Samsung S3K) или изолированная область в SoC (iSE — integrated Secure Element). Он хранит данные платёжных карт и выполняет криптографические операции для HCE (Host Card Emulation). Secure Element изолирован от Android/iOS: доступ к нему есть только у NFC-контроллера через APDU-команды по шине SWP (Single Wire Protocol).
// Пример APDU-команды для взаимодействия с Secure Element
const uint8_t SELECT_APDU[] = {
0x00, 0xA4, 0x04, 0x00, // CLA, INS, P1, P2
0x07, // длина данных (7 байт)
0xA0, 0x00, 0x00, 0x00, // RID — зарегистрированный
0x03, 0x10, 0x10, // PIX — идентификатор приложения
0x00 // Le — ожидаемая длина ответа
};
// Отправка команды через NFC-контроллер в Secure Element
NfcStatus nfcStatus = sendApdu(SELECT_APDU, sizeof(SELECT_APDU));
NFC в телефоне используется в четырёх основных сценариях: бесконтактная оплата, транспорт, доступ к объектам и автоматизация задач. Самое массовое применение — платёжные системы: Apple Pay, Google Pay и Samsung Pay. Они используют режим Card Emulation с HCE (Host Card Emulation) или Secure Element для эмуляции банковской карты.
Транспортные системы по всему миру (Московский метрополитен, London Tube, New York MTA) принимают NFC-оплату через мобильные кошельки. В Японии технология FeliCa (Sony) на базе NFC используется для проезда, покупок и доступа в офисы с 2004 года. Смартфоны с FeliCa-чипом, такие как iPhone для японского рынка, поддерживают Suica и PASMO.
NFC-метки (NFC Tags) позволяют автоматизировать сценарии "умного дома": поднесите телефон к метке у кровати — включится будильник и отключатся уведомления. На Android это реализуется через Android Beam / NFC Tools, на iOS — через Shortcuts и NFC-триггеры. Некоторые смартфоны также используют NFC для быстрой зарядки — Qi-стандарт использует NFC для идентификации зарядного устройства.
Android предоставляет API для обработки NFC-тегов через Intent System. При поднесении метки к телефону система создаёт intent с тегом, и приложение получает данные в формате NDEF (NFC Data Exchange Format). Ниже приведён пример Activity, которая считывает URL или текст с NFC-метки.
class NfcReaderActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_nfc)
handleNfcIntent(intent)
}
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
handleNfcIntent(intent)
}
private fun handleNfcIntent(intent: Intent) {
if (intent.action == NfcAdapter.ACTION_NDEF_DISCOVERED) {
val rawMessages = intent
.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)
rawMessages?.forEach { rawMsg ->
val msg = rawMsg as NdefMessage
msg.records.forEach { record ->
val payload = String(record.payload)
println("NFC data: $payload")
}
}
}
}
}
Для работы NFC необходимо объявить разрешение android.permission.NFC в манифесте и настроить intent-filter для ACTION_NDEF_DISCOVERED, ACTION_TECH_DISCOVERED или ACTION_TAG_DISCOVERED. Android автоматически фильтрует NFC-метки по типу NDEF-записей — это позволяет приложению реагировать только на метки с определённым MIME-типом или URL-префиксом. Обратите внимание, что NFC-антенна находится обычно в верхней части задней панели телефона — для чтения метки нужно поднести верх телефона к метке.
Часто задаваемые вопросы
Да, для бесконтактной оплаты NFC должен быть включён в настройках телефона. Google Pay автоматически активирует NFC при поднесении к терминалу, даже если экран выключен (на устройствах с Android 10+ и установленным Google Wallet). Для Apple Pay NFC включается автоматически и не требует ручной активации.
Стандартный радиус NFC — до 10 сантиметров. На практике для надёжного соединения рекомендуется подносить телефон на расстояние 2–4 см от считывателя. Меньший радиус делает NFC безопаснее Bluetooth — злоумышленник не может считать данные дистанционно.
Теоретически NFC-метка может содержать ссылку на вредоносный сайт, но это требует действий пользователя — перехода по ссылке. Автоматическое заражение через NFC невозможно, так как технология не поддерживает запуск кода или установку файлов без подтверждения. Операционные системы Android и iOS блокируют потенциально опасные NFC-действия.
На Android: откройте Настройки → Подключения → NFC (или поищите "NFC" в настройках). На iPhone: все модели с iPhone 6 и новее поддерживают NFC. Некоторые производители маркируют корпус или коробку символом NFC. Можно также использовать приложение NFC Check из Play Market для диагностики.
NFC потребляет энергию только в активном режиме — при передаче данных. В режиме ожидания NFC-контроллер практически не расходует заряд (0,01 мА). Включённый NFC не влияет на время автономной работы телефона. Это отличает его от Bluetooth, который потребляет энергию даже в режиме ожидания.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также