Смартфон как способ оплаты
NFC совместима со стандартом ISO 14443 и объединяет множество бесконтактных карт, в том числе банковские карты, поддерживающее MasterCard PayPass или VISA PayWave. Пластиковая карта содержит микропроцессор с ОС и платежным приложением для взаимодействия с данными конкретного клиента. Как только карту вставляют в терминал или проводят по нему, она получает энергию для запуска операционной системы. В случае с бесконтактными картами питание, как мы уже говорили, получается при помощи электромагнитного поля считывателя.
С появлением бесконтактных карт платежным инструментом по сути может выступать не обязательно карта, а смартфон, часы, брелок и так далее — важна не форма, а наличие необходимого набора функций. Ведь в смартфонах с поддержкой NFC так же, как и в пластиковых картах, есть микропроцессор. Начиная с Android 4.
Чтобы управлять бесконтактными приложениями удаленно, производители смартфонов и поставщики услуг подключаются к TSM — службе, которая обеспечивает доступ к защищенным данным на терминалах с поддержкой NFC. Она удаленно управляет чипами Secure Element в смартфонах, сам смартфон при этом является своего рода модемом, работающим через безопасный канал связи.
При совершении покупок свыше 1000 рублей вас могут попросить ввести PIN-код или поставить подпись на чеке — здесь уже все зависит от банка.
Подключение и настройка
RFID/NFC сканер подключается по протоколу I²C/TWI и использует пин прерывания IRQ
. Для сборки модуля используются три трёхпроводных шлейфа.
При подключении к Arduino или Iskra JS удобно использовать Troyka Shield.
Метки NFC
Это еще один распространенный способ применения NFC в смартфоне. Метки NFC получили большую популярность в торговых и рекламных зонах: их встраивают в афиши, рекламные щиты, помещают на товары в магазинах. Обычно это небольшие стикеры, стоимость которых не превышает 50 рублей. Затраты минимальные, зато какой эффект! От получения более подробной информации о концерте или товаре до ссылки на трейлер нового фильма.
Вы можете создавать собственные NFC-метки, модернизировать их и затем использовать в повседневной жизни. Как правило, для этого используется сторонний софт вроде NFC TagWriter. Приложение довольно простое и позволяет записать на метку множество типов данных — от контакта и телефонного номера до закладки веб-браузера.
На самом деле NFC-метки — настоящий подарок, когда речь заходит об автоматизации. Например, можно наклеить метку на ноутбук и при помощи приложения Trigger настроить включение точки доступа, выбрав в качестве действия «Беспроводные и локальные сети». Решение попроще — записать пароль от Wi-Fi на метку, наклеить ее на роутер, и потом всякий раз, когда гости спросят пароль, отправлять их к NFC-метке. Или еще: установить метку около кровати и сделать так, чтобы при прикосновении на смартфоне включался авиарежим (опять же с помощью Trigger).
Полезно будет и автомобилистам — записали на метку алгоритм запуска навигатора, наклеили ее на держатель для смартфона, и всякий раз, когда вы будете устанавливать устройство на это место, навигатор будет запускаться автоматически.
И таких примеров применения NFC-меток еще очень и очень много. Зачастую появление новых кейсов ограничивается вовсе не технологией, а фантазией пользователя.
Примеры работы
Рассмотрим несколько примеров с работой NFC-сканера.
Для работы сканера с Arduino используйте библиотеку Adafruit PN532.
- nfc.ino
#include {amp}lt;Wire.h{amp}gt;#include {amp}lt;SPI.h{amp}gt;// библиотека для работы с RFID/NFC#include {amp}lt;Adafruit_PN532.h{amp}gt; // пин прерывания#define PN532_IRQ 9// создаём объект для работы со сканером и передаём ему два параметра// первый — номер пина прерывания// вторым — число 100// от Adafruit был программный сброс шилда // в cканере RFID/NFC 13,56 МГц (Troyka-модуль) этот пин не используется// поэтому передаём цифру, большая чем любой пин Arduino Adafruit_PN532 nfc(PN532_IRQ,100); void setup(void){ Serial.begin(9600);// инициализация RFID/NFC сканера nfc.begin();int versiondata = nfc.getFirmwareVersion();if(!versiondata){ Serial.print("Didn't find RFID/NFC reader");while(1){}} Serial.println("Found RFID/NFC reader");// настраиваем модуль nfc.SAMConfig(); Serial.println("Waiting for a card ...");} void loop(void){uint8_t success;// буфер для хранения ID картыuint8_t uid[8];// размер буфера картыuint8_t uidLength;// слушаем новые метки success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid,{amp}amp;uidLength);// если найдена картаif(success){// выводим в консоль полученные данные Serial.println("Found a card"); Serial.print("ID Length: "); Serial.print(uidLength, DEC); Serial.println(" bytes"); Serial.print("ID Value: "); nfc.PrintHex(uid, uidLength); Serial.println(""); delay(1000);}}
Откройте Serial-порт и прикладывайте по очереди карты к считывателю. В строке ID Value выводится уникальный номер карты.
Прочитаем и выведем ID карты в Serial-порт. Для работы RFID/NFC сканера с Iskra JS используйте библиотеку @amperka/nfc. Она обеспечивает простую работу с модулем и прячет в себе все тонкости протокола обмена данными между сканером и управляющей платой.
- nfc-test.js
// настраиваем I2C1 для работы модуля I2C1.setup({sda: SDA, scl: SCL, bitrate:400000}); // подключаем модуль к I2C1 и пину прерыванияvar nfc = require('@amperka/nfc').connect({i2c: I2C1, irqPin: P9}); // активируем модуль nfc.wakeUp(function(error){if(error){ print('NFC wake up error', error);}else{ print('NFC wake up OK');// слушаем новые метки nfc.listen();}}); nfc.on('tag',function(error, data){if(error){ print('tag read error');}else{// выводим в консоль полученные данные print(data);} // каждые секунду слушаем новую метку setTimeout(function(){ nfc.listen();},1000);});
После загрузки кода, приложим по очереди карты к сканеру. В строке uid выведен уникальный номер карты
Открываем все двери
Кто-то реализовывает подобное и в домашних условиях, но в основном использование NFC для идентификации и контроля пользователя характерно для предприятий и организаций. Турникеты и замки настраиваются таким образом, что при помощи метки, которая является пропуском, решают, стоит давать ее обладателю разрешение на вход или нет.
С NFC в смартфоне действительно открываются все двери — если не в буквальном смысле, то в переносном точно. Фактически пользователь получает универсальный инструмент, который, несмотря на скоростные ограничения, находит себе применение в самых разных ситуациях. Здесь мы сталкиваемся с другой проблемой — степенью распространенности технологии среди поставщиков услуг. Единственное, что в данном случае может сделать обычный пользователь — как можно чаще задействовать NFC, чтобы показать ее востребованность.
NFC-пульт
Попробуем управлять тремя светодиодами с помощью RFID/NFC-сканера, каждому светодиоду будет соответствовать своя карта. При поднесении известной карты будет переключаться светодиод. Для удобства контроля работы будем отправлять в Serial-порт название считанной карты.
Схема подключения
К ранее собранной схеме добавим три светодиода Пиранья.
Вместо заключения
Пожалуй, самое приятное в NFC — то, что эта технология доступна широкому кругу пользователей. Все больше производителей не оставляют свои смартфоны без NFC, поэтому она есть как в устройствах типа
(за $321.99 по коду Mi5SGBS до 31.12) и
, так и во флагманах вроде
. Радует также разнообразие
Что с Apple и ее iPhone 7, спросите вы? Увы, но компания-производитель ограничивает работу чипа NFC в своем смартфоне, и его можно использовать только для платежной системы Apple Pay. Осенью, впрочем, она запустилась в России, так что хоть какой-то плюс.
А как вы используете NFC в повседневной жизни? Поделитесь с нами своим опытом в комментариях.
Технология RFID/NFC
RFID и NFC — это две тесно связанные технологии беспроводной связи, которые используются во всем мире для контроля доступа, отслеживания грузов, в системах безопасности и бесконтактных платежей. NFC является продолжением технологии RFID.