Перейти к содержанию
RFID-считыватель с Ethernet: передача номера карты по HTTP и MQTT Перейти к товару

RFID-считыватель с Ethernet: передача номера карты по HTTP и MQTT

Как получить UID от ODNFC-LAN на сервере: HTTP-запрос, опрос считывателя или MQTT. Форматы стартовых шаблонов и ограничения доставки событий.

ODNFC-LAN может передавать прочитанную карту сразу в вашу сетевую программу. Способ обмена задаёт Lua-приложение в считывателе. При заказе можно выбрать стартовый шаблон, затем настроить адрес получателя и проверить обработку событий на своём сервере.

Какой способ обмена выбрать

ЗадачаСтартовый вариантЧто учесть
Сервер должен сразу ответить, разрешён ли проходHTTP-считывательОтвет управляет выходом замка, а не только отправляет журнал
Сервер сам периодически забирает последний номерОпрос по HTTPШаблон хранит один UID, а не очередь всех касаний
Несколько программ получают события через брокерMQTTНужно настроить брокер, подписчиков и правила обработки потерь

Эти примеры показывают обмен, но не включают готовую базу сотрудников, расчёт рабочего времени или гарантированную доставку полного журнала.

HTTP: считыватель обращается к серверу

В шаблоне HTTP-считывателя параметр net_dest содержит полный адрес обработчика, например http://192.168.1.10:5000/check. Это пример адреса для локального стенда; замените его адресом своей системы.

При чтении карты программа выполняет GET-запрос с параметром uid. Код ответа 200 вызывает импульс управления замком, другой результат — отказ. До подключения нагрузки проверьте назначение вывода и активный уровень на своей ревизии устройства.

Если задача — только собирать номера, измените обработчик результата и уберите управление замком из прикладной программы. Если задача — управлять доступом, сервер должен возвращать разрешение только после проверки прав. Страница, которая отвечает 200 на любой запрос, не годится как проверка пропуска.

HTTP: сервер опрашивает считыватель

Второй шаблон хранит последний UID. Сервер читает его по пути /backend?action=get на адресе устройства. После выдачи значение очищается.

Если между двумя опросами прочитаны разные карты, новое значение заменяет предыдущее. Такой вариант подходит для проверки обмена или сценария с управляемой последовательностью действий. Для регистрации каждого касания нужны очередь событий, номера записей и подтверждение их получения.

MQTT: публикация через брокер

В MQTT-шаблоне укажите в net_dest адрес и порт своего брокера. Программа публикует UID как строку в тему /odnfc/uid. Клиентский идентификатор формируется с использованием MAC-адреса устройства.

Исходный пример использует QoS 0, не сохраняет сообщение как retained и не задаёт учётные данные брокера. В нём также нет постоянного журнала для досылки пропущенных касаний. Если эти функции нужны, добавьте и проверьте их в прикладной программе и настройках сервера.

Для нескольких точек согласуйте, как получатель узнает источник события: например, выделите тему для каждого считывателя или добавьте его идентификатор в сообщение. Одна общая тема с одним UID не содержит сведений о двери.

Проверка первого комплекта

  1. Подключите считыватель по руководству ODNFC-LAN и проверьте чтение ваших карт.
  2. Настройте IP-связность, адрес назначения и принимающий обработчик или подписчика. Сначала наблюдайте события без подключённого замка.
  3. Сравните формат UID с базой: порядок байтов, регистр и ведущие нули.
  4. Проверьте два быстрых касания, повтор одной карты и перезапуск получателя.
  5. Отключите сервер или брокер и убедитесь, что поведение соответствует проекту. Отдельно проверьте восстановление после возврата связи.

Доступ к устройству и брокеру, учётные данные и защищённый транспорт нужно настроить под сеть объекта. Демонстрационный обмен без аутентификации не подходит как готовая схема доступа через интернет.

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