Интеграция с IT-системой
на примере NODE-RED
на примере NODE-RED
Для интеграции со сторонней информационно-учетной системой любой из RFID-считывателей SAUK предоставляет API. Это открытый протокол, позволяющий привнести функциональность UHF-RFID считывателя и всю "мощь" бесконтактной идентификации UHF RFID-меток, практически в любую IT-подсистему, в том числе 1С, в любую ERP или WMS, даже в SAP.
Наиболее просто один из вариантов интеграции - отправку уведомлений об RFID-метках, можно продемонстрировать на примере node js в программной среде под названием NODE-RED. Простота заключается в визуализации и наглядности, в этой среде программирования есть большое количество так называемых программных модулей-блоков, каждый из которых решает свою задачу, а все вместе реализуют алгоритм. Модули-блоки просты в настройке, а между собой они визуально соединяются связями, символизирующими потоки данных (обмен информацией).
Наиболее просто один из вариантов интеграции - отправку уведомлений об RFID-метках, можно продемонстрировать на примере node js в программной среде под названием NODE-RED. Простота заключается в визуализации и наглядности, в этой среде программирования есть большое количество так называемых программных модулей-блоков, каждый из которых решает свою задачу, а все вместе реализуют алгоритм. Модули-блоки просты в настройке, а между собой они визуально соединяются связями, символизирующими потоки данных (обмен информацией).
Общее описание принципов настройки считывателя и описание алгоритма работы
- Настройка критериев распознавания RFID-меток "свой\чужой". Эти критерии позволяют настроить реакцию системы только на авторизованные метки и исключить ложные чтения случайных меток, которые не имеют отношения к Вашему проекту*.
- В считывателе настраивается система уведомлений. Выбираем формат передачи данных: байтовый или текстовый формат.
- Выбираем канал, по которому данные будут передаваться в Вашу IT-подсистему: UART (RS232, RS485, USB); Socket (Ethernet, Wi-Fi).
- В настройках RFID-считывателя SAUK включается непрерывное сканирование меток (считыватель также может находится в режиме сна, а включение сканирования произойдет только после подачи управляющего сигнала на цифровой вход HOLD*).
- При прохождении проверки "свой\чужой" информация о метке будет отправлена в Вашу IT-подсистему в виде уведомления, формат которого был задан в пунктах 2 и 3.
Пункт 1. Настройка критериев "свой\чужой"
- В графическом пользовательском интерфейсе выдерите группу Идентификация и фильтрация.
- Активируйте один из 4 фильтров и введите значение фильтра - как правило это несколько первых байт EPC-номера RFID-метки, которые одинаковы у всех меток, задействованных в Вашем проекте.
- В примере выбран EPC фильтр №1, задано значение 9013.
- Активируйте возможность чтения данных из памяти TID - этот номер является 100% уникальным и индивидуально характеризует каждую метку. Дубликатов значения TID не существует.
- Задайте пароль, который ранее был записан в каждую из меток, применяемых в Вашем проекте.
- Если пароль на метках не задан или вы не знаете пароль, то это поле должно быть заполнено нулями "00000000"
Пункт 2 и 3. Настраиваем канал и формат передачи данных
- В графическом пользовательском интерфейсе выдерите группу Управление каналами уведомлений. Если эта группа отсутствует, нажмите на кнопку "Режим Эксперт".
- Для отправки уведомлений через сетевые интерфейсы Wi-Fi или Ethernet активируйте пункт Socket.
- Введите IP адрес хоста и порт (это сетевой IP-адрес машины, где будет запущен NODE-RED)
- Выберите формат передачи данных, который Вас устроит, например, Фиксированный формат уведомлений в виде JSON-строк.
Пункт 4. Включение непрерывного сканирования
- Выберите нужный уровень мощности излучения.
- Установите галочку "непрерывное сканирование".
Пункт 5. Инсталляция и запуск NODE-RED
Программная среда NODE-RED является кроссплатформенной и имеет массу вариантов инсталляции и запуска, обусловленных различными платформами. Все нюансы достаточно подробно описаны на официальном сайте nodered.org. Процессы инсталляции и запаска подробно описаны в разделе Getting Started официального сайта.
Пункт 6. Создание простейшей мини-программы (потока). Ловим событие от RFID-считывателя и выводим информацию на экран в окно отладки
- Выберите программный модуль-блок TCP-IN, перетащите его на форму.
- Выберите программный модуль-блок debug, перетащите его на форму.
- нарисуйте связь между TCP-IN и debug.
- в настройках укажите номер порта 8090, тот, что мы задавали при настройке канала уведомлений Socket
- Нажмите на кнопку Deploy (Развернуть)
Пункт 7. Проверка результата
- Убедитесь, что RFID-считыватель включен, также включено непрерывное сканирование.
- Поднесите метку к антенне.
- В NODE-RED в программной вкладке Debug (Отладка) появится уведомление от RFID-считывателя, запакованное в тот формат, который мы выбрали при настройке считывателя. В частности - строка JSON.
Данные пришли в виде строки JSON. В строке содержится вся необходимая для идентификации метки информация:
{
"SN":"982E10",
"RTC":"1725559219.692",
"ANT":1,
"EPC":"901373457A7D000000001001",
"EPCLEN":12,
"RSSI":-58,
"BANK":2,
"DATA":"E28038212000602302A2E8CB",
"DATALEN":12
}
{
"SN":"982E10",
"RTC":"1725559219.692",
"ANT":1,
"EPC":"901373457A7D000000001001",
"EPCLEN":12,
"RSSI":-58,
"BANK":2,
"DATA":"E28038212000602302A2E8CB",
"DATALEN":12
}
Пункт 8. Расширение функциональности
- NODE-RED имеет тысячи модулей-блоков и обширную базу по потокам (мини-программам), которые написали другие программисты и выложили в открытый доступ для общего пользования.
- Также вы можете пользоваться возможностями модулей-блоков Function, где можно создавать программные вставки Javascript.
- Существуют модули-блоки для реализации баз данных, имеется множество элементов графического пользовательского интерфейса: чекбоксы, кнопки, списки, таблицы и прочее.
- Программный код модуля function 1
var epc = msg.payload.EPC;
return {payload: epc};
На вход поступает структура, msg.payload, которая имеет поле EPC (важно соблюдать регистр написания букв) - Примените изменения, произведенные в коде блока function.
- Нажмите на кнопку Deploy (Развернуть)
Пункт 9. Добавляем графический интерфейс пользователя
- Выберите программный модуль-блок function, перетащите его на форму.
- Выберите программный модуль-блок json**, перетащите его на форму.
- Выберите программный модуль-блок text*, перетащите его на форму (предварительно в палитре компонентов нужно установить добавление под названием node-red-dashboard).
- нарисуйте связь TCP-IN + json + finction 1+ text.
- Нажмите на кнопку Deploy (Развернуть)
* модуль-блок JSON производит преобразование текста в объект типа структура и позволяет обращаться к каждому элементу JSON строки в отдельности. Иллюстрация результата представлена на картинке ниже.
** элемент графического пользовательского интерфейса text потребует настройки отображения. Это достаточно простая процедура - нужно зайти в свойства этого модуля-блока, далее создать группу, вкладку - это элементы web-интерфейса, сформированные на странице, в которых будут располагаться модуль text и все последующие элементы GUI: кнопки, чекбоксы и прочее.
** элемент графического пользовательского интерфейса text потребует настройки отображения. Это достаточно простая процедура - нужно зайти в свойства этого модуля-блока, далее создать группу, вкладку - это элементы web-интерфейса, сформированные на странице, в которых будут располагаться модуль text и все последующие элементы GUI: кнопки, чекбоксы и прочее.
Пункт 10. Запускаем WEB-интерфейс GUI
- Переходим в настройки рабочего стола Dashboard
- Видим, что есть группы и вкладки (Tabs & Links), которые мы создали в настройках модуля-блока text
- Переходим в WEB-интерфейс (клик по символу прямоугольник со скруглёнными углами со стрелочкой).
- Также для перехода к WEB-интерфейсу в командной строке браузера можно ввести адрес http://127.0.0.1:1880/ui
Пункт 11. Наблюдаем за результатом в только что созданном WEB-интерфейсе
- После перехода в WEB-интерфейс поднесите к RFID-считывателю метку.
- Если вы все сделали правильно, то прочитанное значение EPC будет отображено в WEB-интерфейсе.
- Поздравляем! Вы сделали один из своих первых облачных сервисов с применением RFID-считывателя SAUK.
SAUK© 2020 – 2024. Все тексты и изображения, представленные на сайте, являются интеллектуальной собственностью SAUK. Могут быть использованы только по письменному согласию SAUK. SAUK® является зарегистрированным торговым знаком.