Подключение считывателя беспроводных радиометок RFID-RC522 к Arduino

Что такое 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-метку или билет.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *