- Google pay
- Nfc на телефоне и не только
- Nfc-технология сегодня
- Samsung pay
- Tnf_absolute_uri (тип uri, зависит от типа)
- Tnf_mime_media (mime-тип, зависит от типа записи)
- Tnf_well_known с rtd_text (mime-тип с записью простого текста)
- Tnf_well_known с rtd_uri (тип uri, базирующийся на полезной информации)
- Алгоритм работы nfc
- Архитектура nfc
- Вопросы безопасности и сервис apple pay
- Для защиты автомобиля
- Для игр
- Для идентификации
- Для интернета вещей (iot)
- Для медицины
- Для платежей
- Для торговли
- Для транспорта
- Для чего используют nfc
- Как можно использовать nfc-чип?
- Как пользоваться nfc на android
- Как узнать, есть ли nfc в телефоне
- Какой длины может быть ndef-сообщение?
- Насколько безопасна технология nfc?
- Создаём распространённые ndef-записи
- Структура ndef
- Технология nfc — связь на близком расстоянии — время электроники
- Типы nfc-меток
- Читаем ndef-сообщение
- Заключение
Google pay
Google Pay, ранее известный как Android Pay, позволяет совершать покупки и переводить деньги. Также в приложении можно использовать карты постоянного клиента, подарочные карты и проездные. Для работы с ним потребуется учетная запись Google.
Сначала нужно настроить Google Pay. После его скачивания из Google Play нужно выбрать страну проживания, учетную запись Google и ввести номер телефона. Затем нужно ввести код из сообщения для аутентификации. Добавление дебетовой или кредитной карты осуществляется во вкладке Insights в правом нижнем углу экрана.
Чтобы добавить карту постоянного клиента, подарочную или транспортную карту, нужно нажать на значок кредитной карты в правом верхнем углу главного экрана приложения.
К Google Pay можно привязать банковский счет для пополнения баланса. Для этого нужно зайти во вкладку Insights, выбрать «баланс Google Pay» и «добавить деньги», затем ввести нужную сумму и нажать на «добавить банковский счет».
Для оплаты покупок нужно убедиться в том, что NFC включен, а затем поднести заднюю часть устройства к платежному терминалу на несколько секунд. Когда платеж будет завершен, на экране появится синяя галочка.
Nfc на телефоне и не только
NFC World ведет список смартфонов с поддержкой технологии. В соответствии с ним, каждый iPhone, начиная с iPhone 6, поддерживает ее. Последние iPhone 12 также поддерживают теги NFC через приложение Launch Center Pro.
NFC добавили и в линейку iPad, начиная с iPad Pro, iPad Air 2 и iPad Mini третьего поколения.
С поддержкой NFC выпускается каждое устройство под управлением Android 4.0 или более новой версии ОС. Samsung, к примеру, отдельно публикует список своих смартфонов с поддержкой NFC и характеристиками технологии.
Функцию NFC встраивают и в «умные» браслеты, к примеру, серии Xiaomi Mi Band. А »умные» часы с NFC работают так же, как смартфон с аналогичным чипом. Обычно их функционал ограничен и используется только для оплаты покупок и услуг.
Кроме того, существуют NFC-кольца для оплаты покупок.
Кольцами можно пользоваться для оплаты общественного транспорта, а также как ID-карточкой. Чтобы воспользоваться кольцом, нужно установить на смартфон приложение от его разработчика.
Nfc-технология сегодня
Всё активнее встраивая NFC-чипы, производители электроники нередко просто забывают рассказать пользователям, что даёт эта технология. Не говоря уже о том, что не обеспечивается достаточная простота использования, далеко не все могут с первого раза понять, как пользоваться встроенным в смартфон NFC-чипом.
Всё большую популярность набирают «умные» телевизоры с NFC, к примеру, модель из этой категории. Технология значительно упрощает подключение мобильного устройства. Хотите просмотреть новые фотографии со смартфона на большом экране?
NFC-модулями оборудованы современные карманные принтеры, осуществить печать на которых пользователь может действительно всего-лишь касанием пальца. Имеет их телефонная гарнитура, умные часы и браслеты, для подключения которых всего лишь и нужно, что просто поднести устройство к телефону.
Samsung pay
Samsung Pay, в отличие от Apple Pay и Google Pay, помимо технологии NFC, использует функцию MST или защищенной магнитной передачи и работает практически везде — даже на старых терминалах, которые не были обновлены для работы с бесконтактными платежами.
Однако в 2021 году поддержку этой функции начали постепенно сворачивать, начиная с телефонов Galaxy S21. Samsung Pay доступен в 29 странах мира, в том числе и в России. Он также доступен на «умных» часах линеек Galaxy Watch, Galaxy Watch Active, Gear и Gear Sport.
Для настройки сервиса нужно запустить приложение, войти в свою учетную запись Samsung и зарегистрировать PIN-код или отсканировать отпечаток пальца. В Samsung Pay можно добавлять кредитные и дебетовые карты платежных систем Mastercard, Visa и МИР, а также совершать денежные переводы. Кроме этого в сервис можно загрузить до 100 карт лояльности.
При оплате нужно выбрать карту на главном экране приложения, а затем приложить палец к сканеру отпечатков или ввести PIN-код. После этого можно приложить заднюю часть телефона к платежному терминалу. Всплывающее уведомление о транзакции появится в верхней части экрана.
Tnf_absolute_uri (тип uri, зависит от типа)
Создать NDEF-запись TNF_ABSOLUTE_URI можно следующим образом:
Kotlin
Tnf_mime_media (mime-тип, зависит от типа записи)
Создать NDEF-запись TNF_MIME_MEDIA можно следующим образом:
1. Используя метод createMime():
Kotlin
Tnf_well_known с rtd_text (mime-тип с записью простого текста)
Создать NDEF-запись TNF_WELL_KNOWN можно следующим образом:
Kotlin
fun createTextRecord(payload: String, locale: Locale, encodeInUtf8: Boolean): NdefRecord { val langBytes = locale.language.toByteArray(Charset.forName("US-ASCII")) val utfEncoding = if (encodeInUtf8) Charset.forName("UTF-8") else Charset.forName("UTF-16") val textBytes = payload.toByteArray(utfEncoding) val utfBit: Int = if (encodeInUtf8) 0 else 1 shl 7 val status = (utfBit langBytes.size).toChar() val data = ByteArray(1 langBytes.size textBytes.size) data[0] = status.toByte() System.arraycopy(langBytes, 0, data, 1, langBytes.size) System.arraycopy(textBytes, 0, data, 1 langBytes.size, textBytes.size) return NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_TEXT, ByteArray(0), data)
}Java
public NdefRecord createTextRecord(String payload, Locale locale, boolean encodeInUtf8) { byte[] langBytes = locale.getLanguage().getBytes(Charset.forName("US-ASCII")); Charset utfEncoding = encodeInUtf8 ? Charset.forName("UTF-8") : Charset.forName("UTF-16"); byte[] textBytes = payload.getBytes(utfEncoding); int utfBit = encodeInUtf8 ? 0 : (1 << 7); char status = (char) (utfBit langBytes.length); byte[] data = new byte[1 langBytes.length textBytes.length]; data[0] = (byte) status; System.arraycopy(langBytes, 0, data, 1, langBytes.length); System.arraycopy(textBytes, 0, data, 1 langBytes.length, textBytes.length); NdefRecord record = new NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_TEXT, new byte[0], data); return record;
}Intent-фильтр для такой NDEF-записи будет таким:
Tnf_well_known с rtd_uri (тип uri, базирующийся на полезной информации)
Создать NDEF-запись TNF_WELL_KNOWN можно следующим образом:
1. Используя метод createUri(String):
Kotlin
Алгоритм работы nfc
У NFC, как и у RFID, при обмене есть инициатор и цель, но новая технология позволяет куда больше, чем простой обмен идентификатором и чтение или запись информации цели. Наиболее значимым различием между этими двумя технологиями является то, что у NFC целями часто являются программируемые устройства, такие как смартфоны.
У NFC устройств есть два режима взаимодействия. Если инициатор излучает радиочастотные волны, а цель за счёт инициатора получает питание, то такой режим взаимодействия называют пассивным. При активном режиме у инициатора и цели свои собственные источники питания, и они независимы друг от друга. Данные режимы совпадают с режимами RFID.
NFC устройства также имеют три способа работы. Они могут работать в режиме чтения информации с цели или записи на неё. Они могут эмулировать карты, ведя себя как RFID-метки, когда они в поле другого NFC или RFID устройства. Или они могут работать в режиме peer-to-peer (P2P), в котором они обмениваются данными сразу в обоих направлениях.
Первым главным отличием NFC от RFID является способ взаимодействия peer-to-peer, который реализован с помощью ГОСТ Р ИСО/МЭК 18092. Обмен данными P2P реализуется двумя протоколами — протоколом подуровня управления логической связью (LLCP — logical link control protocol) и простым протоколом обмена данными NDEF (SNEP — simple NDEF exchange format).
Архитектура nfc
В архитектуре NFC есть несколько уровней. Самый низкий из них — физический, который реализован ЦПУ и другим аппаратным комплексом, через который происходит взаимодействие. В середине находятся данные о пакетах и транспортный уровень, затем формат данных уровней, и в конце программное обеспечение.
На физическом уровне NFC работает по алгоритму, описанному в ГОСТ для RFID (ГОСТ Р ИСО/МЭК 14443-2-2021), где говорится о маломощных радиосигналах частотой 13,56 МГц. Затем идёт уровень, который описывает разбивку потока данных на фреймы (ГОСТ Р ИСО/МЭК 14443-3-2021).
Любые радиоконтроллеры, которые используются в телефоне, планшете или подсоединяются к компьютеру или микроконтроллеру, являются отдельными аппаратными компонентами. Они взаимодействуют с главным процессором посредством одного или нескольких стандартных последовательных протоколов между устройствами: универсальный асинхронный приёмопередатчик (UART), последовательный периферийный интерфейс (SPI), последовательная шина данных для связи интегральных схем (I2C) или универсальная последовательная шина (USB).
Над этим находится несколько протоколов команд RFID, базирующихся на двух спецификациях. NFC чтение и запись меток базируется на оригинальном RFID ГОСТ Р ИСО/МЭК 14443A. Протоколы Philips/NXP Semiconductors Mifare Classic и Mifare Ultralight и NXP DESFire совместимы с ГОСТ Р ИСО/МЭК 14443A.
Обмен данными P2P NFC базируется на ГОСТ Р ИСО/МЭК 18092. Также на этом же стандарте базируются RFID-карты и метки Sony FeliCa, которые доступны в основном в Японии. Можно читать и записывать метки, основанные на этих стандартах, и не использовать NFC.
Они изображены на рисунке выше на уровне с другими управляющими протоколами, так как они используют одинаковый стандарт.
Вопросы безопасности и сервис apple pay
Вернёмся к вопросам безопасности. В то время как NFC всё активнее используется для считывания и обмена информацией, внедрение этой технологии для мобильных платежей происходит совсем не так быстро, как бы того хотелось разработчикам.
Проблема заключается в том, что сама по себе технология не имеет собственных механизмов безопасности, их создание полностью ложится на плечи разработчиков и производителей электронных устройств. И если ваш смартфон не защищён паролем, то, получив к нему доступ, злоумышленник может совершать какие угодно покупки, ведь использование NFC не требует ввода ПИН-кода при оплате. Именно это и тормозит массовое использование смартфонов с NFC в качестве замены кредитных карточек.
И на фоне этого изящным выглядит решение компании Apple. Новейшие смартфоны iPhone 6 и iPhone 6 Plus оснащены NFC-чипом и сканером отпечатков пальцев, встроенным прямо в кнопку Home. Речь идёт о Touch ID, который совмещает безопасность и удобство использования.
Начиная с 9-го сентября 2021 года сканер отпечатков Touch ID стал важной составляющей новой платёжной системы Apple Pay. Принцип тот же — для оплаты покупки просто поднесите верхнюю часть смартфона к терминалу. Оплата произойдёт только после того, как устройство считает ваш отпечаток.
Apple Pay уже работает с Amex, MasterCard и Visa. Её поддерживают шесть крупных банков США, оплачивать товары таким способом можно практически со всеми ритейлерами в стране.В 2021 году ожидается распространение поддержки Apple Pay в странах Европы и Азии.
Платёжную систему ждёт большое будущее благодаря высокой безопасности и максимальной простоте использования. Так, чтобы внести данные кредитной карты, достаточно просто сфотографировать её. Да и с самой оплатой всё очень просто. Тем более, что Apple Pay позволяет совершать онлайн-платежи.
Кстати, Apple длительное время не включала NFC-чипы в свои смартфоны. Ходили даже слухи, что компания будет в итоге разрабатывать собственный стандарт. Но этого так и не произошло. Впрочем, установленные в iPhone 6 и iPhone 6 Plus NFC-чипы можно применять только для Apple Pay.
Обсуждение. Приходилось ли вам в повседневной жизни пользоваться NFC-чипом? Предусмотрен ли он в вашем смартфоне или другой используемой технике? Верите ли вы в будущее этой технологии?
Для защиты автомобиля
Приложение на устройстве с поддержкой NFC позволяет использовать смартфон как ключ автомобиля. Его достаточно поднести к ручке двери водителя, чтобы заблокировать и разблокировать двери машины. В салоне смартфон размещается на специальном месте на приборной панели, которое является также площадкой беспроводной зарядки, что позволяет включить зажигание.
В 2020 году организация Car Connectivity Consortium, которая объединяет производителей автомобилей и мобильных устройств, выпустила спецификацию Digital Key Release 2.0. Она включает в себя поддержку функций блокировки и разблокировки автомобиля, запуска двигателя, аутентификации пользователя, отзыва цифрового ключа у другого пользователя, цифрового обмена ключами и ограничения использования ключа. Последний хранится в SE смартфона. Датчики NFC в автомобиле устанавливают в ручке двери водителя и на передней панели.
Свой NFC-ключ для автомобиля представила Apple. Car Key можно привязать к приложению Wallet, он позволяет разблокировать и заводить автомобиль с помощью iPhone или Apple Watch, а также им можно поделиться с другими людьми.
Для игр
В игровой индустрии технологию используют в виде меток, на которые записаны данные, импортирующиеся в игровое приложение в виде героя или игрового поля. Компания Activision выпустила игру Skylanders: Spyros Adventure, где герои были связаны с реальными физическими статуэтками, которые оснащены NFC-меткой.
Для идентификации
NFC используют для контроля доступа или удостоверения личности. Технология позволяет помимо обычного контроля доступа также оплачивать услуги и проживание, создавать пропуска, проверять личность или предоставлять прочие разрешения. Самым простым примером использования NFC являются домофоны, где в брелок зашивается метка с ключом, а в устройстве на двери стоит считыватель меток.
Также NFC применяют гостиницы, чтобы контролировать потоки клиентов и их доступ в зависимости от привилегий. Гостям таких мест не нужен физический ключ, так как они могут войти в номер или посетить другие зоны, имея только смартфон. Их учетные данные генерируются в режиме реального времени, а все операции обрабатываются прямо на смартфоне, чтобы избежать утечек или хищения информации.
Для интернета вещей (iot)
В системах интернета вещей используются приборы и датчики, интерфейсы и механизмы подключения которых различаются. Интеграция интерфейса NFC в шлюз IoT или микрокомпьютер, который работает как агрегатор всех устройств, позволяет беспрепятственно подключать их.
При этом смартфон с поддержкой NFC после регистрации в шлюзе можно использовать для передачи команд устройствам и смены их настроек. Причем, технология позволяет управлять даже устройствами без интерфейса — лампочками, датчиками безопасности или розетками.
NFC может также выступать в виде меток. Они работают без питания и достаточно маленькие, чтобы поместиться внутри плаката, билета, визитной карточки, наклейки, браслета, брелки, ручки, бирки и иного предмета.
Микрочип в метке может хранить небольшие фрагменты данных, которые могут быть считаны устройством с поддержкой NFC. В метке NFC можно хранить URL-адрес, контактную информацию или даже команды и настройки, которые устройство будет выполнять при контакте. Для чтения или записи данных в метки NFC потребуется специальное приложение, например, Trigger.
Для медицины
NFC может обеспечивать безопасный доступ к медицинской информации. Технологию применяют для управления доступом к компьютерам, планшетам и другим устройствам.
Медицинские браслеты с NFC позволяют отслеживать передвижения пациентов. Персонал может в реальном времени узнать, где находится пациент, когда в последний раз его посещала медсестра или какое лечение назначил его врач. Браслеты можно подключать к смартфонам или планшетам, чтобы они передавали данные лечащему врачу.
Интеллектуальные браслеты с NFC также помогают отслеживать пациентов с опасными для жизни состояниями, такими как диабет, астма или аллергия. При возникновении экстренной ситуации браслет предоставит подробную информацию врачам скорой помощи. Подобные устройства выпускает HealthID Profile.
Наконец, метки NFC добавляют на упаковку или в маркировку лекарства, чтобы подтвердить его подлинность, просмотреть подробную информацию о дозировках или прочитать о побочных эффектах. Метка также может содержать веб-ссылку на сайт производителя.
Для платежей
Чипы NFC используются в пластиковых картах для возможности бесконтактной оплаты, а также в кольцах или браслетах со встроенным чипом. Обычно в чип встраивается платежное приложение банка, которое через платежную систему взаимодействует с продавцом при транзакции, а также персональные платежные данные клиента. Они хранятся в зашифрованном виде. NFC-модуль в карте обеспечивает бесконтактное соединение со считывателем.
При эмуляции карты на смартфоне данные хранятся в TSM (Trusted Service Manager), который объединяет поставщиков услуг и чипы Secure Element. Это аппаратно-программный комплекс, который обеспечивает защищенную загрузку и управление безопасностью с использованием технологий беспроводной сотовой связи (over-the-air, OTA).
В 2021 году Mastercard и восемь российских банков запустили в продажу брелоки для бесконтактной оплаты.
Для торговли
Компании предлагают пользователям хранить свои бонусные и подарочные, а также карты лояльности в приложениях «электронных кошельков», чтобы не носить их с собой. В Google Pay карты лояльности интегрированы прямо в платежное приложение, что позволяет бесконтактно оплачивать покупки при помощи NFC.
Для транспорта
Бесконтактные транспортные карты на базе NFC используются на транспорте, а также на горнолыжных курортах в системах подъемников и на фуникулерах. Пополнить карту обычно можно в киоске по продаже транспортных билетов или онлайн. Ее также можно интегрировать в Apple Pay и Google Pay. В августе 2021 года в Москве начали тестировать оплату виртуальной картой «Тройка» в Samsung Pay.
Для чего используют nfc
Технологию применяют не только для бесконтактной оплаты и считывания меток. NFC также используется в устройствах «умного» дома, автомобилях и даже в качестве ключей.
Как можно использовать nfc-чип?
Иногда можно услышать, что основное назначение модуля NFC в смартфоне — это превращение устройства в электронный кошелёк. То есть пользователь в магазине просто прикасается к специальному считывателю (платёжному терминалу) и оплачивает покупки.
Это позволяет сэкономить время и повышает безопасность платежа (впрочем, вопросы безопасности мы рассмотрим ниже, там всё несколько сложнее, чем кажется на первый взгляд). Но на самом деле только финансовыми вопросами всё не ограничивается, технология NFC может быть очень полезна в разных сферах.
Выделяют три основных режима использования NFC:
- режим считывания;
- режим передачи информации;
- режим эмуляции банковской карты.
Например, зайдя в кафе, вы прикасаетесь смартфоном к NFC-метке (встроенной в столик или даже меню), после чего устройство получает доступ к сети Wi-Fi. Вам уже не нужно вручную вводить пароль сети. В этом примере используется режим считывания.
Конечно же, для этого может применяться и обычный QR-код. Вот только NFC несравненно удобнее. Во-первых, NFC-метка может нести больше полезной информации. А во-вторых, считать её можно даже при плохом освещении, когда камере смартфона будет остро не хватать света, а то и вовсе в полной темноте. Да и ткнуть («фликнуть») смартфоном в нужное место проще, чем фотографировать им.
NFC можно использовать и для передачи информации с устройства на устройство, к примеру с планшетного компьютера или ноутбука на портативную акустику. Вот только из-за невысокой скорости процесс передачи больших файлов потребует определённого времени и терпения. Но вот, к примеру, бизнесмены могут быстро обмениваться контактной информацией, прикоснувшись смартфонами.
Также при помощи режима передачи информации можно инициировать процесс соединения, то есть использовать NFC-чип для конфигурирования других беспроводных соединений. Например, пользователи касаются смартфонами, в результате чего происходит автоматическое налаживание связи посредством интерфейса Bluetooth, через который осуществляется передача файлов.
При желании NFC-чипы можно встраивать куда угодно. Современные инженеры и разработчики стремятся предложить пользователям всё более неожиданные решения. Например, в Лондоне постепенно набирают популярности памятники с NFC-метками. Вы просто подходите к постаменту, подносите смартфон к нужной метке, после чего раздаётся входящий звонок, по которому вам расскажут об истории самой статуи или о человеке, которого она изображает.
Стоимость одной NFC-метки очень мала, а значит, уже в ближайшее время их будут использовать в огромных количествах. При этом метки можно изготовлять разных форм, размеров и цветов. Это может быть простая бумажная или пластиковая наклейка, белого цвета или с нанесённым на логотипом, нетрудно сделать и так, чтобы она светилась в темноте.
Как пользоваться nfc на android
Самой популярной функцией NFC все же являются бесконтактные платежи. На смартфонах под управлением Android для оплаты товаров и услуг можно использовать Google Pay или Samsung Pay.
Как узнать, есть ли nfc в телефоне
В случае с Android-смартфонами нужно перейти в настройки и в строке «Поиск» ввести «NFC», а затем подключить опцию. В быстрых настройках иконка в виде буквы N обычно находится рядом со иконками Wi-Fi и Bluetooth. Кроме того, некоторые компании размещают символику NFC на батарейке смартфона.
Наконец, можно установить одно из бесплатных приложений NFC Enabled из магазина приложений Google Play. Оно сканирует устройство, и, если в смартфон интегрирован чип, то на экране появляется сообщение «NFC is: supported». Если чип не предусмотрен, программа выдает сообщение «NFC is: unsupported».
На iOS-устройствах ничего настраивать не нужно — достаточно поднести телефон к другому устройству. Однако потребуется настроить оплату различных сервисов с помощью Apple ID в, где выполнен вход в iCloud. Модели iPhone 6 и 7 поддерживают платежи с помощью NFC с восьми банковских карт, а более новые могут производить расчеты уже с 12 счетов, активированных на одном устройстве.
Какой длины может быть ndef-сообщение?
Место на информацию в NDEF-записи ограниченно по размерам 2^32-1 байтами, однако можно делать цепочки записей внутри сообщения, чтобы переслать информацию большего размера. В теории нет ограничений на NDEF-сообщения, но на практике размер сообщения ограничивается возможностями устройств или меток, участвующих в обмене информацией.
Если в обмене участвуют только устройства, то длина сообщения будет ограничена вычислительной мощностью самого слабого из устройств, но стоит учесть, что устройства придётся долго держать рядом для пересылки всех данных. При взаимодействии смартфона и карты длина сообщения будет ограничена размером памяти карты.
В общем, обмен данными через NFC достаточно быстрый. Человек подносит мобильное устройство к метке, происходит краткий обмен информацией, и человек идёт дальше. Данная технология не была спроектирована для длительных обменов информацией, потому что устройства в буквальном смысле должны находится в паре сантиметров друг от друга.
Для того чтобы передать большой объем информации, устройства придётся держать друг рядом с другом длительное время, это может быть неудобным. Если нужно длительное взаимодействие между устройствами, то можно воспользоваться NFC для быстрого обмена данными о возможностях устройств и последующего включения одного из более подходящих способов передачи данных (Bluetooth, Wi-Fi и т.д.).
Насколько безопасна технология nfc?
В начале 2000-х годов NFC-модули считались неуязвимыми для атак хакеров. Однако позднее программисты описали ряд теоретических атак, которые могут использоваться для кражи информации и заражения смартфона вирусом. В 2021 году была выявлена первая критическая уязвимость NFC.
На сегодняшний день сигналы NFC шифруются с помощью криптографических алгоритмов, а параллельно ведется разработка новых протоколов шифрования. Кроме того, в мобильных приложениях банков платежи обычно нужно дополнительно подтвердить PIN-кодом, отпечатком пальца или снимком радужной оболочки глаза.
Тем не менее, специалисты рекомендуют соблюдать следующие правила:
Создаём распространённые ndef-записи
Существует несколько методов для создания NDEF-записи: createUri(), createExternal() и createMime(). Лучше использовать один из них во избежание ошибок, которые могут возникнуть при создании записи вручную. Все примеры, представленные ниже, следует отправлять первым сообщением при записи метки, либо сопряжением с другим устройством.
Структура ndef
NDEF содержит информацию о байтовом представлении сообщений, которые могут содержать несколько записей. У каждой записи есть заголовок, в котором находятся метаданные (тип, длина и т.д.), и информацию для отправки. Если вернуться к аналогии с параграфом, то параграф формируется из предложений, относящихся к одной теме, так и в NDEF-сообщениях — хорошо, когда все записи относятся к одной тематике.
NDEF-сообщения в основном короткие, каждый обмен состоит из одного сообщения, каждая метка также содержит одно сообщение. Так как обмен NFC данными происходит при касании одного устройства другим или меткой, то будет неудобно передавать в одном сообщении текст целой книги, поэтому длина NDEF-сообщения сопоставима с длиной абзаца, но не целой книги.
NDEF-запись содержит информацию для пересылки и метаданные, как эту информацию интерпретировать. Каждая запись может быть разного типа, о чем объявляется в заголовке этой записи. Также в заголовке описывается какое место занимает запись в сообщении, после заголовка следует информация.
На рисунке ниже представлена полная информация о расположении бит и байт информации в NDEF-записи. Информация для пересылки занимает большую часть записи. Тип информации уточняет, как её интерпретировать, идентификатор информации опционален и используется для пересылки большого количества записей или перекрёстного обмена данными.
Технология nfc — связь на близком расстоянии — время электроники
В статье представлены основные характеристики стандарта NFC: область применения, режимы работы, временные параметры сигналов. Особое внимание уделено проверке устройств на соответствие требованиям стандарта.
Технология связи на малых расстояниях NFC (Near Field Communication) — совместная разработка компаний NXP Semiconductor и Sony — представляет собой комбинацию нескольких существующих бесконтактных технологий радиочастотной (РЧ) идентификации и связи.
Технология NFC предназначена для обмена различной информацией, например, номерами телефонов, картинками, музыкальными файлами или ключами цифровой авторизации между двумя расположенными близко друг к другу устройствами с поддержкой NFC. Это могут быть любые портативные устройства, а также смарт-карты или считывающие устройства RFID. Данная технология может использоваться в качестве ключа доступа к данным или сервисам, таким как безналичная оплата или электронный замок.
Центральная частота NFC равна 13,56 МГц. Скорость передачи данных достигает 424 кбит/с на расстоянии примерно 10 см. В отличие от существующих технологий бесконтактной связи на данном диапазоне частот, которые позволяют передавать информацию только от активного устройства пассивному, NFC обеспечивает обмен между двумя активными (равноправными) устройствами. Таким образом, NFC можно использовать для доступа к устройствам радиочастотной идентификации RFID.
Технология обратно совместима с широко используемым стандартом Smart Card на основе ISO/IEC 14443 А (например, Mifare) и ISO/IEC 14443 В, а также JIS X 6319-4 (FeliCa). Для обмена между двумя устройствами разработан новый протокол ECMA-340 и ISO/IEC 18092. В 2004 г. был создан союз NFC Forum, в который вошли Sony, NXP и Nokia. Компании стали совместно работать над новой технологией, чтобы гарантировать совместимость и правильное взаимодействие устройств и сервисов. В результате NFC поддерживает все перечисленные выше стандарты. Первые устройства, сертифицированные NFC, появились в конце прошлого года.
Для обеспечения совместимости между мобильным телефоном и картами RFID различных производителей необходимо выполнить тестирование цифрового протокола и провести измерение параметров РЧ-сигнала: временных характеристик, частоты несущей, амплитуды сигнала слушателя (нагрузочная модуляция, см. ниже), а также амплитуды и чувствительности приемника в активном режиме.
Применение
Несомненное преимущество NFC — простота использования. Для обмена необходимо поднести устройства близко друг к другу. Некоторые стандартные сферы использования (см. табл. 1)
– системы сбора тарифов на транспорте;
– платежные системы;
– контроль доступа;
– передача настроек и обеспечение более сложных протоколов;
– обмен данными.
Технология предназначена в первую очередь для портативных устройств. Она является логическим продолжением и развитием технологии RFID.
Таблица 1. Применение NFC
Область | Пример |
Оплата с помощью мобильного телефона | • Покупка билетов или оплата такси • Работа с бесконтактными терминалами продаж (платежные системы) • Хранение чеков в памяти телефона |
Телефон как электронный ключ | • Для прохода в здание (контроль доступа) • Для доступа к ПК • Для автомобиля • Для создания офиса дома |
Передача данных | • Обмен электронными визитками • Печать фотографий напрямую с фотоаппарата |
Электронная блокировка | • Доступ к глобальным сетям или Bluetooth |
Доступ к данным | • Загрузка расписаний с электронного табло на телефон • Загрузка карт на телефон • Считывание навигационных координат |
Хранение электронных билетов на мобильном телефоне | • В театр, на аттракцион или на какое-либо мероприятие |
Принцип работы
В основе NFC лежит индуктивная связь (см. рис. 1). Частота работы — 13,56 МГц, скорость передачи — 106 кбит/с (возможны 212 кбит/с и 424 кбит/с). Сигнал подвергается амплитудной манипуляции ООК с различной глубиной 100% или 10% и фазовой манипуляции BPSK.
При передаче информации пассивному устройству используется амплитудная манипуляция ASK. При обмене с активным устройством оба устройства равноправны и выступают в качестве поллинговых. Каждое устройство имеет собственный источник питания, поэтому сигнал несущей отключается сразу после окончания передачи.
За счет индуктивной связи между опрашивающим и прослушивающим устройствами пассивное устройство влияет на активное. Изменение импеданса прослушивающего устройства вызывает изменение амплитуды или фазы напряжения на антенне опрашивающего устройства, которое он обнаруживает. Этот механизм называется модуляцией нагрузки. Она выполняется в режиме прослушивания с применением вспомогательной несущей 848 кГц. В зависимости от стандарта применяется амплитудная (ASK для 14443 А) или фазовая манипуляция (BPSK для 14443 В). Еще один пассивный режим, совместимый с FeliCa, осуществляется без вспомогательной поднесущей с манипуляцией ASK на частоте 13,56 МГц.
Режимы работы
В NFC определено три основных режима работы:
– пассивный (эмуляция смарт-карты). Пассивное устройство ведет себя как бесконтактная карта одного из существующих стандартов;
– передача между равноправными устройствами. Производится обмен между двумя устройствами. При этом за счет собственного источника питания у прослушивающего устройства можно использовать NFC даже при выключенном питании опрашивающего устройства;
– активный режим (чтение или запись).
В каждом режиме может применяться один из трех способов передачи: NFC-A (14443 А), NFC-B (14443 В), NFC-F (JIS X 6319-4). Для распознавания способа передачи инициирующее устройство посылает запрос. Характеристики режимов кодирования и модуляции приведены в таблице 2.
Таблица 2. Характеристики режимов NFC
Стандарт | Тип устройства | Кодирование | Модуляция | Скорость передачи, кб/с | Несущая, МГц |
NFC-A | Опрашивающее | Модифицированный код Миллера | ASK 100% | 106 | 13,56 |
Прослушивающее | Манчестер | Модуляция нагрузки (ASK) | 106 | 13,56 ± 848 кГц | |
NFC-B | Опрашивающее | NRZ-L | ASK 10% | 106 | 13,56 |
прослушивающее | NRZ-L | Модуляция нагрузки (BPSK) | 106 | 13,56± 848 кГц | |
NFC-F | Опрашивающее | Манчестер | ASK 10% | 212/424 | 13,56 |
Прослушивающее | Манчестер | Модуляция нагрузки (ASK) | 212/424 | 13,56 (без поднесущей) |
В пассивном режиме используются метки NFC — пассивные устройства, предназначенные для обмена с активными NFC-устройствами. Как и метки RFID, метки NFC применяются для хранения небольшого количества данных. Всего определено 4 типа меток (см. табл. 3).
Таблица 3. Типы меток
Тип | 1 | 2 | 3 | 4 |
Стандарт | 14443 А | 14443 В | JIS 6319-4 | 14443 А/В |
Совместимый продукт | Innovision Topaz | NXP Mifare | Sony FeliCa | NXP DESFire, SmartMX-JCOP, др. |
Скорость передачи, кб/с | 106 | 106 | 212, 424 | 106, 212, 424 |
Объем памяти | 96 б, расширение до 2 кб | 48 б, расширение до 2 кб | До 1 Мб | До 32 кб |
Защита от коллизий | Нет | Есть | Есть | Есть |
Тестирование устройств
Чтобы удостовериться, что устройство соответствует стандарту NFC, необходимо произвести несколько измерений. В зависимости от типа устройства применяется одна из двух установок (см. рис. 2а, 2б). Эталонное опрашивающее устройство подключается к генератору сигнала или усилителю мощности и посылает команды на прослушивающее устройство. Ответные сигналы анализируются с помощью специального оборудования. Эталонное устройство имеет три типа антенн (EuroPay, MasterCard, Visa) Poller-0 и два компенсированных варианта Poller-3 и Poller-6.
Эталонное прослушивающее устройство анализирует переданный поллинговым устройством сигнал. Измерение частоты и формы сигнала производится с помощью встроенного индуктивного кольца. Устройство высылает ответный сигнал посредством модуляции нагрузки с использованием внешнего генератора сигнала.
РЧ-измерения
При проверке устройства на соответствие требованиям NFC необходимо произвести измерения во всех режимах работы, поддерживаемых мобильным устройством. В активном режиме определяются следующие параметры: точность частоты несущей, передаваемая мощность, форма сигнала (время нарастания, спада и другие временные характеристики), чувствительность к модуляции нагрузки, пороговый сигнал (опрашивающее устройство должно выключать трансляцию, если присутствует внешнее поле определенной силы).
В пассивном режиме измеряются модуляция нагрузки, уровень принимаемой мощности (способность отвечать даже при плохих условиях), время задержки пакета (используется в режиме NFC-A в алгоритме предупреждения коллизий). Последний параметр определяется как промежуток времени между концом передачи команды и началом передачи сигнала.
Пример
Рассмотрим тестирование мобильного телефона с NFC в активном и пассивном режимах.
В активном режиме используется испытательная установка, схема которой показана на рисунке 2а. Она состоит из эталонного прослушивающего устройства и цифрового осциллографа для измерения уровня мощности, частоты несущей и формы сигнала. Измерения можно проводить с помощью анализатора сигнала или спектра с применением внешнего триггера. Для определения чувствительности модуляции нагрузки в ответ на принятый запрос SEL_REQ прослушивающее устройство генерирует сообщение SENS_RES. Время нарастания сигнала измеряется от уровня 5% до 90%.
Измерения в пассивном режиме проводятся с помощью эталонного опрашивающего устройства и генератора сигналов произвольной формы. Время задержки пакета определяется как промежуток между последним битом запроса и первым битом ответа. Второй способ измерения — с помощью анализатора спектра в режиме нулевой полосы (zero span). На временной оси определяется расстояние между фронтом последнего бита опрашивающего сигнала и первым битом сигнала прослушивающего устройства.
Нагрузочная модуляция определяется как разность между средним максимальным и средним минимальным значениями передаваемого сигнала на частоте 13,56 МГц (см. рис. 3).
Необходимо помнить, что анализатор выводит среднеквадратичные значения, поэтому измеренные величины следует умножить на 1,41, чтобы получить пиковые значения.
Литература
1. Near Field Communication (NFC) Technology and Measurements//www.rohde-schwarz.com.
Типы nfc-меток
Существует четыре типа меток, описанных NFC-форумом, все они базируются на RFID-протоколах. Это делает NFC метки частично совместимыми со многими уже существующими RFID системами (например, Mifare и FeliCa). Хотя эти более старые системы не поддерживают NDEF, они, однако, могут опознавать NFC метки, которые совместимы с ними.
Например, считыватель RFID, который предназначен для работы с метками Mifare Ultralight, может считать идентификационный номер метки NFC 2 типа, хоть и не может прочитать закодированную NDEF информацию. Есть также пятый тип, который совместим с технологией, но при этом не является частью NFC-спецификации.
Типы 1, 2 и 4 основаны на ГОСТ Р ИСО/МЭК 14443A (состоит из четырёх частей: 1, 2, 3, 4), тип 3 — на ГОСТ Р ИСО/МЭК 18092. Более подробно про каждый из типов можно прочитать под спойлером.
- Основан на ГОСТ Р ИСО/МЭК 14443A;
- Может быть как только для чтения, так и для чтения/записи;
- Содержит от 96 байт до 2 кбайт памяти;
- Нет защиты данных от коллизий (прим. — коллизии могут возникнуть; когда два активных источника передают данные одновременно);
- Примеры: Innovision Topaz, Broadcom BCM20203.
Тип 2:
- Аналогично типу 1 основан на NXP/PhilipsMifareUltralight метках (ГОСТ Р ИСО/МЭК 14443A);
- Может быть как только для чтения, так и для чтения/записи;
- Содержит от 96 байт до 2 кбайт памяти;
- Скорость взаимодействия 106 кбит/с;
- Поддержка анти-коллизий;
- Пример: NXP Mifare Ultralight.
Тип 3:
- Основан на метках SonyFeliCa (ГОСТ Р ИСО/МЭК 18092 и JIS-X-6319-4) без поддержки шифрования и аутентификации, которая предоставлена спецификацией FeliCa;
- Может быть либо только для чтения, либо для чтения/записи;
- Скорость взаимодействия 212 или 424 кбит/с;
- Поддержка анти-коллизий;
- Пример: Sony FeliCa.
Тип 4:
- Аналогично типу 1, тип 4 основан на ГОСТ Р ИСО/МЭК 14443A;
- Может быть либо только для чтения, либо для чтения/записи;
- 2, 4 или 8 кбайт памяти;
- Скорость взаимодействия 106, 212 или 424 кбит/с;
- Поддержка анти-коллизий;
- Пример: NXP DESFire, SmartMX-JCOP.
Пятый тип является собственностью NXPSemiconductors и, вероятно, самым распространённым на сегодняшний день MifareClassictag (ГОСТ Р ИСО/МЭК 14443A):
- Память: 192, 768 или 3584 байта;
- Скорость взаимодействия 106 кбит/с;
- Поддержка анти-коллизий;
- Пример: NXP Mifare Classic 1K, Mifare Classic 4K, Mifare Classic Mini.
Читаем ndef-сообщение
Когда телефон на Android считывает NFC-метку, он сначала её обрабатывает и распознает, а затем передаёт данные о ней в соответствующее приложение для последующего создания intent. Если с NFC может работать больше одного приложения, то появится меню выбора приложения. Система распознавания определяется тремя intent, которые перечислены в порядке важности от самой высокой до низкой:
ACTION_NDEF_DISCOVERED: Этот intent используется для запуска аctivity, если в метке содержится NDEF-сообщение. Он имеет самый высокий приоритет, и система будет запускать его в первую очередь.ACTION_TECH_DISCOVERED: Если никаких activity для intentACTION_NDEF_DISCOVEREDне зарегистрировано, то система распознавания попробует запустить приложение с этим intent. Также этот intent будет сразу запущен, если найденное NDEF-сообщение не подходит под MIME-тип или URI, или метка совсем не содержит сообщения.ACTION_TAG_DISCOVERED: Этот intent будет запущен, если два предыдущих intent не сработали.
В общем случае система распознавания работает, как представлено на рисунке ниже.
Когда это возможно, запускается intent ACTION_NDEF_DISCOVERED, потому что он наиболее специфичный из трёх. Более того, с его помощью можно будет запустить ваше приложение.
Если activity запускается из-за NFC intent, то можно получить информацию с отсканированной NFC-метки из этого intent. Intent может содержать следующие дополнительные поля (зависит от типа отсканированной метки):
EXTRA_TAG(обязательное): объект Tag, описывающий отсканированную метку.EXTRA_NDEF_MESSAGES(опциональное): Массив NDEF-сообщений, просчитанный с метки. Это дополнительное поле присуще только intentACTION_NDEF_DISCOVERED.EXTRA_ID(опциональное): Низкоуровневый идентификатор метки.
Ниже представлен пример, проверяющий intent ACTION_NDEF_DISCOVERED и получающий NDEF-сообщения из дополнительного поля.
Kotlin
override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) ... if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) { intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)?.also { rawMessages -> val messages: List = rawMessages.map { it as NdefMessage } // Обработка массива сообщений. ... } }
}Java
@Override
protected void onNewIntent(Intent intent) { super.onNewIntent(intent); ... if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) { Parcelable[] rawMessages = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); if (rawMessages != null) { NdefMessage[] messages = new NdefMessage[rawMessages.length]; for (int i = 0; i < rawMessages.length; i ) { messages[i] = (NdefMessage) rawMessages[i]; } // Обработка массива сообщений. ... } }
}Также объект Tag можно получить из intent, который будет содержать полезную информацию и позволит перечислить технологии метки:
Kotlin
val tag: Tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)
Java
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
Заключение
Технология NFC добавляет многообещающую функциональность к технологии RFID. Наиболее значимое нововведение — формат обмена данными NFC (NDEF), который предоставляет возможность форматировать обычные данные в одну из четырёх технологий меток NFC. NDEF может быть использован как для обмена данными между устройством и меткой, так и для обмена между устройствами. Это делает NFC пригодным не только как способ идентификации, но и как средство обмена короткими блоками данных.
Более подробно об NFC или NDEF можно почитать в книге Tom Igoe, Don Coleman, and Brian Jepson «Beginning NFC. Near Field Communication with Arduino, Android, and PhoneGap».





