В этой статье кратко пробежимся по основным принципам подключения считывателя RFID карт к ГЛОНАСС трекерам. Подобную схему можно использовать не только на мобильных объектах, но и для контроля стационарного оборудования. Про считыватели я писал уже очень давно, навскидку последняя статья была еще про контроль раздачи топлива (установленное тогда оборудование кстати, до сих пор работает), а за это время появилось и новое оборудование и новое программное обеспечение, да и цели использования карт расширились. Так что обзор лишним не будет.
Для чего нужен считыватель
Использование карт требуется в двух основных случаях — идентификация водителя или оператора оборудования в системе мониторинга, или использование её в режиме иммобилайзера (заблокировать оборудование для использования). Соответственно сами считыватели есть двух форм-факторов — с кармашком, в который карта устанавливается на время работы водителя или оператора, и просто «коробочка» к которой карту можно только приложить для того чтобы отметить присутствие.
Идентификация даёт нам или факт смены водителя, или какое-нибудь событие (водитель выгрузил зерно, например).
Технически, считыватель просто выдает номер карты на своём интерфейсе, и это число трекер отправляет в систему мониторинга.
Вот например как идентификатор выглядит в бесплатной системе мониторинга Traccar:
В ней идентификация используется для формирования отчета по событиям (позволяет видеть когда сменился водитель). К сожалению «из коробки» он не показывает текущего водителя, но это можно доработать ручной настройкой через введение дополнительных переменных. Если у вас есть такая задача на действующем сервере — напишите, я помогу запустить.
Чтобы сформировать стандартный параметр driverUniqueID из цифрового входа adc18 я использовал следующую формулу:
Дальнейшая обработка данных со считывателя зависит от используемой системы мониторинга. Вы можете назначить водителей как в Traccar или Wialon и контролировать продолжительность смен, или например, считать выгрузки зерна водителями, как позволяет Агросигнал.
Какие типы карт существуют
Основные карты поддерживаемые считывателями это MIFARE и Em-Marin. Внешне это прямоугольные пластиковые карты белого цвета, в правом нижнем углу которых нанесен номер.
Стандарты различаются частотой работы — Mifare 1K S50 (MF1ICS50) 13,56 МГц, а у Em-Marine 125 КГц. Соответственно считыватель должен иметь антенну нужной частоты. Типы поддерживаемых карт всегда указаны в паспорте устройств. На китайских маркетплейсах можно купить бланки карт без нанесенного номера, это болванки для программирования, если у вас нет оборудования для их прошивки, то такие вам не подойдут.
Считать номер без подключения ГЛОНАСС трекера и RFID считывателя по RS485 можно используя дешевый USB считыватель как на фотографии. Он притворяется клавиатурой и просто печатает номер приложенной карты в любое активное текстовое поле ввода компьютера.
Типы считывателей
Если раньше мы устанавливали считыватели Экзотрон, например ERF-01, то сейчас список производителей существенно расширился. Свои считыватели начали выпускать и ГлонасСофт (УМКа 200) и АДМ (ADM20). Вот, например, список оборудования которое можно подключить с Смартам от Навтелеком:
Последние варианты из списка можно вообще купить для экспериментов за 4-5 тысяч на озоне или китайских маркетплейсах, но во первых это разумеется цена без НДС, во вторых это скорее варианты для СКУД, так как у них нет кармашка. Отечественные устройства немного дороже. Но вообще, если вы конечный заказчик, то рассчитывайте на то, что считыватель обойдется вам в 6-7 тысяч плюсом к остальной стоимости системы.
С Экзотроном я уже работал, а так как мне нравятся некоторые инженерные решения от ГЛОНАССофт, то для написания этой статьи я решил взять попробовать УМКа200.
Какой трекер подойдет
Трекер для работы со считывателем должен, во первых, поддерживать интерфейс считывателя — RS-485. Вот например пример подключения считывателя УМКа200 из документации — https://qr-service.ru/assets/files/200/umka200.pdf.
Это про физическое подключение. Кроме этого трекер должен поддерживать выбранный считыватель программно. Например SMART S-2413 имеет интерфейс RS-485, но работать со считывателями не умеет. А более старые трекеры, могут в принципе уметь работать со считывателями, но не иметь поддержки конкретной модели. В любом случае лучше собрать экспериментальный комплект на стенде, считыватели применяются гораздо реже чем те же датчики уровня топлива, так что с ними не всё просто и прозрачно.
Чтобы получить работающую систему придется собрать некий пазл из комбинации RFID считыватель + ГЛОНАСС трекер + сервер мониторинга, потому что далеко не все возможные комбинации будут работать.
У большинства считывателей указан интерфейс 1-wire, обратите внимание что это иногда «входящий» порт, он нужен для подключения iButton.
Но это касается именно передачи идентификатора карты на сервер, для режима иммобилайзера всё сложнее. Далее я расскажу какие варианты настройки есть у разных производителей.
Контроль карты в трекере (режим иммобилайзер)
Для использования режима иммобилайзера, список разрешенных карт должен храниться в памяти трекера, контролировать этот параметр онлайн (через ответ с сервера) не очень правильно, при любых проблемах со связью агрегат не запустится.
Есть варианты считывателей, например УМКа200, в памяти которых можно настроить список разрешенных карт, но это не очень удобно для управления большим количеством объектов. Судя по документации ГЛОНАСС трекеры УМКа позволяют через себя удаленно управлять списком карт в подключенном считывателе УМКа 200, но у меня не запустился удаленный конфигуратор на тестовом трекере, так что попробовать не смог.
В любом случае, мне как инженеру, кажется более правильным хранить такие настройки на ведущем устройстве, то есть в трекере. Это позволит в случае технических проблем быстро заменить считыватель на другой, не теряя связи с устройством. Кроме того архитектура системы всегда должна позволять возможность прописать или наоборот, заблокировать карту. Даже если «что-то пошло не так», то к трекеру можно подключиться минимум тремя способами — удаленно через Интернет, bluetooth с телефона или ноутбука, и физически проводом по USB.
Продолжаем выбирать трекер. Второй важный момент — удобство редактирования списка карт. В повседневной жизни очень неудобно бегать с ноутбуком по территории предприятия (или ездить по полям в погоне за работающими комбайнами) чтобы прописать новую карту, всё должно делаться удаленно и унифицированно. У меня есть целая полка различных ГЛОНАСС трекеров которые я использую для тестов, так что я просто взял оттуда устройства подходящие по техническим характеристикам и попробовал. В эксперименте участвовали старенькая уже УМКа 302, Смарт S-2435 и Locarus 702x.
У Умки самый удобный, на мой взгляд, удаленный конфигуратор (который как я уже написал в этот раз почему-то не подключился), но удаленная настройка карт производится через отдельный конфигуратор для УМКа200 (который через интернет коннектится к трекеру и через него уже вытаскивает настройки подключенного считывателя ). «На столе» подключение к считывателю предполагается делать через специальный адаптер к RS485. В итоге получилась не очень надежная, на мой взгляд комбинация. Если удаленный конфигуратор, по каким-то причинам, не запустился, то нет возможности настроить считыватель подключенный к трекеру без его физического отключения. Ехать и резать подключенные к RS-485 трекера провода на каком-нибудь погрузчике на морозе, если что-то пойдет не так?
Еще один минус такого подхода — мы будем завязаны на оборудование конкретного вендора. Когда через несколько лет считыватель выйдет из строя (именно «когда», а не «если», железки не вечные) — нам придется искать и покупать такой же, а не «любой считыватель с RS485 интерфейсом» который будет доступен на тот момент.
Локарус традиционно настраивается через сервер, так что закинуть новую конфигурацию проблем не составляет. Но настраивать список карт, если будет большой список, в нём не очень удобно.
Техничней всего дело обстоит у Навтелеком. Они всё предусмотрели и список идентификаторов закидывается просто файликом через конфигуратор. Хочешь локально, хочешь удаленно. Смарт S-2435 и стал финалистом первого этапа соревнований.
Теперь я покажу как выглядит сама настройка трекеров.
Пример настройки трекера УМКа
Для ограничения доступа к оборудованию по картам нам нужен будет считыватель карт (у меня была возможность поэкспериментировать с УМКа200 и реле). Начнем с УМКи, это все таки производитель считывателя, и не попробовать его вместе с «родным» оборудованием было бы невежливо по отношению к ГЛОНАСССОФТ.
Подключаем интерфейс: жёлтый — RS485 (A), зеленый — RS485 (B).
Конфигурируем:
В статусе появится вставленная карта:
На сервере Traccar видим новый параметр:
Считыватель был подключен по протоколу Wialon, соответственно как видите, в случае трекера УМКа параметр называется frid0.
Мы можем получать идентификатор карты, но не можем контролировать список «разрешенных». В этом случае это делается через настройки самого считывателя. Для того чтобы попасть «в мозги» УМКа200 (RFID считыватель) нужно подключить его через специальный преобразователь или подключиться его трекеру удаленно.
Пример настройки трекера Smart
Подключение RFID считывателя и реле — традиционное. Реле как и всегда подключается на общий плюс, а управляемый выход ГЛОНАСС трекера коммутирует «массу». Все выходы подписаны на наклеечке на самом трекере, достаточно лишь правильно вставлять пины в разъем.
Переходим на вкладку RS-485 и перебираем варианты настройки. Вариант с omnicomm не запустился, заработал протокол ADM20.
Я вставил эти скрины, чтобы иллюстрировать мысль из начала статьи о том, что наличие в конфигураторе в списке «считывателя RFID меток» еще ничего не означает! Не торопитесь закупать оборудование вслепую! Нужно чтобы трекер еще и знал сам протокол считывателя.
Переходим в раздел «Список идентификаторов».
Вот те самые кнопки которые упростят работу:
Сохранение файла идентификаторов происходит независимо от сохранения основных настроек.
Если сейчас вставить карту в считыватель и нажать на стрелочку около поля с номером, то там появится номер вставленной карты. Уже видите в чем неудобство? На самой карте номер написан в десятичном формате, а тут отображается в шестнадцатеричном. Если прописывать карты без физического контакта с трекером это лишние действия по переводу из одной системы счисления в другую. С этим конечно поможет инженерный калькулятор, но не очень удобно…
Для того чтобы управлять реле осталось настроить «Выходные линии»:
Всё! Теперь после вставки «доверенной карты» реле включится, а после вытаскивания — выключится. На карты не добавленные в список реле не реагирует.
Осталось настроить передачу на сервер!
Чтобы получить число в пакете данных, его нужно туда «упаковать». Это делается переключением протокола FLEX на третью версию. Параметры ищем в «пользовательских параметрах», и там можно выбрать сколько байт ключа передавать, 4 или 8.
И тут есть неприятный момент, третья версия протокола, не заработала на Traccar. Помните я писал про пазл, который не всегда сходится? А мне было очень интересно настроить карточки в том числе и на этой системе, так что в итоге я экспериментировал через ретранслятор. С проблемой буду разбираться отдельно, если найду причину — дополню статью.
Переходим к настройке на сервере.
Настройка RFID карт водителей на сервере Traccar
Понятно что в коммерческих системах учет карт и идентификация работают замечательно «из коробки». Мне было интересно посмотреть, что сможет в этом случае Traccar.
В траккаре есть раздел с водителями в настройках, где прописывается сочетание «водитель — идентификатор».
Для того чтобы система увидела карту, устройству нужно заполнить вычисляемый атрибут driverUniqueId. В моем случае я делал это формулой, получая значение из цифрового входа от ретранслятора.
Я поэкспериментировал, почитал форумы, и получается что в текущей версии водитель используется только для формирования отчета по событиям (например смена водителя), на карте можно отобразить только плашку где будет показан номер карты, не имя водителя.
Тем не менее это возможно, просто придется добавить еще один вычисляемый атрибут с формулой.
Настройка RFID карт водителей на сервере Локарус
Для примера в Локарусе я тоже делаю список водителей:
И сразу же вижу в параметрах и на карте какой водитель работает:
Настройка RFID на Wialon
Виалон настраивается через пользовательскую учетку, где есть отдельная вкладка «Водители», куда добавляются карточки водителя с указанием идентификатора. После этого активный водитель отобразится на карте.
Подробнее процесс настройки (а он там довольно сложный), можно изучить в инструкции по назначению и снятию водителей на help.wialon.com
Настройка RFID карт на сервере ГЛОНАС Софт
На сервере ГЛОНАСССОФТ (glonasssoft.ru) настраивается чуть проще чем в Wialon, но тем не менее сложнее, чем в одно действие. Тут всё делается через создание специальных «карт меток» и привязку их к учёткам водителей. Инструкцию по настройке можно найти здесь: wiki.glonassoft.ru
А в настройках автомобиля добавляется датчик RFID:
Заключение
Вот в принципе и всё, что я хотел написать в этом кратком обзоре. В этот раз тут нет решения проблем, скорее их перечисление, но есть скриншоты, и вы заранее, не покупая оборудования сможете примерно сориентироваться как производится настройка RFID считывателей в связке с трекерами ГЛОНАСС. Основной посыл — прежде чем покупать оборудование, решите, с каким сервером мониторинга будете работать и обкатайте конкретную комбинацию оборудования на одной-двух машинах, чтобы понять насколько вам будет удобно это всё эксплуатировать.