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 14444 — стандартом безконтактних смарт-карток. Швидкість передачі даних становить 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-антени та 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 — інтегрований 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-мітки дозволяють автоматизувати сценарії «розумного дому»: піднесіть телефон до мітки біля ліжка — увімкнеться будильник і вимкнуться сповіщення. На 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 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.