Для чего нужны NFC метки в смартфонах? Тип метки NFC не поддерживается на Samsung Galaxy.

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

НФС в телефонах Samsung — что это?

Представляет собой технология универсальное решение для обмена данными между устройствами. Фактически, Samsung NFC позиционирует как бесконтактная сеть малого радиуса, которая работает на расстоянии между мобильными устройствами в пределах 10 сантиметров. Что примечательно, несмотря на возможность на таком расстоянии работы с открытыми данными, сеть является максимально безопасной. Информация не может быть утрачена, равно как и данные не получаются сторонними лицами. Фактически, сеть Samsung NFC намного безопаснее и соответствует высоким стандартам защищенности, нежели чем аналогичная bluetooth, которая была актуальной на протяжении полутора десятилетий.

Все смартфоны Galaxy с бесконтактной технологией

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

  • Galaxy S8 – представляет собой флагманскую модель, которая работает непосредственно на операционной системе Андроид версии 7,0. Поддерживает одновременно работу двух сим-карт, несмотря на то, что в мобильном телефоне предусмотрен один модуль связи. Размер экрана устройства составляет 5,8 дюймов, разрешение в пределах 2960х1440 пикселей. Камера устройства имеет разрешение в 12 Мп, предусмотрен автофокус;
  • Galaxy A5 – устройство бюджетного сегмента, основной упор в котором сделан исключительно на разрешении камеры. Как и старшая модификация работает на операционной системе Андроид, версии 6 и выше (в зависимости от установленной на момент продажи). Поддерживает одновременную работу двух сим-карт, между которыми необходимо переключаться во время использования телефона. Экран имеет диагональ в пределах 5,2 дюйма, разрешение составляет 1920х1080 пикселей. Достоинством агрегата является его камера, обладающая разрешением в пределах 16 Мп, с предусмотренным для обеспечения наилучшего качества съемки автофокусом;
  • Galaxy S7 – технология активно использовалась производителем и ранее, что и вылилось в создание целой серии устройств, поддерживающих принципиально новый стандарт беспроводной передачи данных. Смартфоны работают на операционной системе Андроид, версии 7.0, предусматривают возможность подключения двух сим-карт. Экран мобильного телефона выполнен стандартным для его сегмента рынка, имеет диагональ в пределах 5,1 дюйм, разрешение составляет на уровне 2560х1440 пикселей. Можно выделить качественную камеру, разрешение которой составляет 12 Мп, дополнительно есть в наличии и опция автофокуса.

Galaxy S8 на Яндекс Маркете

Galaxy A5 на Яндекс Маркете

Galaxy S7 на Яндекс Маркете

Работает ли Android Pay на телефонах Самсунг

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

Стоит отметить, по своей структуре, сервисы Андроид, Эйпл и Самсунг принципиально похожи, что позволяет их использовать параллельно друг с другом и обеспечить выполнение всех заявленных требований по оплате. Как отмечают пользователи гаджетов в отзывах, иногда возникают сбои в работе платежной системы от Андроид на устройствах различных модификациях Galaxy S7, что неудивительно, принимая к вниманию тот факт, что смартфон является фактически первым от Самсунга, который использует данную технологию в полном объеме.

Отличие Samsung Pay от Android Pay

Что представляет собой технология Samsung Pay на мобильных телефонах производителя Самсунг? Компания не только постаралась использовать в работе принятый стандарт беспроводной связи NFC, но и сделала возможным использование не только с отдельными наименованиями терминалов, которые поддерживают возможность проведения бесконтактной оплаты совершенных покупок. В своем решении активно используется технология собственной разработки, принявшей название MST (что переводится, как «магнитная безопасная передача»).

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

Как пользоваться NFC на Samsung

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

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

Пользователи, работающие с бесконтактными платежами на основе технологии NFC, при попытке осуществить такой платёж на своём Андроид-смартфоне могут столкнуться с сообщением «Тип метки NFC не поддерживается». Часто упомянутая проблема наблюдается на смартфонах «Самсунг» (в частности, семейства «Самсунг Галакси»), что связано с отказом компании «Самсунг» поддерживать NFC-метки «MIFARE Classic» на большинстве своих девайсов. В данном материале я изложу суть возникшей проблемы с указанными метками, а также предоставлю возможные варианты её решения. Чтобы узнать, перейдите на соответствующую статью.

Почему метки «MIFARE Classic» не поддерживаются на Samsung Galaxy

