Веб-интерфейс управления роботами
Веб-интерфейс
Оглавление
- Введение: что такое ARTEX framework
- Интерфейс пользователя: единая точка управления
ОнA. делаетОбщий что-тосписок тамподключений
B. Управление устройством Robot
C. Управление устройством LED
D. Управление устройством Drone
- Внутренняя архитектура: модули и потоки данных
- Заключение: открытая экосистема
1. Введение: что такое ARTEX framework
ARTEX framework - это программная платформа для удалённого управления, мониторинга и интеграции разнородных устройств: простые светодиодные лампы, роботы и дроны. Она предоставляет единый веб-интерфейс, через который оператор может видеть состояние всех подключённых устройств, отдавать им команды и получать телеметрию в реальном времени.
Платформа построена по модульному принципу, что позволяет легко добавлять новые типы устройств и обрабатывающие алгоритмы. ARTEX ориентирована как на конечных пользователей, так и на разработчиков: первые получают готовый пульт управления, вторые - инструментарий для создания собственных модулей и интеграции нестандартного оборудования.
2. Интерфейс пользователя
A. Общий список подключений
После перехода по ссылке пользователь попадает на страницу «Подключения».
Здесь отображается сводная информация обо всех активных устройствах, которые в данный момент доступны платформе.
Элементы интерфейса:
- Сводка подключений – пиктограммы с названиями типов устройств (Robot, LED, Drone). Позволяют быстро оценить, какое оборудование находится в сети.
- Таблица подключений – детальная информация по каждому экземпляру:
1. SID - уникальный идентификатор устройства.
2. Имя - пользовательское имя.
3. Tun - техническое имя.
4. BTK - индикаторы статуса.
5. Безопасность - поле для будущих настроек прав доступа.
Подключения – список подключенных устройств. Клик по любому элементу столбца открывает индивидуальную страницу управления выбранным устройством.
B. Управление устройством Robot
При нажатии на элемент Robot открывается интерфейс управления роботом.
Блок «Клиент» содержит уникальный идентификатор устройства.
Панель управления включает:
- «Стоп» - экстренная остановка двигателей.
- «DISARM» - полное обесточивание силовых цепей.
- Поле ввода команд ????????????
Телеметрия в формате JSON отображает показания датчиков в реальном времени. Это означает, что устройство имеет температурный датчик, передающий два значения. Формат JSON универсален и позволяет легко добавлять новые датчики без изменения интерфейса.
C. Управление устройством LED
Блок «Клиент» также содержит уникальный идентификатор устройства.
Панель управления позволяет выбирать цвет из предложенных, а также вводить собственный.
- Поле ввода цвета в формате #RRGGBB и кнопка «OK» для смены цвета.
- Ползунок «Яркость» с регулировкой от 0 до 100%.
Телеметрия в формате JSON отображает показания датчиков.
D. Управление устройством Drone
Блок «Клиент» также содержит уникальный идентификатор устройства.
Панель управления включает:
- «Стоп» – экстренная остановка двигателей (зависание или прекращение движения).
- «DISARM» – полное обесточивание силовых цепей (безопасный режим после посадки).
- Поле ввода произвольной команды и кнопка «Отправить».
Телеметрия в формате JSON отображает показания датчиков в реальном времени.
3. Внутренняя архитектура: модули и потоки данных
За простым пользовательским интерфейсом скрывается гибкая модульная система. Она позволяет разработчикам конструировать логику обработки данных, соединяя готовые функциональные блоки-модули в визуальном редакторе.
Визуальный редактор модулей
Это инструмент, который позволяет соединять функциональные блоки (модули) для создания логики обработки данных. Каждый модуль отвечает за конкретную задачу и имеет входы и выходы. Пользователь перетаскивает модули на рабочее поле и связывает их порты, формируя конвейеры данных.
Модуль 1: ClientIOModule
Назначение: обеспечивает связь с пользовательским интерфейсом. Этот модуль принимает данные от других модулей и передаёт их на интерфейс для отображения оператору.
Порты:
- robot.connected – входной сигнал о подключении робота (выводит уведомление в интерфейс).
- robot.disconnected – входной сигнал об отключении робота.
- robot.telemetry – вход для телеметрических данных (отображаются в блоке «Телеметрия»).
- robot.video – вход для видеопотока (показывает видео в интерфейсе).
Типичное использование: соединяется с выходами RobotWSModule или RobotsModule, чтобы передавать полученные от устройств данные на экран оператора.
Модуль 2: ConsoleLogModule
Назначение: служебный модуль для вывода отладочной информации в консоль браузера или сервера. Полезен при разработке и отладке цепочек модулей.
Порты: отсутствуют. Модуль просто логирует все проходящие через него данные, если подключить его к выходам других модулей? Судя по отсутствию портов, он, вероятно, подключается как «наблюдатель» или имеет неявные входы. Требуется уточнение у разработчика.
Типичное использование: размещается на схеме для отладки – позволяет видеть в консоли, какие данные передаются между модулями.
Модуль 3: RobotWSModule
Назначение: отвечает за взаимодействие с реальными роботами, дронами или другими устройствами через протокол WebSocket (обеспечивает двустороннюю связь в реальном времени).
Порты:
- robot.command – выход для отправки команд устройству (команды поступают из интерфейса или других модулей).
- robot.telemetry – вход для приёма телеметрии от устройства (далее может передаваться в ClientIOModule).
- robot.video – вход для приёма видеопотока от устройства.
- robot.connected – выходной сигнал, генерируемый при подключении устройства.
- robot.disconnected – выходной сигнал при отключении.
Типичное использование: является мостом между физическим устройством и платформой. Получает данные от робота и передаёт их в другие модули (например, ClientIO для отображения, Yolo для обработки). Также принимает команды из интерфейса и отправляет их роботу.
Модуль 4: RobotsModule
Назначение: предположительно управляет списком всех подключённых роботов или агрегирует данные от нескольких устройств. По набору портов идентичен RobotWSModule, но может выполнять более высокоуровневые функции, например, объединение потоков от нескольких роботов или ведение реестра подключений.
Порты: (аналогично RobotWSModule)
- robot.command – выход для команд.
- robot.telemetry – вход для телеметрии.
- robot.video – вход для видео.
- robot.connected – выходной сигнал подключения.
- robot.disconnected – выходной сигнал отключения.
Типичное использование: если в системе несколько роботов, этот модуль может собирать данные от всех экземпляров RobotWSModule и предоставлять единый интерфейс для дальнейшей обработки. Точное назначение требует уточнения у разработчика.
Модуль 5: YoloModule
Назначение: модуль компьютерного зрения на базе нейросети YOLO (You Only Look Once). Выполняет детекцию объектов на видеопотоке в реальном времени.
Порты:
- robot.video – вход для видеопотока (подключается к выходу robot.video любого модуля, например RobotWSModule).
- yolo.detect – выход с результатами детекции (обыкоординаты объектов, классы, уверенность). Эти данные могут быть переданы в ClientIOModule для отображения поверх видео или сохранены.
Типичное использование: соединяется с источником видеопотока (RobotWSModule или RobotsModule) и передаёт результаты детекции в интерфейс или в другой модуль для дальнейшего анализа.
5. Заключение
ARTEX framework - это система, объединяющая устройства, интерфейсы и алгоритмы. Благодаря модульной архитектуре она легко адаптируется под любые задачи: от умного дома до промышленной робототехники. Возможность создавать собственные модули и подключать любые устройства делает ARTEX универсальным решением, готовым к развитию вместе с потребностями своих пользователей.





