Интерфейс nfc

Алгоритм работы 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

Это можно сказать и о разработчиках аппаратной части изделий, и программной, так что все чаще выходят новенькие девайсы и софт, позволяющие высокоэффективно применять НФС.

Стоит отметить, что данную технологию поддерживают операционки Android версии 4.0 и выше, в качестве встроенной в систему «Beam» функции. Для того чтобы проверить наличие модуля на своем телефоне, нужно зайти в его настройки, выбрать пункт беспроводных сетей и кликнуть на «Еще» (Дополнительно…).

Если пункт NFC там отмечен, Вас можно поздравить, телефон обладает поддержкой стандарта, и не зря читаете эту статью. Для активации его работы нужно всего лишь поставить галочку напротив этого «заветного» пункта.

NFC расшифровывается следующим образом – Near Field Communication. В переводе это обозначает «ближняя связь». Основной нюанс заключается в маленьком радиусе действия, этот показатель составляет не больше 10 см.

Данная функция позволяет осуществлять обмены информацией бесконтактно. Важно, чтобы при передаче данных устройства находились близко друг к другу, например, смартфон и смарт-карта, терминал для оплаты и т. д.

NFC создана на базе RFID, которое расшифровывается как Radio Frequency Identification. Технология представляет собой радиочастотную идентификацию, которая определяет различные объекты автоматически. В данном случае применяется специальный радиосигнал, производящий считывание требуемой информации, которая содержится в транспондерах, определяющихся в качестве NFC-метки.

К главным особенностям представленной технологии относятся следующие моменты:

  • маленький размер датчика;
  • позволяет обмениваться любой информацией со смартфонами и пассивными гаджетами;
  • не требует много энергии для работы;
  • небольшая скорость в момент обмена информации;
  • сопряжение с нужным устройством занимает не более 0,1 сек.;
  • небольшая стоимость технологии.

Интерфейс nfc

Из-за маленького размера и небольшому показателю энергопотребления данная функция пользуется популярностью, ее легко монтировать во множество устройств.

Представленная коммуникация встраивается не только в телефоны, но и в другие гаджеты, к примеру, терминалы оплаты. Сам приемник не требует много места, в основном его монтируют в свободное пространство между аккумулятором смартфона и крышкой. Но если телефон не поддается простому разбору и вы не можете посмотреть на его внутренности, то как определить наличие NFC?

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

На данный момент NFC внедряется во все смартфоны Android, версия которого не менее 4.0. Еще один способ, позволяющий узнать о наличии коммуникации, – зайти в настройки, выбрать графу «Беспроводные сети», затем нажать «Еще». Если функция там указана, то поставьте напротив галочку.

Также эта опция часто встречается в карточках, предназначенных для оплаты проезда, или в банковском пластике. Помимо этого, ее стали встраивать в бытовую технику, сюда входят новые холодильники с опцией «Смарт».

Архитектура NFC

В архитектуре NFC есть несколько уровней. Самый низкий из них — физический, который реализован ЦПУ и другим аппаратным комплексом, через который происходит взаимодействие. В середине находятся данные о пакетах и транспортный уровень, затем формат данных уровней, и в конце программное обеспечение.

На физическом уровне NFC работает по алгоритму, описанному в ГОСТ для RFID (ГОСТ Р ИСО/МЭК 14443-2-2014), где говорится о маломощных радиосигналах частотой 13,56 МГц. Затем идёт уровень, который описывает разбивку потока данных на фреймы (ГОСТ Р ИСО/МЭК 14443-3-2014). Любые радиоконтроллеры, которые используются в телефоне, планшете или подсоединяются к компьютеру или микроконтроллеру, являются отдельными аппаратными компонентами.

Они взаимодействуют с главным процессором посредством одного или нескольких стандартных последовательных протоколов между устройствами: универсальный асинхронный приёмопередатчик (UART), последовательный периферийный интерфейс (SPI), последовательная шина данных для связи интегральных схем (I2C) или универсальная последовательная шина (USB).

Интерфейс nfc