При задействовании на вашем устройстве технологии NFC (бесконтактной связи) часто используются метки «MIFARE Classic». Такие метки частично базируются на стандарте ISO/IEC 14443-3A, и используют собственный (проприетарный) алгоритм шифрования. Поскольку «NXP» (собственник технологии «MIFARE Classic») не спешит делиться правами на технологию «MIFARE Classic» с производителями других чипов, то доступ к памяти меток «MIFARE Classic» возможен преимущественно на NFC-устройствах с имеющимся у них внутри чипсетом от «NXP».

Обычно это означает, что вы не сможете получить доступ к данным меток «MIFARE Classic» с помощью девайсов, не обладающих встроенным чипсетом от «NXP» (системная служба NFS фильтрует метки «MIFARE Classic», и не уведомляет приложения об их наличии). К счастью (или несчастью) для владельцев гаджетов «Самсунг», компания «Самсунг» решила заблокировать технологию «MIFARE Classic» на многих своих устройствах, и при попытке её задействования вы увидите надпись о том, что «тип метки НФС не поддерживается на указанном устройстве». В результаты вы даже не сможете обнаружить указанные метки на специализированных приложениях, запущенных на телефонах «Самсунг».

Системное сообщение об отсутствии поддержки «MIFARE Classic» в одном из смартфонов

Некоторые из гаджетов от Самсунг в виде исключения могут включать в себя чипсеты от «NXP». В частности, «Samsung Note 3» имеет в себе контроллер «NXP PN544 NFC», и, соответственно, поддерживает «MIFARE Classic». А вот «Samsung Galaxy S6» содержит NFC контроллер от Самсунг «S3FWRN5P», и, следовательно, не поддерживает (точнее, блокирует) работу «MIFARE Classic».

Что делать, если «Тип метки NFC не поддерживается»

Упомянутые проблемы с метками НФС возникают преимущественно у москвичей – обладателей транспортной карты «Тройка» во время попытки пополнения баланса карты с помощью популярного приложения «Мой проездной» или другого аналогичного софта. Если вы обладатель гаджета от «Самсунг», то в большинстве случаев проблема с метками имеет аппаратную природу (отсутствие чипсета от «NXP»), что делает невозможным нормальную работу с технологией «NFC».

Тем не менее есть ряд аппаратов от Самсунг, которые поддерживают технологию «MIFARE Classic». В частности, это такие девайсы как (список неполный и может варьироваться):

  • Galaxy Note II
  • Galaxy Nexus I9250
  • Galaxy SIII
  • Galaxy SIII Neo
  • Core DUOS
  • Galaxy S5 G900F.

Если у вас один из таких гаджетов, и, тем не менее, вы встречаетесь с текстом ошибки «Тип метки NFC не поддерживается», то рекомендуется выполнить следующее:


Заключение

