ELECTRONICS

RFID для Arduino: считыватель RC522, метки 13,56 МГц и модуль PN532

RFID — это метка без батарейки и считыватель, который её питает через радиополе на расстоянии нескольких сантиметров. Так работают пропуска в офис, карты метро и ключи от домофона. С Arduino это превращается в замок, учёт посещений или сортировку предметов по меткам.

Главное, что надо знать до покупки: частота. Считыватель на 13,56 МГц не увидит метку на 125 кГц, и наоборот. Дешёвый и популярный RC522 работает на 13,56 МГц — это карты Mifare, проездные и большинство брелоков из наборов.

Разборы конкретных моделей

Какой модуль брать

RC522

Считыватель на 13,56 МГц по SPI, в комплекте карта и брелок. Читает UID любой метки Mifare, умеет писать в её память. Дальность 2–4 см. Стандарт для замков и учебных проектов.

PN532

Тоже 13,56 МГц, но с NFC: читает не только метки, но и телефон, умеет эмулировать метку сам. Интерфейсы I2C, SPI и UART на выбор. Дороже RC522 втрое, берут, когда нужен именно телефон вместо карты.

RDM6300

Считыватель на 125 кГц по UART. Только чтение номера, никакой записи. Нужен, если у вас метки старого стандарта EM4100 — толстые брелоки от подъездных домофонов.

Как устроен замок на RFID

У каждой метки есть уникальный номер UID из четырёх или семи байт. Скетч читает его и сравнивает со списком разрешённых — если совпало, щёлкает реле с защёлкой. Копировать UID для настоящей безопасности недостаточно: он передаётся открыто и клонируется дешёвым устройством, поэтому для серьёзной защиты используют шифрованные секторы памяти метки.

Считыватель читает метку постоянно, пока она в поле. Чтобы одна карта не срабатывала десять раз подряд, после успешного чтения библиотека переводит метку в спящий режим до тех пор, пока её не уберут и не поднесут снова.