Создание системы ограничения доступа в программе FLProg с применением RFID-RC522
Добрый день. Я — разработчик программы FLProg, и сегодня я расскажу Вам как с помощью программы FLProg создать устройство контроля доступа с применением сканера бесконтактных меток RFID RC522. Поскольку данный пост — обучающий, то рассматриваться будет не законченное изделие, а только тестовый макет.
Рассмотрим данный сканер бесконтактных меток RFID RC522.
Сканер бесконтактных меток RFID-RC522 без меток позволяет обнаружить и считать идентификаторы бесконтактных карт, меток, пропусков стандарта 13,56 МГц на расстоянии до 10 см. Благодаря данному сканеру можно сделать ряд интересных проектов: пропускные системы, электронные замки, складской учету и много другое.
Параметр | Значение |
---|---|
Потребляемый ток в активном состоянии | 13–26mA/DC 3.3V |
Потребляемый ток в состоянии ожидания | 10–13mA/DC 3.3V |
Ток в режиме сна | <80uA |
Рабочая частота | 13.56MHz |
Поддержвиаемые типы карт | MIFARE S50, MIFARE S70, MIFARE UltraLight, MIFARE Pro, MIFARE DESfire |
Размер | 40mm х 60mm |
Температура, при которой работает модуль | -20 до +80 С |
Относительная влажность воздуха | от 5% до 95% |
Базовый принцип действия довольно прост для понимания. В карточке и в считывателе есть антенны, при этом сигнал считывающего устройства (суть электромагнитное поле) одновременно служит источником питания для карточки. Т.е. и в части энергетики, и в части передачи данных это очень похоже на ставшие сверхпопулярными беспроводные зарядки.
Сами же карточки, в зависимости от модификации, могут нести в себе от нескольких десятков байт до нескольких килобайт данных (в том числе — уникальный серийный номер). Также, в зависимости от модификации, карточка может быть укомплектована криптографической защитой информации.
В Китае подобные сканеры стоят от 200 рублей в комплекте с картой и брелком. Это очень привлекательно. Но всё-таки при заказе данного сканера советую брать, как говорится «с запасом». В моём случае из трёх имеющихся у меня сканеров, купленных в разное время у разных продавцов, нормально заработал только один. Второй видел карту, только поднесённую точно на определённое расстояние. Ближе или дальше — он её терял. Ну и третий вообще не видел поднесённых карт, хотя на запросы и тестирование по SPI отвечал нормально.
В программе FLProg реализовано два вида функциональных блоков для работы со сканером.
Блоки непосредственно связанные со сканером
- «Наличие новой карты»
- «Информация о карте»
- «Чтения бока данных на карту»
- «Запись блока данных на карту»
Блоки, связанные со сканером косвенно и предназначенные для работы с хранилищем UUID карт.
В программе реализовано хранилище UUID карт, представляющее собой набор ячеек каждая из которых хранит непосредственно UUID карты, и статус ячейки. Три статуса зарезервировано программой.
0×00 — ячейка свободна
0×01 — в ячейке хранится UUID, но она заблокирована.
0×02 — в ячейке хранится UUID и она активна
Остальные коды статуса (3… 255) пользователь может использовать по своему усмотрению.
Хранилище может располагаться в оперативной памяти контроллера (при снятии питания или перезагрузке оно очистится), или в EEPROM. Хранилищ может быть несколько, и они могут быть разных типов. При расположении хранилища в EEPROM размеры его ограниченны. Для Arduino Uno –это максимум 85 ячеек (во всех хранилищах EEPROM в сумме), для Arduino Mega — 341 ячейка.
Блоки для работы с хранилищем
- «Сохранить UUID карты в хранилище»
- «Прочитать UUID карты из хранилища»
- «Статус ячейки в хранилище»
- «Записать статус ячейки в хранилище»
- «Блокировка/разблокировка ячейки»
- «Поиск UUID в хранилище»
- «Свободные ячейки хранилища»
- «Очистка ячейки в хранилище»
- «Очистка всего хранилища»
Разберём ТЗ для задуманного устройства.
В устройстве будут два хранилища расположенных EEPROM. В первом хранятся так называемые Master Card. С помощью них можно записывать обычные карты во второе хранилище. Для записи Master Card существует «Секретная кнопка». Так же есть дисплей для отображения необходимой информации, и обычная управляющая кнопка.
Схема устройства.
Видео урок с описанием результата разработки
Проект созданный на уроке в программе FLProg .
Карты и брелки используемые вместе со сканером имеют «на борту» 1 кБ памяти которые можно использовать в собственных целях. Давайте расширим ТЗ и будем записывать, какую либо информацию. Для этого соберём еще одно устройство.
Так же доработаем проект созданный в предыдущем видео уроке.
Проект устройства записи в программе FLProg.
Доработанный проект из первого видео урока.
До свидания, надеюсь Вам было интересно.