Приложение mbApp

mbApp — десктопное приложение для обнаружения, настройки и управления устройствами moduleBox. Написано на Flutter/Dart, работает на Windows и Linux.

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

Способы подключения

mbApp поддерживает два способа подключения к устройствам:

USB (Serial)

Устройство подключается к компьютеру кабелем USB. Приложение сканирует доступные COM-порты (Windows) или /dev/ttyUSB* (Linux) и определяет подключённое устройство moduleBox. Конфигурационный файл config.ini читается со съёмного диска, который появляется при подключении.

Сеть (mDNS + FTP)

Устройство обнаруживается по сети через mDNS (multicast DNS). Приложение отправляет DNS-SD запросы для сервиса _ftp._tcp.local и слушает ответы на multicast-адресе 224.0.0.251:5353.

Обнаружение устройств

При запуске приложение автоматически начинает фоновое сканирование Serial-портов и mDNS-сервисов. Найденные устройства отображаются в панели слева с указанием типа подключения и идентификатора.

Редактирование конфигурации

При выборе устройства из списка приложение загружает его конфигурацию. Доступны два режима редактирования:

Config Edit — текстовый редактор

Текстовый редактор конфигурации config.ini с поддержкой:

  • автодополнения ключей и значений на основе манифеста устройства;
  • контекстных подсказок для параметров mode, options, crosslink.

Config Design — визуальный редактор

Визуальный редактор параметров конфигурации:

  • параметры сгруппированы по секциям (chapters);
  • значения редактируются в полях ввода;
  • для каждого параметра отображается описание из манифеста устройства.

Serial-консоль

Для устройств, подключённых по USB, доступна вкладка Console — интерактивная консоль для отправки команд:

  • команды отправляются в формате deviceName/command;
  • поддерживается история команд (навигация стрелками вверх/вниз);
  • автодополнение доступных команд и параметров crossLink.

Встроенный пошаговый мастер построения crossLink правил. Позволяет визуально выбрать:

  1. Исходный слот (source slot)
  2. Событие (report)
  3. Значение события (value)
  4. Целевой слот (target slot)
  5. Команду (command)
  6. Значение команды (value)

Сохранение конфигурации

  • Для Serial-устройств — файл config.ini сохраняется обратно на съёмный диск.
  • Для mDNS-устройств — файл загружается на FTP-сервер устройства.

Установка

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

Сборка из исходников

При необходимости приложение можно собрать самостоятельно.

Требования:

  • Flutter SDK ≥ 3.9.2
  • Git
  • Windows: Visual Studio с компонентом «Разработка классических приложений на C++»
  • Linux: пакеты clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev и библиотека libserialport
git clone https://github.com/turumputum/mbApp.git
cd mbApp
flutter pub get
flutter build windows --release   # Windows
flutter build linux --release     # Linux