Над этим находится несколько протоколов команд RFID, базирующихся на двух спецификациях. NFC чтение и запись меток базируется на оригинальном RFID ГОСТ Р ИСО/МЭК 14443A. Протоколы Philips/NXP Semiconductors Mifare Classic и Mifare Ultralight и NXP DESFire совместимы с ГОСТ Р ИСО/МЭК 14443A. Обмен данными P2P NFC базируется на ГОСТ Р ИСО/МЭК 18092.

Они изображены на рисунке выше на уровне с другими управляющими протоколами, так как они используют одинаковый стандарт.

Есть ли разница между NFC и Bluetooth?

NFC в телефоне часто сравнивают с Bluetooth. В основном это связано с бесконтактной передачей и маленьким радиусом действия. На данный момент эти функции внедряют сразу в новые смартфоны.

Между представленными технологиями существуют серьезные отличия. Основной нюанс заключается в скорости работы. Например, NFC работает намного медленнее, зато занимает немного энергии, а сопряжение осуществляется мгновенно и автоматически, в отличие от Bluetooth.

Например, чтобы воспользоваться Блютузом, вам потребуется включить его, затем открыть список доступных устройств, выбрать нужное и ожидать, когда телефон подключится к нему. В то время как для Near Field Communication потребуется менее секунды, чтобы начать работу самостоятельно, вам необходимо только приложить свой мобильник к нужному гаджету.

Интерфейс nfc

Следующее отличие заключается в скорости передачи. Например, NFC имеет скоростной показатель 424 кбит/с, а Bluetooth, версия которого 2.1, – 2,1 Мбит/с. На данный момент в некоторые смартфоны внедряют Блютуз версии 3.1, развивающий скорость до 40 Мбит/с.

Третье отличие состоит в поле действия. Для Bluetooth этот показатель составляет не более 20 см, а для NFC – не более 10. Это является достоинством для данной коммуникации, ведь такой маленький радиус станет гарантией того, что вы не подключитесь к ненужному гаджету.

Структура NDEF

NDEF содержит информацию о байтовом представлении сообщений, которые могут содержать несколько записей. У каждой записи есть заголовок, в котором находятся метаданные (тип, длина и т.д.), и информацию для отправки. Если вернуться к аналогии с параграфом, то параграф формируется из предложений, относящихся к одной теме, так и в NDEF-сообщениях — хорошо, когда все записи относятся к одной тематике.

NDEF-сообщения в основном короткие, каждый обмен состоит из одного сообщения, каждая метка также содержит одно сообщение. Так как обмен NFC данными происходит при касании одного устройства другим или меткой, то будет неудобно передавать в одном сообщении текст целой книги, поэтому длина NDEF-сообщения сопоставима с длиной абзаца, но не целой книги.

NDEF-запись содержит информацию для пересылки и метаданные, как эту информацию интерпретировать. Каждая запись может быть разного типа, о чем объявляется в заголовке этой записи. Также в заголовке описывается какое место занимает запись в сообщении, после заголовка следует информация. На рисунке ниже представлена полная информация о расположении бит и байт информации в NDEF-записи.

Какой длины может быть NDEF-сообщение?

Место на информацию в NDEF-записи ограниченно по размерам 2^32-1 байтами, однако можно делать цепочки записей внутри сообщения, чтобы переслать информацию большего размера. В теории нет ограничений на NDEF-сообщения, но на практике размер сообщения ограничивается возможностями устройств или меток, участвующих в обмене информацией.

Интерфейс nfc

Если в обмене участвуют только устройства, то длина сообщения будет ограничена вычислительной мощностью самого слабого из устройств, но стоит учесть, что устройства придётся долго держать рядом для пересылки всех данных. При взаимодействии смартфона и карты длина сообщения будет ограничена размером памяти карты.

В общем, обмен данными через NFC достаточно быстрый. Человек подносит мобильное устройство к метке, происходит краткий обмен информацией, и человек идёт дальше. Данная технология не была спроектирована для длительных обменов информацией, потому что устройства в буквальном смысле должны находится в паре сантиметров друг от друга.

