Используем NFC для автоматизации — «Хакер»

Используем NFC для автоматизации — «Хакер» NFC

Использование готовых меток для управления устройством

Одним из активных участников процесса внедрения NFC является компания Sony. В ее аппаратах предустановленна программа Smart Connect, поддерживающая работу с оригинальными метками Sony. При желании с использованием утилиты SmartTag Maker вы можете создать их самостоятельно из чистых заготовок.

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

Вариант оригинальных меток Sony SmartTags

Сама программа Smart Connect работает не только с NFC-метками, но и с другими подключаемыми к телефону устройствами, включая гарнитуры, блок питания, устройства Bluetooth. Достаточно удобно, что штатные настройки уже неплохо соответствуют указанным выше сценариям. При этом пользователь может перепрограммировать все схемы; в каждой из них указывается набор из условия и действий.

Настройка работы с метками в Sony Smart Connect

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

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

В магазине Play Store есть несколько утилит для этого сценария, упомянем пару из них:

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

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

  • NFC Actions: возможность работы с облачным сервисом для хранения действий меток, запуск приложений, все традиционные для NDEF действия и несколько дополнительных (включение Wi-Fi, фонарика и т. п.);
  • NFC Profile: изменение некоторых параметров конфигурации устройства, включая состояние беспроводных интерфейсов, будильник, а также запуск программ;
  • NFC Smart Q: опции по настройке режимов телефона, запуску приложений, можно использовать несколько записей на одной метке, дополнительно создается короткая web-ссылка стандартного формата NDEF, которая позволяет на новом устройстве загрузить данную программу и использовать некоторые из опций;
  • NFC Task Launcher: кроме меток NFC может активировать настройки по подключению к Bluetooth или Wi-Fi, среди действий есть переключение режимов, интерфейсов, громкости и настроек экрана, публикации в социальных сетях, отправка e-mail и SMS, запуск приложений, открытие страниц в браузере, управление медиаплеером, настройка будильника, телефонный звонок.

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

Сфера применения

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

Один из возможных вариантов — передача файлов и трансляция медиапотока с одного мобильного устройства на другое в режиме «точка — точка». Впрочем, в силу невысокой (по сравнению с тем же Bluetooth) скорости передачи данных и малого радиуса действия NFC является не самым удачным вариантом для выполнения подобных задач.

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

Возможно, в будущем радиочастотные метки получат столь же широкое распространение, как и QR-коды

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

Проблемы NFC:  Какие банковские реквизиты можно и нельзя сообщать другим

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

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

Главные достоинства технологии бесконтактных мобильных платежей — максимальная простота и экономия времени

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

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

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

Сервис Google Wallet позволяет реализовать функцию бесконтактной оплаты в устройствах на базе ОС Android

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

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

К сожалению, точечное внедрение подобных решений не способствует популяризации новой технологии. Однако не исключено, что ситуация начнет меняться уже в нынешнем году. Сейчас в России идет активное развитие инфраструктуры бесконтактной платежной системы MasterCard PayPass.

В мае 2021 года компания МТС запустила первый в России комплексный проект по созданию системы бесконтактной оплаты товаров и услуг на базе MasterCard PayPass (для осуществления расчетов необходимо оформить банковскую карту «МТС Деньги», с которой будут списываться средства).

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

В будущем смартфон с NFC-чипом может заменить ключи

Учитывая, что по итогам 2021 года ОС Android заняла три четверти рынка операционных систем для смартфонов, развитие сервиса Google Wallet вкупе с появлением большого количества новых моделей, оснащенных встроенным приемопередатчиком NFC, позволит значительно ускорить темпы внедрения технологии бесконтактных мобильных платежей и привлечь к ней внимание многих пользователей.

Сейчас высказываются самые разные точки зрения относительно будущего технологии бесконтактных платежей на базе NFC. По мнению главы европейского отделения VISA Питера Айлифа (Peter Ayliffe), именно в нынешнем году данное решение станет по-настоящему массовым.

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

Впрочем, далеко не все считают «блицкриг» бесконтактных платежных систем на базе NFC реальным. Например, сотрудники аналитического агентства Forrester Research дали довольно сдержанный прогноз, заявив, что данная технология сможет стать массовой лишь через 3-5 лет.

Есть и те, кто предрекает скорый закат бесконтактных платежных систем на базе NFC. Так, президент электронной платежной системы PayPal Дэвид Маркус (David Marcus) считает, что попытка вывести данную технологию на массовый рынок обречена на провал. По его мнению, для покупателя нет принципиальной разницы между оплатой покупок посредством пластиковой карты или же мобильного телефона с NFC, а значит нет и реального стимула переходить на новую технологию.

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

Проблемы NFC:  Что такое nfc в смартфоне

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

Масштабная демонстрация различных вариантов использования мобильных устройств с приемопередатчиками NFC была организована в рамках форума GSMA Mobile World Congress (MWC 2021), который прошел в конце февраля в Барселоне. Участники и посетители MWC 2021, имеющие при себе смартфоны с NFC, получили уникальную возможность на собственном опыте оценить достоинства и недостатки данной технологии.

К открытию MWC 2021 в ресторанах, барах, кафе и магазинах Барселоны было установлено более 20 тыс. терминалов, обеспечивающих прием бесконтактных мобильных платежей. В залах аэропорта Барселоны и павильонах выставочного центра Fira Gran Via были установлены информационные плакаты, снабженные радиочастотными метками.