Существующая проблематика с метками НФС, имеющаяся на девайсах линейки «Самсунг Галакси», обусловлена блокировкой компанией «Самсунг» технологии «MIFARE Classic» от производителя НФС-чипсетов «NXP». В подобной ситуации можно попытаться программным путём убрать данное сообщение (например, с помощью метода, описанного на

Сейчас почти у каждого есть карты с поддержкой NFC, которыми можно оплатить покупку в одно касание, а ещё лучше это сделать смартфоном или даже умными часами 😉 Есть карты, которыми можно оплатить проезд, а также пополнить баланс с телефона (жаль вот только ввели такую систему не во всех городах, а в некоторых предпочли «изобрести велосипед» и использовали карты, которые несовместимы с NFC). А ещё можно просто прикоснуться телефоном к наушникам, и они сами образуют пару с вашим телефоном и в некоторых случаях даже включают Bluetooth.

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

О чём точно стоит знать: NFC базируется на RFID. Зачастую эти две технологии ошибочно объединяют в одну, но они не являются одним и тем же. Хотя NFC-считыватели могут распознавать и перезаписывать некоторые RFID-метки, технология NFC даёт гораздо больше возможностей, чем RFID. NFC можно считать надстройкой над RFID, созданной для расширения платформы обмена данными.

Итак, разберёмся в механике работы RFID и NFC и в том, чем они отличаются.

RFID

Представьте, что Иван сидит ночью на крылечке своего дома. Иван включил светильник на крыльце и теперь может увидеть своего соседа, когда тот проходит мимо, потому что свет отражается от него и попадает Ивану на сетчатку глаза. Это пассивный RFID. Радиосигнал от пассивного RFID-считывателя достигает метки, которая поглощает его и отражает обратно свой идентификатор.

Теперь представьте, что Иван включил светильник, а его сосед, который сидит у себя дома, видит это и кратковременно включает светильник на своём крыльце, как будто передаёт Ивану «привет» со своего крыльца. Это активный RFID, он может работать на более длинные дистанции, так как приёмник имеет свой собственный источник питания и, более того, может генерировать собственный радиосигнал, не полагаясь на энергию, которую он поглотил от источника.

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

NFC

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

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

Например, можно прикоснуться телефоном с NFC к стереоустройству, у которого тоже есть NFC, и они опознают друг друга, узнают, что у обоих есть Wi-Fi модуль, и обменяются данными для последующего взаимодействия через Wi-Fi. После этого телефон начнёт трансляцию музыки на стереоустройство с помощью Wi-Fi. Телефон не будет транслировать музыку с помощью NFC по двум причинам:

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

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

Устройство не позволяет считать абсолютно всю свою память при использовании NFC, оно лишь даёт доступ к небольшому кусочку информации, необходимому для обмена. Пользователь может проконтролировать, какую информацию он передаёт и кому.

Типы NFC-меток

Существует четыре типа меток, описанных NFC-форумом, все они базируются на RFID-протоколах. Это делает NFC метки частично совместимыми со многими уже существующими RFID системами (например, Mifare и FeliCa). Хотя эти более старые системы не поддерживают NDEF, они, однако, могут опознавать NFC метки, которые совместимы с ними. Например, считыватель RFID, который предназначен для работы с метками Mifare Ultralight, может считать идентификационный номер метки NFC 2 типа, хоть и не может прочитать закодированную NDEF информацию. Есть также пятый тип, который совместим с технологией, но при этом не является частью NFC-спецификации.

Типы 1, 2 и 4 основаны на ГОСТ Р ИСО/МЭК 14443A (состоит из четырёх частей: , , , ), тип 3 - на ГОСТ Р ИСО/МЭК 18092 . Более подробно про каждый из типов можно прочитать под спойлером.

Тип 1 :

  • Основан на ГОСТ Р ИСО/МЭК 14443A;
  • Нет защиты данных от коллизий (прим. - коллизии могут возникнуть; когда два активных источника передают данные одновременно);
  • Примеры: Innovision Topaz, Broadcom BCM20203.

Тип 2 :

  • Аналогично типу 1 основан на NXP/PhilipsMifareUltralight метках (ГОСТ Р ИСО/МЭК 14443A);
  • Может быть как только для чтения, так и для чтения/записи;
  • Содержит от 96 байт до 2 кбайт памяти;
  • Поддержка анти-коллизий;
  • Пример: 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.

Алгоритм работы 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-2014), где говорится о маломощных радиосигналах частотой 13,56 МГц. Затем идёт уровень, который описывает разбивку потока данных на фреймы (ГОСТ Р ИСО/МЭК 14443-3-2014). Любые радиоконтроллеры, которые используются в телефоне, планшете или подсоединяются к компьютеру или микроконтроллеру, являются отдельными аппаратными компонентами. Они взаимодействуют с главным процессором посредством одного или нескольких стандартных последовательных протоколов между устройствами: универсальный асинхронный приёмопередатчик (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.

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

NDEF

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

Есть несколько распространённых типов NDEF-записей:

  1. Обычные текстовые записи. В них можно отправить любую строку, они не содержат инструкций для цели, но содержат метаданные об языке текста и кодировке.
  2. URI. Такие записи содержат данные об интернет-ссылках. Цель, получившая такую запись, откроет её в том приложении, которое сможет её отобразить. Например, веб-браузере.
  3. Умная запись. Содержит не только веб-ссылки, но и текстовое описание к ним, чтобы было понятно, что находится по этой ссылке. В зависимости от данных записи телефон может открыть информацию в нужном приложении, будь то SMS или e-mail, либо сменить настройки телефона (громкость звука, яркость экрана и т.д.).
  4. Подпись. Она позволяет доказать, что информация, которая была передана или передаётся, достоверна.

Можно использовать несколько видов записей в одном NDEF-сообщении.

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

Второе главное различие между NFC и RFID - формат обмена данными NFC (NDEF - NFC data exchange format). NDEF определяет формат данных в сообщениях, которые в свою очередь состоят из NDEF записей. Есть несколько видов записей, о которых будет рассказано более подробно чуть ниже. NDEF делает возможным с помощью программного кода управлять процессом чтения и записи NFC-меток, обмена данными при помощи peer-to-peer и эмулирования карт.

Структура NDEF

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

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

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

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

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

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

Читаем 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-сообщения из дополнительного поля.

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 } // Обработка массива сообщений. ... } } }

@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; for (int i = 0; i < rawMessages.length; i++) { messages[i] = (NdefMessage) rawMessages[i]; } // Обработка массива сообщений. ... } } }

Также объект Tag можно получить из intent, который будет содержать полезную информацию и позволит перечислить технологии метки:

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

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

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

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

TNF_ABSOLUTE_URI (тип URI, зависит от типа)

Создать NDEF-запись TNF_ABSOLUTE_URI можно следующим образом:

Val uriRecord = ByteArray(0)..toByteArray(Charset.forName("US-ASCII")), emptyByteArray, emptyByteArray) }

NdefRecord uriRecord = new NdefRecord(NdefRecord..getBytes(Charset.forName("US-ASCII")), new byte, new byte);

TNF_MIME_MEDIA (MIME-тип, зависит от типа записи)

Создать NDEF-запись TNF_MIME_MEDIA можно следующим образом:

1. Используя метод createMime() :

Val mimeRecord = NdefRecord.createMime("application/vnd.com.example.android.beam", "Beam me up, Android".toByteArray(Charset.forName("US-ASCII")))

NdefRecord mimeRecord = NdefRecord.createMime("application/vnd.com.example.android.beam", "Beam me up, Android".getBytes(Charset.forName("US-ASCII")));

2. Создав NdefRecord вручную:

Val mimeRecord = Charset.forName("US-ASCII").let { usAscii -> NdefRecord(NdefRecord.TNF_MIME_MEDIA, "application/vnd.com.example.android.beam".toByteArray(usAscii), ByteArray(0), "Beam me up, Android!".toByteArray(usAscii)) }

NdefRecord mimeRecord = new NdefRecord(NdefRecord.TNF_MIME_MEDIA , "application/vnd.com.example.android.beam".getBytes(Charset.forName("US-ASCII")), new byte, "Beam me up, Android!".getBytes(Charset.forName("US-ASCII")));

Intent-фильтр для такой NDEF-записи будет таким:

TNF_WELL_KNOWN с RTD_TEXT (MIME-тип с записью простого текста)

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 = 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) }

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; data = (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, data); return record; }

Intent-фильтр для такой NDEF-записи будет таким:

TNF_WELL_KNOWN с RTD_URI (тип URI, базирующийся на полезной информации)

Создать NDEF-запись TNF_WELL_KNOWN можно следующим образом:

1. Используя метод createUri(String) :

val rtdUriRecord1 = NdefRecord.createUri("http://example.com")

NdefRecord rtdUriRecord1 = NdefRecord.createUri("http://example.com");

2. Используя метод createUri(Uri) :

Val rtdUriRecord2 = Uri.parse("http://example.com").let { uri -> NdefRecord.createUri(uri) }

Uri uri = Uri.parse("http://example.com"); NdefRecord rtdUriRecord2 = NdefRecord.createUri(uri);

3. Создав NdefRecord вручную:

Val uriField = "example.com".toByteArray(Charset.forName("US-ASCII")) val payload = ByteArray(uriField.size + 1) //добавление 1 для префикса URI payload = 0x01 //префикс http://www. к URI System.arraycopy(uriField, 0, payload, 1, uriField.size) //добавление URI к полезной информации val rtdUriRecord = NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_URI, ByteArray(0), payload)

Byte uriField = "example.com".getBytes(Charset.forName("US-ASCII")); byte payload = new byte; //добавление 1 для префикса URI payload = 0x01; //префикс http://www. к URI System.arraycopy(uriField, 0, payload, 1, uriField.length); //добавление URI к полезной информации NdefRecord rtdUriRecord = new NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_URI, new byte, payload);

Intent-фильтр для такой NDEF-записи будет таким:

Более подробно про работу с NDEF-записями на Android можно почитать .

Использование NFC

Есть множество возможностей использования NFC:

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

Заключение

Технология NFC добавляет многообещающую функциональность к технологии RFID. Наиболее значимое нововведение - формат обмена данными NFC (NDEF), который предоставляет возможность форматировать обычные данные в одну из четырёх технологий меток NFC. NDEF может быть использован как для обмена данными между устройством и меткой, так и для обмена между устройствами. Это делает NFC пригодным не только как способ идентификации, но и как средство обмена короткими блоками данных.

Варвара Николаева

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

Владельцы смартфонов с функцией NFC ежедневно обрабатывают сигналы множества бесконтактных тегов при осуществлении оплаты (кафе, ресторан, метро), передаче информации, управлении функциями гаджета. Иногда некоторые метки выдают ошибку, что означает наличие одной или сразу нескольких причин такого поведения. В результате возникает целый ряд вопросов: «Что делать?», требующих незамедлительного решения. Наиболее распространённые из них рассмотрены в нашей статье.