Для того чтобы передать большой объем информации, устройства придётся держать друг рядом с другом длительное время, это может быть неудобным. Если нужно длительное взаимодействие между устройствами, то можно воспользоваться NFC для быстрого обмена данными о возможностях устройств и последующего включения одного из более подходящих способов передачи данных (Bluetooth, Wi-Fi и т.д.).

Варианты использования

Как включить NFC разобрались. Переходим к обзору областей применения.

Одним из наиболее популярных вариантов применения стандарта являются бесконтактные платежи. Владелец просто прикрепляет свою банковскую карточку к мобильному устройству и если вдруг карта осталась дома, будет произведена оплата телефоном. В этом случае возможность перехвата информации злоумышленниками ничтожно маленькая, ведь радиус действия интерфейса небольшой. Но если вы вдруг потеряете или у вас украдут гаджет, а он будет не заблокирован – с деньгами можно прощаться.

Для проведения такого платежа с использованием функции понадобится:

  • Банковская карточка, имеющая пометку paypass;
  • Приложение этого банковского учреждения;
  • Находим в меню приложения раздел NFC;
  • Прикладываем карту к задней панели телефона для считывания;
  • Запоминаем пароль для выполнения платежных операций, он будет выслан коротким сообщением.

Интерфейс nfc

Еще один вариант использования модуля – информационный обмен. Благодаря программе Андроид Beam можно передавать разнообразные файлы с одного телефона на другой. При этом скорость передачи данных будет очень низкой, так что функцию можно использовать больше для отправления коротких текстовых СМС и ссылок.

С момента выхода этой технологии некоторые пользователи задаются вопросом, какие существует способы применения. Устройство может осуществлять работу в двух режимах.

  1. Активный. Подразумевает, что два гаджета владеют технологией NFC.
  2. Пассивный. Применяется рабочее поле только одного из устройств.

Представленная коммуникация разработана в качестве чипа, который работает в двух режимах. Первый предназначен для взаимного обмена данными между устройствами. Второй принято использовать на специальных рабочих пропусках, картах метро и т. д.

Самый востребованный вариант использования – бесконтактная оплата. Произведите привязку банковской карты к своему смартфону, а при оплате прикладывайте телефон к терминалу. Подобный способ гарантирует защиту от мошенников. Злоумышленники не смогут перехватить сигнал из-за малого поля действия работы NFC.

Вам не потребуется носить карту с собой, вы сможете расплачиваться в магазинах, приложив телефон к терминалу, который поддерживает бесконтактную оплату. Как пользоваться функцией?

  1. Вы должны иметь специальную банковскую карту, где поддерживается опция paypass.
  2. Установите приложение от вашего банка.
  3. Выполните вход в личный кабинет и перейдите в главное меню.
  4. Выберите графу NFC.
  5. Затем приложите карточку к задней крышке телефона. Это требуется для того, чтобы датчик считал информацию по ней.

Второй вариант использования подразумевает информационный обмен. Для этого необходимо установить приложение Android Beam. Данный софт позволит перекидывать различные файлы на другой смартфон.

Интерфейс nfc

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

Чтобы воспользоваться этой функцией, необходимо включить NFC в настройках. Пункт активации располагается в графе «Беспроводные сети». Затем укажите, какое соединение вам требуется.

Читаем NDEF-сообщение

Когда телефон на Android считывает NFC-метку, он сначала её обрабатывает и распознает, а затем передаёт данные о ней в соответствующее приложение для последующего создания intent. Если с NFC может работать больше одного приложения, то появится меню выбора приложения. Система распознавания определяется тремя intent, которые перечислены в порядке важности от самой высокой до низкой:

  1. ACTION_NDEF_DISCOVERED: Этот intent используется для запуска аctivity, если в метке содержится NDEF-сообщение. Он имеет самый высокий приоритет, и система будет запускать его в первую очередь.
  2. ACTION_TECH_DISCOVERED: Если никаких activity для intent ACTION_NDEF_DISCOVERED не зарегистрировано, то система распознавания попробует запустить приложение с этим intent. Также этот intent будет сразу запущен, если найденное NDEF-сообщение не подходит под MIME-тип или URI, или метка совсем не содержит сообщения.
  3. ACTION_TAG_DISCOVERED: Этот intent будет запущен, если два предыдущих intent не сработали.

В общем случае система распознавания работает, как представлено на рисунке ниже.

Когда это возможно, запускается intent ACTION_NDEF_DISCOVERED, потому что он наиболее специфичный из трёх. Более того, с его помощью можно будет запустить ваше приложение.

НФС расшифровка

Если activity запускается из-за NFC intent, то можно получить информацию с отсканированной NFC-метки из этого intent. Intent может содержать следующие дополнительные поля (зависит от типа отсканированной метки):

  • EXTRA_TAG (обязательное): объект Tag, описывающий отсканированную метку.
  • EXTRA_NDEF_MESSAGES (опциональное): Массив NDEF-сообщений, просчитанный с метки. Это дополнительное поле присуще только intent ACTION_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 -{amp}gt;
            val messages: List = rawMessages.map { it as NdefMessage }
            // Обработка массива сообщений.
            ...
        }
    }
}
@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 {amp}lt; rawMessages.length; i  ) {
                messages[i] = (NdefMessage) rawMessages[i];
            }
            // Обработка массива сообщений.
            ...
        }
    }
}

Kotlin

val tag: Tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)

Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

Плюсы и минусы модуля

расположение модуля нфс

На одной линии с преимуществами этой уникальной технологии – низким уровнем потребления энергии и небольшой стоимостью внедрения, стоят некоторые минусы, проявляющиеся сразу после начала использования. И если вы хотите ею пользоваться, о них обязательно нужно знать.

С некоторыми придется мириться в ожидании доработки задумки, а некоторые заставляют сокращать сферы использования. Первый из них – маленький радиус сигнального действия. Это с одной стороны создает неудобство, например, если нужно максимально быстро организовать сопряжение, но с другой стороны это можно принимать за плюс. Так обеспечивается достаточно высокая степень безопасности, минимизирующая возможность случайного исполнения действия.

Но есть и минусы посерьезнее. Нет четких стандартов, так что модификации технологии неконтролируемо увеличиваются. Например, производители Сони и Хаоми дорабатывают функцию передачи, создают свои расходные материалы, которые могут работать только с аппаратами их производства. Так что пользователь находится в узких рамках, ему приходится брать аппараты, в каких есть разработка NFC и скачивать софт, подходящий под конкретный гаджет.

Самый основной минус – если вы потеряете телефон или у вас его украдут, вы можете лишиться и денег, потому как счета легко опустошить.

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

Как активировать НФС

Разберем основные минусы NFC.

  1. Небольшой радиус работы. Это приносит некоторый дискомфорт при использовании. Хотя, в то же время, этот показатель создает максимальную защиту. Вы не сможете случайно произвести команду, оплатить покупку и т.д.
  2. Бесконтрольное создание модификаций для NFC. К примеру, разработчики «Сони» и «Хаоми» взялись за доработку технологии передачи. Они самостоятельно делают расходные материалы, которые осуществляют свою работу лишь с гаджетами их фирмы. Иными словами, чтобы использовать все опции NFC, вам придется приобретать смартфоны лишь конкретных марок. Сюда же входит установка специальных приложений от этого же разработчика.

Некоторые из недостатков исправляются постепенно. Разработчики не забрасывают свою технологию и постоянно вносят различные доработки.

Создаём распространённые NDEF-записи

Существует несколько методов для создания NDEF-записи: createUri(), createExternal() и createMime(). Лучше использовать один из них во избежание ошибок, которые могут возникнуть при создании записи вручную. Все примеры, представленные ниже, следует отправлять первым сообщением при записи метки, либо сопряжением с другим устройством.

Kotlin

Заключение

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

Беспроводная оплата с помощью НФЦ

Другой выход, позволяющий лично познакомиться с NFC, – купить специальный аксессуар. Сегодня множество компаний предлагают приобрести карты памяти, симки, где встроен НФЦ.

Распространенность NFC не достигла впечатляющих результатов, но это ненадолго. Сейчас ее в основном используют для совершения денежных операций, хотя существуют и другие сферы применения. Главный плюс модификации – безопасность. Его принцип работы исключает случайные передачи данных и денег на другие устройства.

Технология 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».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *