Contents
Подключение и настройка
RFID/NFC сканер подключается по протоколу I²C/TWI и использует пин прерывания IRQ
. Для сборки модуля используются три трёхпроводных шлейфа.
При подключении к Arduino или Iskra JS удобно использовать Troyka Shield.
Примеры работы
Можно программировать не одно событие, а целую цепочку. Экспериментируйте!
Рассмотрим несколько примеров с работой 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 выведен уникальный номер карты
Быстрый запуск
Если настроить на ПК пробуждение по LAN, вы сможете использовать NFC-метку для включения компьютера из любого места в своём доме. В некоторых случаях это может оказаться очень полезно (например, если вы привыкли выключать компьютер, а не уводить его в сон, а запуск занимает несколько минут).
Если вы привыкли открывать одно и то же приложение, находясь в каком-либо месте, наклейте там метку, на которую назначен его запуск. К кошельку или сумке можно наклеить метку с приложением для составления списка покупок, к велосипеду — метку для запуска Strava или Endomono и т.д.
Канал iG в Telegram —
Технологии мобильной идентификации
RFID и NFC — это две тесно связанные технологии беспроводной связи, которые используются во всем мире для контроля доступа, отслеживания грузов, в системах безопасности и бесконтактных платежей. NFC является продолжением технологии RFID.
Технология RFID
Bluetooth — технология, которая распространена очень широко и привычна для большинства пользователей. Она удобна тем, что данные передаются в диапазоне 2,402–2,48 ГГц, который свободен от лицензирования, причем оборудование недорогое, дальность передачи — до десяти метров, практически отсутствуют широкополосные помехи. В смартфонах используется Bluetooth Smart (четвертое поколение) с низким потреблением энергии.
Пример считывателя с поддержкой Bluetooth PW-mini BLE
NFC (от Near Field Communication, в переводе — «коммуникация ближнего поля») представляет собой беспроводной интерфейс с относительно низкой скоростью, который работает на расстоянии до нескольких сантиметров. Он обеспечивает поддержку полнодуплексного обмена между устройствами (частота — 13,56 МГц).
Пример считывателя формата NFC RP10 multiCLASS SE
Пример считывателя формата NFC PNR-P19
https://www.youtube.com/watch?v=https:tv.youtube.com
Пример считывателя формата NFC PNR-P26
Элементы платы
Микросхема PN532
PN532 — это микросхема трансивера для бесконтактной передачи данных на частоте 13,56 МГц. Ядро схемы – микроконтроллер 80C51. Микросхема взаимодействует с управляющей электроникой по протоколу I2C.
Категория | 1 | 2 | 3 | 4 |
Объем памяти | 48 Байт | 2 Кб | 20 Кб | 32 Кб |
Скорость передачи данных | 106 Кб | 106 Кб | 212 Кб | 424 Кб |
На первый взгляд, скорость передачи данных даже у самой мощной метки из 4 категории покажется очень несущественной. Однако микрочипы прекрасно справляются со своей задачей и ни разу не подводили пользователей. Они обеспечивают скорость, надежность и высокую безопасность сохранения всех запрограммированных данных.
Перед приобретением микрочипов, в первую очередь следует учитывать один небольшой нюанс – совместимость с мобильным гаджетом. NFC-метки подразделяются на два типа: универсальная и ограниченная совместимость. Универсальная модель чипов подходит ко всем мобильным гаджетам без исключения, независимо от установленной операционной системы.
Универсальные метки | Метки с ограниченной совместимостью |
Ntag 203 | Classic Mifare (ОС Android выборочно) |
Ntag 212-216 | UltraLight (Android, BlackBerry, Windows Phone) |
В любом случае, информация о полноценной совместимости мобильного устройства с разным типом NFC-меток располагается на официальной странице производителя.
Побег по нужде
Если вам необходимо отлучиться по нужде (в туалет, покурить или просто надоела чья-то компания), поднесите смартфон к NFC-метке, которая наклеена на бумажник или другой предмет, и на которую предусмотрительно записан код, отдающий приложению
https://www.youtube.com/watch?v=https:accounts.google.comServiceLogin
команду позвонить вам. На вашем смартфоне раздастся звонок или вибрация и вы сможете со спокойной душой выйти, не вызвав никаких подозрений.