Специальное приложение NFC Badge, доступное для устройств на базе ОС Android 4.х, Windows Phone 8 и BlackBerry 7.1, позволяло посетителям превратить свой смартфон в электронный пропуск для входа на территорию выставочного центра Fira Gran Via в дни проведения MWC 2021.

Транспондеры серии rf430frl15xh

Микросхемы TRF796xA и TRF7970A [5] являются высокопроизводительными приемопередатчиками диапазона 13,56 МГц со встроенными устройствами формирования пакетов с поддержкой стандартов ISO/IEC 15693, ISO/IEC 18000-3, ISO/IEC 14443A и B (рисунок 3).

TRF7970A, как наиболее современный представитель семейства трансиверов TRF79xxA, поддерживает NFC-стандарты NFCIP-1 (ISO/IEC 18092) и NFCIP-2 (ISO/IEC 21481).

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

Широкий диапазон допустимых напряжений питания 2,7…5,5 В допускает применение транспондера в устройствах с различными уровнями напряжений – и в устройствах с логическими уровнями 3 В, и с устройствами 5 В. Также возможна работа транспондера при сильно разряженной батарее питания.

Приемопередатчик TRF79xxA позволяет реализовывать различные протоколы обмена для диапазона 13,56 МГц, включая нестандартные.

Основные возможности:

  • поддержка стандартов ISO 14443A, ISO 14443B, ISO 15693, ISO/IEC 18000-3 (Mode 1);
  • диапазон напряжений питания 2,7…5,5 В;
  • встроенный стабилизатор питания (выходной ток до 20 мА);
  • потребление в режиме ожидания – 120 мкА, в режиме сна – менее 1 мкА;
  • параллельный или последовательный (SPI) интерфейс с хост-системой;
  • встроенные блоки формирования пакетов, проверки контрольной суммы, контроля четности;
  • скорость передачи данных – до 848 кбит/с;
  • тактовый выход для хост-контроллера;
  • программируемый антенный усилитель;
  • выходной усилитель с поддержкой OOK- или ASK-модуляции;
  • программируемая выходная мощность – 100 или 200 мВт;
  • прием и декодирование нескольких поднесущих.

RF430FRL15xH [7, 8] является транспондером диапазона 13,56 МГц со встроенным 16-битным малопотребляющим контроллером MSP430 (рисунок 6). Для хранения программы и данных используется энергонезависимая оперативная память технологии FRAM.

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

RF430FRL15xH поддерживает обмен данными, установку параметров и конфигурирование посредством беспроводного интерфейса (стандарты ISO/IEC 15693, ISO18000-3), а также при помощи SPI- или I2C-интерфейса.

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

Основные возможности транспондера:

  • радиоинтерфейс ISO/IEC 15693, ISO/IEC 18000-3 (Mode 1);
  • выбор источника питания: внешний источник питания или электромагнитное поле;
  • встроенный датчик температуры, интерфейс к резистивному датчику;
  • 16-битный блок вычисления контрольной суммы (CRC);
  • микроконтроллерное ядро MSP430 (2 кбайта FRAM, 4 кбайта ОЗУ, 8 кбайт ПЗУ);
  • напряжение питания – 1,45…1,65 В (ток потребления 260 мкА/МГц, в режимах экономии энергии – 9…15 мкА);
  • несколько источников тактирования (4 МГц, 256 кГц, внешний тактовый сигнал);
  • интерфейсный модуль eUSCI, поддерживающий SPI и I2C;
  • отладочный интерфейс JTAG.

Читаем 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 не сработали.
Проблемы NFC:  Nfc стикер qr код мир и другие способы сделать оплату без пластиковой карты удобной

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

Когда это возможно, запускается 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 -> 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);

Чтение и запись меток

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

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

Пассивные метки NFC могут быть изготовлены в виде брелков

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

Все они имели совсем небольшой объем памяти — всего 144 байта (на рынке присутствуют варианты и на 4 КБ). Число циклов перезаписи указано не было, но для большинства сценариев применения этот параметр не критичен. Для работы с метками можно рекомендовать программы NXP Semiconductors — TagInfo и TagWriter.

Чтение меток в NXP Semiconductors TagInfo

Первая позволит вам считать данные с метки и расшифровать информацию по стандарту NDEF, а вторая поможет создать собственные метки. При этом поддерживаются несколько подвариантов NDEF: контакт, ссылка, текст, SMS, почтовое сообщение, телефонный номер, соединение по Bluetooth, географическое расположение, ссылка на локальный файл, запуск приложения, URI.

Обратите внимание, что при создании записи нужно учитывать объем хранимых данных. Например, фотография контакта может занимать несколько килобайт, сообщения или текст также легко могут выйти за 144 байта. Кстати, программа NFC TagInfo компании NFC Research Lab со специальным плагином может прочитать и показать вам цветную фотографию из биометрического паспорта.

Запись меток в NXP Semiconductors TagWriter

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

А вот записанная web-ссылка может сразу открываться в браузере. Любая автоматизация связана с потерей контроля, так что и описанные возможности стоит применять осторожно, поскольку простой заменой или перепрограммированием меток злоумышленники могут перенаправить вас на подставной сайт вместо оригинального. Штатных настроек ОС для ограничения подобного автозапуска мы не обнаружили (если только не отключить сам NFC).

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

Упомянем еще несколько программ для записи меток:

Оцените статью
NFC в смартфонах