Способ 1 – если производитель метки неизвестен

Для этого необходимо:

  1. Зайти на сайт производителя смартфона.
  2. Проверить данные о совместимости тегов от других производителей.
  3. Если устройство несовместимо, – подать запрос в компанию, которая поставляет услуги (например, метро, сеть кафе, рестораны быстрого питания).


Способ 2 – если производитель метки известен

В этом случае метки куплены для личных целей. Для проверки совместимости необходимо:

  1. Зайти на сайт изготовителя тега.
  2. Задать поисковый запрос на совместимость.
  3. Проверить наличие в списке вашего устройства (бренд, модель, тип NFC-чипа).
  4. При необходимости купить новые теги от совместимого бренда.


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

Не установлено пользовательское приложение

Если сбой произошёл впервые, и вы до этого не использовали услугу (например, оплата метро в Москве), возможно, у вас на мобильном устройстве не установлен пользовательский сервис. Для этого нужно:

  1. Скачать из интернета (официальный сайт и маркет-приложения) сервис поставщика услуг/товаров.
  2. Установить его на телефон.
  3. Зарегистрировать и активировать платёжную карту.


Не зарегистрирована платёжная карта

Случаются ситуации, когда при длительном использовании сервиса приходится менять данные карты. Удалять старые и подвязывать новые.

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

Для устранения надо:

  1. Войти в сервис поставщика услуг или универсальную систему (Google Pay, Apple Pay).
  2. Проверить список интегрированных карт (может быть несколько или одна).
  3. Если карты нет, – зарегистрировать и проверить активацию.
  4. Протестировать на стороннем теге.


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

Решением такой неполадки является замена тега.

Скачать платёжные системы

Для корректной работы функции NFC на смартфоне должен быть установлен оригинальный платёжный сервис, совместимый с операционной системой. можно по ссылкам:

  • Windows;
  • Android.


Заключение

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

9 сентября компания Apple анонсировала смартфоны iPhone 6 и iPhone 6 Plus, одной из особенностей которых стал чип NFC и основанная на нем технология Apple Pay. В презентации основной упор был сделан на возможность бесконтактной оплаты покупок с помощью смартфона, однако на самом деле возможности NFC на этом не заканчиваются и уже давно и успешно используются в Android-смартфонах для выполнения множества разных задач, начиная от оплаты поездки в метро и заканчивая автоматизацией смартфона.

Вместо введения

NFC расшифровывается как Near Field Communication или «ближняя бесконтактная связь», если по-русски. По своей сути это небольшой чип, который может быть встроен в смартфон с целью передачи данных на очень короткие расстояния с весьма мизерной скоростью. NFC очень близка к технологии RFID, которая уже давным-давно используется для пометки продуктов в супермаркетах, но базируется на ее более позднем стандарте ISO/IEC 14443 (смарт-карты) и спроектирована для использования в переносной электронике (читай: смартфонах) и выполнения безопасных транзакций (читай: оплаты покупок).

Как и в случае со стандартом ISO/IEC 14443, дальность действия NFC всего 5–10 см, но разница в том, что чип NFC способен выполнять функцию тега и считывателя одновременно. Другими словами, оснащенный NFC смартфон может быть как смарт-картой (картой метро, например), которую достаточно поднести к считывателю, чтобы расплатиться, так и самим считывателем, что можно использовать, например, для перевода средств между картами-смартфонами и превращения реальных карт с поддержкой стандарта ISO/IEC 14443 в виртуальные.

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

Появившаяся в Android 4.0 технология Beam еще больше расширяет границы применения NFC, позволяя быстро переносить между устройствами целые файлы и папки, что достигается с помощью предварительной аутентификации Bluetooth-устройств по NFC и последующей установки Bluetooth-соединения и отправки файлов. Как и в предыдущем случае, все, что требуется для передачи, - просто поднести телефоны друг к другу. В прошивках Samsung эта функция носит имя S-Beam и позволяет использовать в качестве «транспортного канала» не только синезуб, но и Wi-Fi (один из смартфонов превращается в точку доступа).

Еще одна возможность - использование пассивных NFC-тегов. Такие теги в виде небольших наклеек можно приобрести за полдоллара за штуку и перепрограммировать с помощью смартфона. Каждый из них может вмещать в себя 137 байт информации (в случае самого распространенного и дешевого тега Mifire Ultralight C), для считывания которой опять же достаточно просто поднести смартфон. В тег можно записать пароль от домашнего Wi-Fi и приклеить на роутер. Или кодовое слово, на которое будет реагировать смартфон. Можно организовать автоматический запуск навигатора при установке смартфона в держатель в автомобиле или включение бесшумного и энергосберегающего режимов, когда телефон находится на прикроватной тумбочке. Небольшой список покупок в 137 байт тоже вполне вместится.

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

