RFID RC522 на ESP8266

Опубликовано bondrogeen

Как-то давно заказал RFID модули RC522, модули пришли и были отложены в ящик, а на днях попались на глаза, решил «поиграться» и написать плагин. Изначально планировал использовать только как считыватель карт и передавать ее 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, длительность срабатывания реле и переназначить некоторые порты.

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

Обновление блока 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, что приведет к  его срабатыванию.

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

Рубрики: DoTУмный дом

Отправить ответ

avatar

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Subscribe  
Notify of