RFID RC522 на ESP8266

Как-то давно заказал RFID модули RC522, а на днях попались на глаза, решил "поиграться" и написать плагин для DoT. Изначально планировал использовать только как считыватель карт и передавать ID на сервер УД, но в процессе написания плагина решил сделать более полноценное устройство с возможностью работы в автономном режиме.

Данный модуль может быть использован для автоматической идентификации, контроля доступа, робототехники, платежных систем и т.д. Он построен на специализированной микросхеме MFRC522 от NXP Semiconductors. В комплекте идут две метки, одна в виде брелка, другая в виде карты. Несмотря на то, что у данной микросхеме есть несколько интерфейсов для работы с ней i2c, spi и uart. Именно заказанный мной модуль работает в режиме spi, без возможности выбора других интерфейсов. Это обусловлено разводкой платы, хотя "киты" могли бы предусмотреть такую возможность. Также на али можно встретить в продаже модули и с i2c интерфейсом.

Характеристики:

  • Напряжение питания: 3.3V;
  • Потребляемый ток :13-26mA
  • В ждущем режиме: 10-13mА
  • В спящем режиме: менее 80 мкА
  • Рабочая частота: 13.56MHz
  • Дальность считывания: 0 ~ 60 мм (в реале 0 до 30мм)
  • Интерфейс: SPI, максимальная скорость передачи 10Мbit/с
  • Размер: 40мм х 60мм

Схема

Так как собирал данное устройство в целях ознакомления, поэтому использовал готовые модули и собрал все на макетной плате.

Схема

ПО

Программная часть сделана на основе DoT в виде плагина, об этом читаем тут. Настройка модуля, а также добавление или удаление меток, осуществляется через веб-интерфейс. В настройках плагина можно задать частоту опроса RC522, длительность срабатывания реле и переназначить некоторые порты.

Веб интерфейс 1

Добавление и удаление ключей (меток) происходит в автоматическом режиме. Чтобы добавить метку, нужно в веб интерфейсе нажать на add, модуль перейдет в режим чтения меток. Далее подносим метку к RC522, в случае успешной записи ее ID подаст звуковой сигнал и через некоторое время в окне keys появится ID добавленной метки. По такому же принципу происходит и удаления меток, только для этого нужно перевести Mode в положение del или нажать на крестик в углу ID метки в окне keys, если знаете ID метки. Для перевода в нормальный режим работы, нужно вернуть переключатель в положение auth или перезагрузить устройство.

Веб интерфейс 2

Обновление блока keys с ID метками, происходит автоматически раз 10 сек или можно обновить вручную нажав на кнопку Refresh. Для того чтобы управлять состоянием реле достаточно кликнуть по кнопке OPEN, что приведет к  его срабатыванию на заданное в настройках времени.

MQTT

Устройство работает автономно, но и имеет возможность интеграции с сервером по средствам протокола MQTT, для этого необходимо установить плагин MQTT.

При появлении метки, в топик DOT-XXXXXX/info/RC522/card будет отправлен ее ID, а в топик DOT-XXXXXX/info/RC522/access состояние. Если метка была добавлена в память устройства придет значение true, а если нет, то соответственно false. Для управлением реле необходимо на топик DoT-XXXXXX/comm/RC522_dev/relay отправить true, что приведет к  его срабатыванию.

Screen

Единственное нужно иметь ввиду, что при одновременном использовании web-интерфейса и работающем плагином MQTT могут возникнуть проблемы с нехваткой памяти, в результате возникнет ошибка и ESP будет перезагружена.

NodeMCU Smart Home ESP8266
(0.0) / 0
Прежде чем оставить комментарий, пожалуйста, ознакомьтесь с правилами комментирования. Оставляя комментарий, вы подтверждаете ваше согласие с данными правилами и осознаете возможную ответственность за их нарушение. Все комментарии премодерируются.
0