Перейти к содержанию
Автономный ODNFC: синхронизация по сети и перенос данных картой Выбрать устройство

Автономный ODNFC: синхронизация по сети и перенос данных картой

Как собирать RFID/NFC-события без постоянной сети: мобильный считыватель на транспорте, стационарные точки, отложенная синхронизация и перенос компактных данных служебной картой.

Не на каждом маршруте, складе или временном объекте есть стабильная сеть. Но для учёта RFID/NFC-меток она не всегда нужна постоянно. Программируемый считыватель ODNFC может принимать решения и сохранять события локально, пока у него есть питание. Связь понадобится позже — чтобы забрать журнал, обновить справочники или передать итоговые метрики.

В схеме с «курьером данных» считыватель работает автономно, а данные периодически попадают в центральную систему вместе с транспортом, сотрудником, сетевым подключением или специальной служебной картой. Это не готовый режим ODNFC: хранение, подтверждение и синхронизацию реализуют в пользовательской программе на Lua или MicroPython.

Схема автономного сбора и последующей передачи данных ODNFC

Что хранит автономный считыватель

Пользовательская программа на Lua или MicroPython определяет, какие события нужно запоминать. Например:

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

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

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

Сценарий 1. Считыватель едет вместе с транспортом

ODNFC устанавливается в автомобиле, автобусе, вагоне, контейнере или мобильном комплекте сотрудника. Во время рейса устройство имеет питание, но не обязано иметь интернет.

Учёт погрузки и выгрузки

Перед отправкой сотрудник подносит метки груза к считывателю. ODNFC сравнивает их с локальным заданием на рейс и сразу показывает результат:

  • зелёный сигнал — позиция ожидается и принята;
  • другой цвет или звук — метка уже была считана;
  • сигнал ошибки — предмет не относится к этому рейсу;
  • отдельный сценарий — метка есть в списке, но должна быть загружена позже.

Во время выгрузки тот же считыватель отмечает смену статуса. На базе журнал передаётся в учётную систему, а устройство получает следующее задание.

Проверка имущества в транспорте

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

Учёт пассажиров или сотрудников

Бейдж используется для посадки, выхода или подтверждения посещения точки маршрута. Локальная база позволяет проверять разрешения и фильтровать повторные касания без запроса к серверу при каждой операции.

Сценарий 2. Считыватель стационарный, а транспорт приезжает к нему

ODNFC остаётся на удалённой площадке: у ворот, контейнера, склада, станции, пункта выдачи или технологического объекта. Он постоянно питается и собирает события, даже если сетевого канала нет.

Транспорт, объекты или сотрудники отмечаются метками. Устройство может:

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

Когда приезжает машина обслуживания или курьер, накопленные данные забираются одним из способов: точка подключается к сети, журнал скачивается локально либо его компактная часть записывается на переносную служебную карту.

Как доставить данные на базу

Wi-Fi в депо или на контрольной точке

На маршруте устройство работает автономно. Когда транспорт возвращается в зону известной Wi-Fi-сети, ODNFC подключается и отправляет очередь событий на сервер. После подтверждения сервером переданные записи можно удалить из локального журнала.

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

Локальная сеть без интернета

Для синхронизации не обязательно облако. Ноутбук или мини-сервер курьера может поднять локальную Wi-Fi-сеть прямо рядом со считывателем, принять данные и позже передать их в центральную систему.

Служебная карта как физический носитель

Совместимую перезаписываемую карту MIFARE/NTAG можно использовать как маленький «конверт» с данными. Курьер подносит её к стационарному считывателю, устройство проверяет служебный идентификатор и записывает подготовленный пакет.

На карту удобно помещать:

  • итоговые счётчики за смену;
  • количество появлений заранее известных меток;
  • время последнего визита каждой контролируемой метки;
  • состояние точки, номер пакета и контрольную сумму;
  • небольшую очередь наиболее важных событий.

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

После доставки служебная карта считывается на базе. Система проверяет номер пакета, не принимает его повторно и сохраняет подтверждение. При следующем посещении курьер может записать подтверждение обратно, чтобы удалённая точка безопасно освободила переданные записи.

Два направления обмена

«Курьер» может не только забирать данные, но и привозить настройки:

  • новый список разрешённых или ожидаемых меток;
  • номер смены и маршрут;
  • лимиты и контрольные значения;
  • обновлённые статусы объектов;
  • команды на очистку подтверждённого журнала;
  • дату и время, если точка долго работала изолированно.

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

Почему обычного считывателя недостаточно

Обычный RFID-считыватель обычно выдаёт UID наружу. Без компьютера, ПЛК или сетевого контроллера он не умеет вести журнал, считать повторные посещения, сравнивать метки с заданием и управлять очередью синхронизации.

В ODNFC эта логика выполняется на самом устройстве. Считыватель может:

  • работать по локальному списку без сети;
  • хранить события и агрегаты;
  • читать и записывать поддерживаемые MIFARE/NTAG;
  • подтверждать операцию светом и звуком;
  • управлять дискретным выходом;
  • передавать данные по Ethernet или Wi-Fi в зависимости от исполнения;
  • использовать HTTP, MQTT или TCP/UDP в пользовательской программе;
  • повторять отправку до подтверждения сервером, если это предусмотрено программой.

Что предусмотреть в проекте

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

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

Для проводной синхронизации обычно используют ODNFC-LAN с Lua, для беспроводной — исполнение с Wi-Fi. Объём журнала, структуру пакетов и порядок подтверждения определяют до разработки пользовательской программы.