Установка и настройка PIN кода
RFID/NFC сканер подключается по протоколу I²C/TWI и использует пин прерывания IRQ
. Для сборки модуля используются три трёхпроводных шлейфа.
При подключении к Arduino или Iskra JS удобно использовать Troyka Shield.
Благодаря NFC-метке вы сможете устанавливать PIN-код на ваш смартфон с помощью приложения Tasker.
Установка приложений Tasker и Secure Settings. Чтобы управлять включением/выключением запроса PIN-кода на смартфоне необходимо дополнительно установить программы Tasker и плагин для него Secure Settings. Приложение имеет кучу полезных возможностей: от уведомления о полном заряде аккумулятора до выключения звука при перевороте устройства.
Обе утилиты вы сможете найти на Play Market воспользовавшись поиском, либо загрузите приложение по ссылкам выше в формате *.apk на свой смартфон и установите ее с помощью проводника. Рекомендую устанавливать Tasker до программы Trigger для избежания конфликтов, так как Trigger не будет иметь доступа к задачам Tasker.
Создание и настройка задач. Запустите Tasker и перейдите в меню настроек. В общих параметрах поставьте галочку напротив «Разрешить внешний доступ», чтобы Trigger имел доступ к задачам программы Tasker. С помощью кнопки возврата вернитесь в главное меню, перейдите на вкладку «Задачи» («Task») и нажмите « », чтобы создать задачу.
Переключение PIN-кода. В программном меню «Редактирование действий» («Action Edit»), которое находится справа вверху, нажмите на значок карандаша возле строки «Конфигурация», чтобы установить функцию «Secure Settings». В меню «Все действия» («АН Actions») выберите «Блокировка клавиатуры» («Keyguard») и кликните по пункту «Переключатель» («Toggle»).
Сохраните настройки, кликнув по символу дискеты, и вы снова попадете в программу Tasker. Нажмите кнопку возврата, чтобы вернуться в главное меню приложения. Важно правильно выйти из меню установки, иначе утилита не активирует задачу.Интеграция задачи NFC в Trigger. Откройте программу Trigger. Если вы уже создали профиль, войдите в него с помощью пунктов меню «Мои задания — [Имя профиля]», в противном случае просто создайте новое задание, нажав на кнопку« ».
В меню «Настроить задания» включите функцию «Tasker», нажав « — Tasker — Задачи Tasker — Далее». В появившемся окне «Настройка приложений» нажмите на значок увеличительного стекла, выберите «Задачи» и кликните «Добавить в задачи». В таком же порядке в меню «Настроить переключатель» снова добавьте задачи Tasker, чтобы они были корректно установлены в программе Trigger и она могла их выполнять. Теперь вам осталось только записать информацию на стикер, и вы сможете без особых трудностей включать и выключать PIN-код с помощью NFC-метки.
Проблемы с Galaxy Note 3. Смартфоны Google, НТС, LG и Sony без проблем переключают PIN-код, но возникают трудности с устройством Galaxy Note 3. В случае с этим гаджетом мы рекомендую сделать следующее: создайте не одну, а две задачи Tasker. Первую «Вкл PIN-код», а вторую — «Выкл PIN-код». Тогда в Secure Settings Plug-in выберите пункт «Пароль/PIN» («Password/PIN») в конце списка.
Для задачи «Выкл PIN-код» оставьте функцию «Выключить», а для второй задачи «Вкл PIN-код» активируйте функцию «Включить» и создайте пароль. Поставьте галочку напротив строки «Разрешить редактирование администратором». Приложение выдаст запрос на расширенные права для Secure Settings — нажмите «Активировать» (стоит отметить, что данные настройки не затрагивают основных прав).
Если вы захотите удалить Secure Settings, прежде всего необходимо будет отменить права администратора в программе, выбрав пункты меню «Безопасность — Администратор — Secure Settings». Таким образом можно сделать нужные установки для активации и деактивации запроса PIN-кода для телефонов Samsung, используя технологию NFC.
Насколько NFC безопасна
Устройства с NFC могут одновременно и получать, и передавать данные, что позволяет им обнаруживать противоречия, если полученный сигнал не соответствует переданному.
Риск перехвата ваших данных крайне мал, особенно учитывая минимальный радиус действия технологии. Тот же Bluetooth, работающий в пределах десятков метров, куда более уязвим для внешнего вмешательства.
Касается это и платёжных реквизитов: сгенерированный для бесконтактной оплаты токен не позволит злоумышленникам получить доступ к вашей карте. Да и сам факт перехвата зашифрованного идентификатора выглядит нереалистичным.
Кроме того, при бесконтактной оплате требуется подтверждение через считывание отпечатка пальца, пароль или сканирование лица. Без всего этого покупку не осуществить. А значит, даже если смартфон будет украден, воспользоваться им как платёжным инструментом никто не сможет.
Примеры работы
Рассмотрим несколько примеров с работой 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-пульт
Попробуем управлять тремя светодиодами с помощью RFID/NFC-сканера, каждому светодиоду будет соответствовать своя карта. При поднесении известной карты будет переключаться светодиод. Для удобства контроля работы будем отправлять в Serial-порт название считанной карты.
Схема подключения
К ранее собранной схеме добавим три светодиода Пиранья.
Технология RFID/NFC
RFID и NFC — это две тесно связанные технологии беспроводной связи, которые используются во всем мире для контроля доступа, отслеживания грузов, в системах безопасности и бесконтактных платежей. NFC является продолжением технологии RFID.
Технология RFID
Как пользоваться NFC? Как настроить NFC для оплаты? Android-кредитная карта
Микросхема PN532
PN532 — это микросхема трансивера для бесконтактной передачи данных на частоте 13,56 МГц. Ядро схемы – микроконтроллер 80C51. Микросхема взаимодействует с управляющей электроникой по протоколу I2C.
Часто забываете свою банковскую кредитную карту? Тогда в таком случае, если ваш Android оборудован NFC чипом, то он сможет легко стать кредиткой картой!