Приложение 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.
Cross-link Builder
Встроенный пошаговый мастер построения crossLink правил. Позволяет визуально выбрать:
- Исходный слот (source slot)
- Событие (report)
- Значение события (value)
- Целевой слот (target slot)
- Команду (command)
- Значение команды (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