Поддержка в смартфонах

Первым телефоном с интегрированной поддержкой NFC был Nokia 6131, выпущенный еще в 2006 году. Тогда встроенный NFC-чип был всего лишь игрушкой для демонстрации возможностей созданной два года назад технологии. Смартфон был оснащен софтом для считывания NFC-меток, но ввиду их тогдашней дороговизны и почти нулевой популярности технологии ни на какое серьезное применение данная особенность смартфона не претендовала.

После некоторого затишья популяризацией NFC занялась компания Google, выпустившая в 2010 году смартфон Samsung Nexus S и приложение Google Wallet, которое позволяло расплачиваться виртуальными кредитками, используя NFC. На следующий год Google стала ведущим участником NFC Forum и представила Android 4.0 и основанный на нем смартфон Samsung Galaxy Nexus, который теперь мог похвастаться наличием той самой функции Beam. Позже появился Nexus 4, и наконец начали подтягиваться другие производители.

Сегодня NFC оснащаются почти все выпускаемые смартфоны. Соответствующий модуль есть даже в сверхбюджетных чипах Mediatek, так что большая часть новых китайских смартфонов стоимостью 5000 рублей тоже им оснащены. В любом случае присутствие чипа NFC легко проверить по наличию пункта «Беспроводные сети -> NFC» в настройках.

Играем с тегами

Где взять теги? Как я уже сказал, самый простой вариант - это просто заказать их в Китае (dx.com, tinydeal.com, aliexpress.com). Самые дешевые теги в лице Mifire Ultralight C со 137 байтами памяти обойдутся примерно в пять долларов за десять штук. Также можно обзавестись фирменными тегами от Sony (SmartTags), однако кроме внешнего вида и цены, которая будет в три-пять раз выше, они ничем не отличаются. Еще один вариант: теги TecTile от Samsung с еще более высоким ценником, но и большим объемом памяти (716 байт). Но тут нужно быть осторожным, первая версия тегов совместима только с NFC-контроллером от NXP, так что с большинством смартфонов они работать не будут.

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

