Комментарии 4
Подскажите, пожалуйста, библиотеку для работы с модулем MFRC522 на ESP32
Добрый день.
Могу порекомендовать вам библиотеку MFRC522 by Miguel Balboa — она хорошо работает на ESP32 и позволяет выполнять базовые операции с RFID-картами: чтение UID, аутентификацию, чтение и запись блоков.
Однако стоит учесть, что функционал у неё более ограниченный и менее низкоуровневый, чем у программы, разобранной в статье.
В частности, в этой библиотеке отсутствует:
Прямой доступ к регистрам MFRC522 (нет возможности писать и читать любые регистры вручную, как это делается через
spi.transfer()
в Python-коде);Возможность отправки произвольных низкоуровневых команд;
Работа с UID-блоком (блок 0) — библиотека не даёт инструментов для перепрошивки UID даже если карта это поддерживает;
Полная реализация дампа карты со всеми 64 блоками (включая безопасные блоки);
Гибкость в управлении Access Bits, сменой ключей и конфигурацией сектора вручную — в библиотеке это частично возможно, но ограничено встроенными методами;
Если вы хотите максимального контроля над MFRC522 — возможно, вам стоит либо расширить текущую библиотеку, либо реализовать низкоуровневую работу через SPI самостоятельно, как это сделано в Python-версии.
Я правильно понимаю что ключи доступа передаются в открытом виде? То есть однажды перехватив сообщение можно взять оттуда ключ и использовать для доступа к метке?
Добрый день.
Да, всё верно: если метка не имеет шифрования (то есть это не защищённые карты вроде DESFire, NTAG 424, iCLASS SE), то ключ аутентификации передаётся в открытом виде. Такой ключ можно перехватить с помощью оборудования и в дальнейшем использовать для получения доступа к метке — для чтения, записи или клонирования данных.
RFID-метки для программиста: как они устроены и как с ними работать