Что такое RFID
RFID (радиочастотная идентификация) – это метод обеспечения передачи, записи и хранения данных при помощи радиосигналов. Каждая RFID-система включает в себя считыватель/ридер и RFID-метку, в которой хранятся данные. Метки состоят из двух частей – интегральной схемы и антенны. Интегральная схема позволяет хранить и обрабатывать данные, антенна – принимать и передавать информацию.
Все RFID-системы можно разделить по дальности действия:
- Ближней идентификации – расстояние не более 20 см;
- Средней идентификации – расстояние от 20 см до 5 м;
- Дальней идентификации – максимум 300 м.
С точки зрения частот можно выделить:
- Системы, работающие в низкочастотном диапазоне (125 кГц, 134 кГц);
- Работающие в среднечастотном диапазоне (13,56 МГц);
- Работающие в высокочастотном диапазоне (800 МГц – 2, 4 ГГц).
Наиболее популярным диапазоном является среднечастотным – он широко используется в транспортных приложениях и других проектах, где требуется перезаписывание карт.
Преимущества RFID
- Не требуется прямая видимость;
- Практически 100% идентификация сигнала;
- Возможность применения в агрессивной среде;
- Долгий срок службы;
- RFID-метку трудно подделать;
- Возможность хранения и передачи большого объема информации.
Области применения RFID идентификации
RFID-технология часто используется в розничной торговле, библиотеках и архивах, логистике, системах контроля и управления доступом (СКУД), инициализации людей, удостоверении подлинности товаров.
Для идентификации персонала самым популярным форматом являются пластиковые бесконтактные карты и бесконтактные брелки. С их помощью можно регистрировать вход/выход объектов на территории через точки прохода – ворота, КПП. Основной задачей СКУД является управление доступом — например, ограничение в доступе на какую-либо территорию, идентификация лиц, которые могут попадать на территорию. Также могут решаться и дополнительные задачи – контроль рабочего времени для персонала, ведение базы посетителей, работа с системами безопасности, расчет заработной платы.
Сегодня мы более подробно рассмотрим бесконтактные смарт карты Mifare Classic 1K, поскольку данная технология планируется использоваться сотрудниками ФАБЛАБа в своих проектах.
Бесконтактная RFID карта Mifare Classic 1K содержит энергонезависимую память 1 КБайт для хранения информации. Они могут использоваться в финансовых, платежных системах в качестве электронного кошелька. Одним из примеров использование Mifare карт является бесконтактный проездной документ в метро. В этом случае для персонализации смарт -карт служит считыватель с функцией чтения и записи информации.
Структура памяти.
EEPROM память организована в 16 секторов по 4 блока. Каждый блок содержит 16 байт.
Модуль RFID-RC522 выполнен на микросхеме MFRC522 фирмы NXP. Эта микросхема обеспечивает двухстороннюю беспроводную (до 6 см) коммуникацию на частоте 13,56 МГц.
Способы и протоколы подключения
Интерфейс | Скорость передачи |
SPI (Serial Peripheral Interface, последовательный интерфейс для связи периферийных устройств) | до 10 Мбит/сек; |
двухпроводной интерфейс I2C |
до 3400 кбод в режиме High-speed, до 400 кбод в режиме Fast; |
последовательный UART (аналог RS232) | до 1228,8 кбод. |
С помощью данного модуля можно записывать и считывать данные с различных RFID-меток: брелоков от домофонов, пластиковых карточек-пропусков и билетов на метро и наземный транспорт, а также набирающих популярность NFC-меток.
Микросхема MFRC522 имеет достаточно обширную функциональность. Познакомиться со всеми возможностями можно изучив её паспорт (datasheet). Мы же для знакомства с возможностями данного устройства воспользуемся одной из готовых библиотек,( https://github.com/miguelbalboa/rfid/archive/master.zip ) написанных для работы Arduino с RC522. Скачайте её и распакуйте в директорию Arduino IDE\libraries\
После этого запустите среду разработки Arduino IDE.
Теперь давайте откроем скетч из примеров: Файл Образцы MFRC522 DumpInfo и загрузим его в память Arduino.
Данный скетч определяет тип приложенного к считывателю устройства и считывает данные, записанные на RFID-метке или карте, а затем выводит их в последовательный порт.
#include <SPI.h>
#include <MFRC522.h>
const int RST_PIN = 9; // пин RST
const int SS_PIN = 10; // пин SDA (SS)
MFRC522 mfrc522(SS_PIN, RST_PIN); // создаём объект MFRC522
void setup() {
Serial.begin(9600); // инициализация послед. порта
SPI.begin(); // инициализация шины SPI
mfrc522.PCD_Init(); // инициализация считывателя RC522
}
void loop() {
// Ожидание прикладывания новой RFID-метки:
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return; // выход, если не приложена новая карта
}
// Считываем серийный номер:
if ( ! mfrc522.PICC_ReadCardSerial()) {
return; // выход, если невозможно считать сер. номер
}
// Вывод дампа в послед. порт:
mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}
Текст скетча достаточно хорошо прокомментирован.
Запустим монитор последовательного порта сочетанием клавиш Ctrl+Shift+M, через меню Инструменты или кнопкой с изображением лупы. Теперь приложим к считывателю билет метро или любую другую RFID-метку. Монитор последовательного порта покажет данные, записанные на RFID-метку или билет.