Без дополнительного софта в мобильных ОС есть лишь ограниченная поддержка «общения» с тегами. Тот же Android вообще не предлагает никаких средств для работы с ними. Все, что можно сделать, - это просто поднести тег к смартфону, чтобы последний его прочитал. В зависимости от типа записанных в тег данных смартфон может вывести эти данные на экран (тип «текст» или не поддерживаемый), открыть веб-страницу (тип URI), запустить приложение (специальный тип android.com:pkg, поддерживаемый только в Android), открыть номеронабиратель с указанным номером (тип URI «tel://») и выполнить некоторые другие действия.

Средств для изменения самих тегов или поведения смартфона в ответ на их обнаружение в Android нет, поэтому нам придется обзавестись дополнительным софтом. Три приложения, которые мы будем использовать:

  • NFC TagInfo - читалка тегов, позволяющая получить наиболее полную информацию о теге и записанных в него данных;
  • NFC TagWriter - фирменное приложение от ведущего производителя тегов NXP Semiconductors;
  • Trigger - позволяет самостоятельно определить реакцию на тег с возможностью передачи управления в Tasker.

NFC TagInfo

Для начала разберемся, что за теги нам достались. Китайцы обычно никаких подробностей на этот счет не сообщают, а уж о картах метро я вообще молчу. Запускаем NFC TagInfo и подносим смартфон к тегу. Далее тапаем по пункту Tag Information и смотрим (скриншот «Читаем NFC-тег»), что мы имеем:

  • UID - уникальный идентификатор тега;
  • RF Technology - стандарт, поддерживаемый тегом. В данном случае это ISO/IEC 14443 Type A, то есть обычный RFID-тег c поддержкой первой версии протокола обмена данными (Type A);
  • Tag Type - тип (или, лучше сказать, «модель») тега. В данном случае NTAG203 - это Mifare Ultralight C, самый дешевый на данный момент тег. Буква C означает поддержку криптозащиты данных. Еще бывает Topaz 512, который вмещает 450 байт информации, и Mifare Classic 1K (716 байт), используемый в тегах TecTile и нередко в картах метро;
  • Manufacturer - производитель тега. NXP Semiconductors - 90% всех NFC-тегов делают они (семейство Mifare).

Теперь возвращаемся обратно и переходим в меню NDEF information. NDEF - это один из стандартов NFC, который описывает формат хранения информации в памяти тегов и ее передачи считывателю. Тег может содержать несколько NDEF-сообщений, каждое со своим идентификатором и типом, по которому смартфон может определить, как интерпретировать содержащиеся в нем данные. Тип задается в формате URI, MIME или домен:сервис, если речь идет о каком-то специфичном для считывателя типе (например, тот самый android.com:pkg).

В меню NDEF information нас в первую очередь интересуют строки Maximum message size (полезный объем тега), Is tag writable (поддержка записи) и Can tag be write-protected (поддержка защиты от записи). Последняя опция позволяет заблокировать запись тега для всех устройств, кроме нашего. Кроме того, тег можно заблокировать навечно, так, чтобы его больше никогда нельзя было записать. В этом случае в предпоследней опции будет указано no.

Что внутри тега?

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

Антенна занимает около 99% площади метки и передает данные на частоте 13,56 МГц со скоростью 106, 212, или 424 Кбит/с. Стандарты NFC определяют несколько протоколов передачи данных, в том числе несколько реализаций протокола обмена данными (они обозначаются буквами A, B и так далее), которые могут быть дополнены производителем самой метки. Например, метки семейства Mifare реализуют ряд расширений над стандартным протоколом, из-за чего можно поймать несовместимости между приложениями и меткой (но это редкость).

Безопасность данных обеспечивается несколькими путями:

  • Малая дальность действия. Десять сантиметров - очень приватная зона.
  • Защита от клонирования с помощью уникального серийного номера.
  • Возможность защиты от перезаписи и защиты данных паролем.
  • Опциональное шифрование данных в памяти и при передаче.

Ведущий производитель NFC-тегов - компания NXP Semiconductors. Они производят теги семейства Mifare, которые стали настолько популярны, что совместимость с ними обеспечивают не только другие производители тегов, но и производители NFC-чипов для смартфонов (на уровне эмуляции тегов). Семейство включает в себя несколько разных моделей, начиная от простейших Mifare Ultralight C и заканчивая Mifare DESFire EV1, имеющих встроенную файловую систему с поддержкой криптографии и гибко настраиваемыми правами доступа.

Переходим в меню NDEF message. Если тег содержит какие-либо данные, все они будут отображены здесь с разбиением на сообщения. Остальные опции NFC TagInfo позволяют просмотреть информацию о памяти тега: фактический объем, дамп в форматах HEX и ASCII, права доступа к страницам памяти и так далее. Рекомендую вернуться к этим опциям после записи в тег данных.

Пишем данные

Для записи данных будем использовать NFC TagWriter. Пользоваться приложением довольно просто. Запускаем, тапаем по пункту Create, write and store, выбираем New, далее выбираем тип записываемых данных. Наиболее полезные типы: контакт, простой текст, телефонный номер, данные для Bluetooth-соединения, URI и приложение. В списке есть даже закладка веб-браузера и email-сообщение, но для чего они нужны, не совсем понятно.


Далее заполняем необходимые поля (например, адрес веб-сайта в случае с URI), нажимаем Next и попадаем на экран опций (скриншот «NFC TagWriter: опции сообщения»). Здесь можно указать приложение, которое будет запущено после прочтения метки (Add launch application) и установить защиту на перезапись сторонним устройством (Apply Soft Protection). Также приложение позаботится о том, чтобы проинформировать нас о моделях тегов, способных вместить эти данные (в данном случае все ОK, NTAG203 в списке есть).


Вновь нажимаем Next и подносим смартфон к тегу. Вуаля, наши данные в нем. Теперь их можно прочитать любым смартфоном с поддержкой NFC. Но что это в конечном итоге дает?

Сценарии использования

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

Домашняя автоматизация

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

  • Пароль от домашнего Wi-Fi. Клеим тег на роутер и записываем в него пароль с помощью приложения InstaWifi. Пригодится не только тем, кто часто принимает гостей, но и любителям экспериментов с прошивками.
  • Запуск автосинхронизации или приложения для обмена данными с ПК. Тег можно приклеить на ноутбук или системник и прописать в него запуск приложения для синхронизации данных (AirDroid, WiFi ADB и другие).
  • Включение точки доступа. Опять же клеим тег на ноутбук, далее устанавливаем приложение Trigger. В нем добавляем новое задание, в качестве триггера выбираем NFC, пропускаем выбор ограничений, в качестве действия выбираем «Беспроводные и локальные сети -> Wifi-зона», пропускаем следующий экран (добавление переключателя) и на последнем экране подносим к NFC-тегу.
  • Включение режима полета на ночь. Клеим метку куда-нибудь ближе к кровати. Запускаем Trigger, новое задание -> триггер: NFC -> действие: «Экспериментальные -> Режим в самолете». Как вариант, вместо включения режима самолета можно настроить отключение передачи данных и Wi-Fi, добавив соответствующие действия в задание.

Автомобильная автоматизация

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

Чтобы сделать это, нам вновь понадобится Trigger. Запускаем, добавляем задание, в качестве триггера выбираем NFC. Добавляем действие «Bluetooth -> Bluetooth Вкл/Выкл -> Включить». Добавляем еще одно действие: «Беспроводные и локальные сети -> GPS Вкл/Выкл -> Включить». И еще одно: «Беспроводные и локальные сети -> WiFi Вкл/Выкл -> Выключить». Наконец, добавляем действие «Приложение и ярлыки -> Открыть приложение -> выбираем приложение». Пропускаем экран добавления переключателей, на следующем экране подносим смартфон к тегу.

Теперь после установки смартфона в держатель мы получим полностью настроенный для использования в автомобиле смартфон.

Разблокировка смартфона

У Motorola есть довольно интересный аксессуар для смартфонов под названием Motorola Skip . Это клипса на одежду для быстрой разблокировки смартфона без необходимости введения PIN-кода или графического ключа. Аксессуар в некоторых случаях довольно полезный, но работает он только со смартфонами той же компании. К счастью, аналогичную штуковину можно собрать на коленке.

Не буду рассказывать, как сделать саму клипсу, - тут каждый волен проявить свою фантазию, NFC-тег можно и на руку наклеить, - а вместо этого скажу, как настроить разблокировку смартфона при ее касании. Есть несколько способов, но самый простой и эффективный - это Xposed-модуль NFC LockScreenOff Enabler. Модуль, как и сам Xposed, требует root, но зато кроме эффективного решения задачи включает в себя суперфункцию - активацию NFC при выключенном экране.

Дело в том, что в целях безопасности Android запрещает использовать NFC до тех пор, пока экран не будет разблокирован (не просто включен, а именно разблокирован), что сводит на нет многие эффективные приемы его использования. NFC LockScreenOff Enabler решает эту проблему.

Визитка

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

Включение компа

Это своего рода развитие идеи тегов на системнике и ноутбуке. Идея в том, чтобы создать настройку, которая позволит включать комп c помощью NFC-тега без учета того, где находится сам тег. Его, например, можно приклеить в прихожей, так что включить машину можно будет еще до того, как ты снимешь обувь. Метод основан на функции WoL, позволяющей включать комп с помощью отправки пакетов на Ethernet-порт, и Android-приложении Wol Wake on Lan Wan, которое делает это через интернет.

Как настроить? Для начала открываем панель управления роутером и настраиваем проброс портов 7 и 9 (порты WoL) на нашу домашнюю машину. Очень важно указать MAC-адрес вместо IP, так как последний может быть отдан другому устройству. Далее идем на noip.com, регистрируемся и получаем бесплатный домен, который мы будем использовать, чтобы достучаться до роутера извне. В том случае, если у тебя есть статический IP, этот шаг можно пропустить.

Далее устанавливаем на смартфон Wol Wake on Lan Wan, нажимаем кнопку Add New и вбиваем в открывшемся окне произвольное имя, MAC-адрес компа и полученный ранее домен, нажимаем Save. На всякий случай проверяем настройку. Далее ставим Tasker, переходим на вкладку Tasks (задачи), создаем новую задачу, в качестве действия выбираем Plugin -> Wol Wake on Lan Wan и выбираем созданный ранее WoL-профиль. Сохраняем.

Теперь нам нужно привязать эту задачу к NFC. Для этого запускаем Trigger, добавляем задание, в качестве триггера выбираем NFC, а в качестве действия - «Планировщик -> Задание Планировщика» (разрабы перевели Tasker как «Планировщик»), далее выбираем созданную на предыдущем этапе в Tasker задачу, пропускаем создание переключателей и на последнем этапе настройки подносим смартфон к NFC-тегу.

Это все. Если все настроено правильно, то при обнаружении тега Android отдаст управление Trigger, он, в свою очередь, запустит Tasker-задачу, которая активирует нужный нам профиль в приложении Wol Wake on Lan Wan, оно отправит WoL-пакет роутеру, а тот перенаправит его на MAC-адрес компа, сетевая карта которого… Ну да ладно. В общем, все просто должно работать:).

Выводы

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



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!