Galileosky 7.0 + Neomatica ADM20/21. История одной интеграции.
Опубликовано: 12.07.2019, Автор : LocMe.ru

Инициатива этой интеграции исходила от компании Неоматика, которая производит универсальный считыватель RFID меток ADM20 и радиочастотные метки ADM21, работающие на частоте 868 МГц. О RFID-системе от Неоматики мы уже писали в статье Использование RFID-меток в сельскохозяйственном производстве.

RFID считыватель ADM20
RFID считыватель ADM20

У ADM20 есть неоспоримое преимущество — этот считыватель может работать с разными типами меток одновременно. Он поддерживает стандартные EM Marine карты 125 кГц и 13,56 мГц и периодические метки дальней идентификации ADM21, которые работают на расстоянии до 100 метров и имеют сетевые настройки.

Получаем от компании Неоматика тестовые образцы и протокол ADM20, собираем стенд с терминалом Galileosky 7.0 и приступаем к работе. Наша задача сделать так, чтобы навигационный терминал и считыватель могли работать и обмениваться информацией через порт RS-485, а полученные терминалом Galileosky 7.0 данные успешно передавались на сервер мониторинга Wialon Hosting.

В первую очередь интегрируем радиометки ADM21. И если бы считыватель работал только с одной меткой ADM21 одновременно, наверное, никаких вопросов у нас бы не возникло. Однако в поле зрения считывателя в один момент времени может находиться практически любое количество этих меток. Значит, нам надо программно их как-то сортировать. Решили заносить в таблицу метки, исходя из уровня принимаемого сигнала.

RFID-метка ADM21
RFID-метка ADM21

Метки ADM21 у нас записываются в пользовательские теги от 0 до 6. Метка с наибольшим уровнем сигнала всегда будет иметь самый меньший номер. Если их будет несколько, они «выстроятся» в порядке убывания уровня сигнала.

Последний пользовательский тег в протоколе Галилеоскай мы отвели под метки ближней идентификации, работающие на частоте 125 кГц.

Все бы прошло гладко, если бы не метки 13,56 мГц.  Идентификаторы этих меток имеют длину 10 Байт, что никак нельзя уместить в пользовательские теги протокола Galileosky, имеющие размер 4 Байта. Трудности нас никогда не останавливали: под идентификаторы меток 13,56 мГц используем пользовательский массив (UserArray). В него можно упаковать любое количество данных.

Добавляем в скрипты разбор RFID меток 13,56 мГц и упаковываем идентификатор в пользовательский массив. Полученные данные успешно отправляем на сервер Wialon Hosting. В диагностике навигационного терминала Galileosky 7.0 видим интересующий нас пакет. На сервере Wialon Hosting данных нет.

Навигационный терминал Galileosky 7.0
Навигационный терминал Galileosky 7.0

После непродолжительной переписки с техническими поддержками компаний Galileosky и Gurtam выясняем буквально следующее: пользовательский массив данных от Галилеоскай разбирается и отображается только в том случае, если специалисты Гуртам интегрировали конкретный протокол внешнего устройства. Пользовательский массив должен иметь отличительный постоянный заголовок, по которому сервер Wialon Hosting мог бы идентифицировать пакет и применить парсинг конкретного протокола.  Еще одно письмо в HW Gurtam, и нам выделен постоянный уникальный заголовок, который мы успешно интегрировали в наши скрипты для отправки на сервер в протоколе Galileosky. Проверяем отработку на тестовом сервере, и вот наша интеграция ADM20 добавлена на Wialon Hosting. Идентификатор RFID меток 13,56 записывается на сервере Wialon Hosting в текстовый параметр adm_rfid.

Дело сделано!


Интеграция выполнена с помощью технологии Easy Logic компании Galileosky. Алгоритм реализован посредством встроенного скриптового языка.


По вопросам использования алгоритмов и скриптов обращайтесь по телефону или через контактную форму на сайте.