Виртуальное устройство материи

Виртуальные устройства Matter полезны для разработки и тестирования решений Matter , их можно запускать в эксплуатацию с помощью Google Home app (GHA) и управлять ими с помощью GHA и Google Assistant , как и физическими устройствами Matter .

Для разработчиков приложений и других пользователей, которым необходимо тестировать или эмулировать виртуальное устройство Matter , но у которых нет ресурсов для создания собственного физического или виртуального устройства Matter , Google предлагает Matter Virtual Device (MVD) . MVD — это легковесный автономный инструмент для настольных компьютеров под управлением Linux или macOS, который имитирует различные типы виртуальных устройств Matter и предоставляет графический пользовательский интерфейс для управления и отображения состояний виртуального устройства Matter .

В отличие от физического устройства Matter , MVD не использует Bluetooth® Low Energy (BLE) или Thread® для подключения к сети Matter . Вместо этого он использует существующее Wi-Fi-соединение хост-машины под управлением Linux или macOS для ввода в эксплуатацию.

По сравнению с другими инструментами

MVD отличается от Virtual Device Controller (VDC) тем, что представляет собой автономное решение, объединяющее виртуальное устройство с пользовательским интерфейсом для управления им. В отличие от него, VDC используется для управления отдельным виртуальным устройством Matter .

MVD содержит несколько различных предварительно созданных виртуальных устройств и включает в себя интегрированный пользовательский интерфейс для их запуска и управления.

Поддерживаемые устройства

MVD поддерживает следующие типы устройств Matter :

Таблица: Типы устройств Matter поддерживаемые для MVD
Тип устройства Matter Кластер(ы) приложений Тип домашней экосистемы
Очиститель воздуха 0x0202
0x0006
0x0071
Очиститель воздуха
Датчик качества воздуха 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042d
0x042e
Датчик
Базовый видеоплеер 0x0006
0x0506
0x0509
Телевидение
Цветовая температура света 0x0300
0x0008
0x0006
Свет
Контактный датчик 0x0045
Датчик
Регулируемая яркость освещения 0x0008
0x0006
Свет
Диммируемый подключаемый блок 0x0006
0x0008
Выход
Посудомоечная машина 0x0006
0x0059
0x0056
0x0060
Посудомоечная машина
Замок двери 0x0101
Замок
Расширенный цветовой диапазон освещения 0x0300
0x0008
0x0006
Свет
Вентилятор 0x0202
0x0006
Вентилятор
Датчик расхода 0x0404
Датчик
Универсальный переключатель 0x003b
Выключатель
Датчик влажности 0x0405
Датчик
Стиральная машина 0x0006
0x0051
0x0053
0x0056
0x0060
Стиральная машина
Датчик освещенности 0x0400
Датчик
Датчик присутствия 0x0406
Датчик
Индикатор включения/выключения 0x0008
0x0006
Свет
Выключатель света 0x0006
Выключатель
Блок включения/выключения с вилкой 0x0008
0x0006
Выход
Датчик давления 0x0403
Датчик
Насос 0x0006
0x0200
0x0402
0x0403
0x0404
Насос
Робот-пылесос 0x0054
0x0055
0x0061
Вакуум
Комнатный кондиционер 0x0006
0x0201
0x0202
Кондиционер
Детектор дыма и угарного газа 0x005C
детектор ко-излучения
Детектор дыма
Датчик температуры 0x0402
Датчик
Термостат 0x0201
Термостат
Шторы на окна 0x0102
Жалюзи

Установите MVD

MVD работает на 64-битных машинах с процессорами x86 под управлением Debian (13 Trixie или выше), Ubuntu (20.04 Noble Numbat или выше) или macOS.

Linux

Загрузите пакет MVD Debian (.deb).

Загрузите файл сигнатуры в формате armored-ASCII (.asc).

Затем запустите dpkg , чтобы установить пакет MVD Debian (.deb):

sudo dpkg -i mvd_1.7.0_amd64.deb

macOS

Скачайте файл MVD (macOS x86) dmg.

Скачайте файл MVD (ARM64 M1) dmg.

Затем дважды щелкните файл dmg , чтобы открыть окно установки.

Для завершения установки выберите и перетащите значок mvd в папку Applications :

установка macOS

Проверьте использование портов.

Модуль контроллера в MVD использует TCP-порт 33000 для выполнения RPC-вызовов к виртуальному устройству, поэтому, если этот порт уже занят другим процессом на вашем компьютере, обязательно освободите его.

Чтобы проверить, использует ли какой-либо процесс порт 33000:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

Завершить любой процесс, использующий TCP-порт 33000, можно одной командой:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Запустите MVD

Linux

В Linux запустить MVD можно из папки приложений или из терминала:

mvd

macOS

В macOS для открытия MVD используйте Launchpad или запустите MVD из терминала:

cd /Applications
open mvd.app

Настройте ваше устройство

Главный экран появляется при запуске и позволяет настроить виртуальное устройство:

  • Тип устройства : Выберите тип устройства (например, светильник, выключатель, датчик и т. д.).
  • Название устройства : Присвойте устройству понятное для пользователя имя.
  • Дискриминатор : 12-битное число, используемое для различения нескольких рекламных объявлений устройств, за которые начисляются комиссионные. (По умолчанию: 3840 ).
  • Порт Matter : Порт для ввода Matter в эксплуатацию и связи через IP-сети. По умолчанию Matter использует порт TCP/UDP 5540, но вы можете настроить виртуальное устройство на использование другого порта, при условии, что его не использует другая служба.
  • Идентификатор поставщика : Поддерживается только тестовый идентификатор поставщика 0xFFF1 .
  • Идентификатор продукта : Поддерживаются только тестовые идентификаторы продуктов 0x8000 до 0x801F .

Конфигурация виртуального устройства экран

Настройте свой брандмауэр

Linux

Если на вашем компьютере запущен брандмауэр, либо отключите его, либо разрешите входящие TCP/UDP-соединения на порту Matter .

Чтобы просмотреть текущие активные правила брандмауэра netfilter , выполните следующую команду:

sudo iptables -L -n

Если вы используете `ufw`, его можно отключить с помощью:

sudo ufw disable

И его можно повторно включить с помощью:

sudo ufw enable

macOS

Чтобы настроить или отключить брандмауэр в macOS:

  1. Перейдите в меню  Apple и выберите «Системные настройки» .
  2. В боковой панели выберите пункт «Сеть» .
  3. Нажмите «Брандмауэр» .
  4. Переведите переключатель брандмауэра в положение «Выкл.» .

Запустите ваше устройство

После настройки устройства нажмите «Создать устройство» . После создания устройства появится экран «Контроллер» . В зависимости от типа выбранного устройства вы можете увидеть один или несколько из следующих элементов управления:

  • Включение/выключение : характерно для большинства устройств.
  • Уровень : Например, у светильника может быть ползунок для регулировки яркости.
  • Цвет : Например, цветной светильник может иметь такое управление.
  • Датчик присутствия : Датчик присутствия обеспечивает эту функцию, позволяющую имитировать состояние занятости или незанятости помещения.

Все виртуальные устройства имеют следующие элементы управления:

  • QR-код : Отображает QR-код, используемый для ввода в эксплуатацию.
  • Перезагрузка : Перезапускает виртуальное устройство. Устройство на короткое время отключается от сети.
  • Сброс : Выполняет сброс настроек устройства до заводских и очищает все состояние, включая состояние ввода в эксплуатацию, текущее состояние управления и т. д.
  • Удалить : Уничтожает устройство и возвращает на экран создания устройства .

Управление виртуальным устройством экран

Характеристики, специфичные для производителя

Специфические для производителя (MS) характеристики поддерживаются API Home для Android и предоставляют дополнительные возможности по сравнению со стандартными характеристиками в Matter . Чтобы протестировать устройство со специфичной для производителя характеристикой, MVD позволяет взаимодействовать с характеристиками в разделе « Пользовательские кластеры» (см. изображение выше).

Введите ваше устройство в эксплуатацию

Устройство готово к вводу в эксплуатацию сразу после его изготовления.

Для ввода устройства в эксплуатацию необходимо выполнить несколько предварительных условий:

  • У вас должен быть проект в Google Home Developer Console . Этот проект должен содержать интеграцию с Matter , имеющую ту же комбинацию VID/PID, что и при настройке виртуального устройства. Подробности см. в руководстве по созданию проекта .

  • Вам потребуется Google Nest Hub, поддерживающий Matter.

  • Для работы вам потребуется телефон на базе Android 8.1 или более поздней версии с установленным GHA .

  • Телефон Android должен быть подключен к той же сети Wi-Fi, что и хаб.

  • Главный компьютер должен быть подключен к сети Wi-Fi.

Для ввода устройства в эксплуатацию с помощью GHA нажмите QR-код , чтобы отобразить QR-код устройства, а затем следуйте инструкциям в разделе «Сопряжение устройства Matter , в которых объясняется, как подключить устройство Matter с помощью GHA . Вы также можете ввести устройство в эксплуатацию, используя Google Home Sample App for Matter .

Ознакомьтесь с нашим руководством по Matter , чтобы узнать, как работает процесс ввода Matter в эксплуатацию.

Управляйте устройством

После ввода виртуального устройства в эксплуатацию вы можете управлять им с помощью приложения Google Home или голосового помощника Google Assistant . Вы можете сделать это одним из следующих способов:

  • Управляйте устройством через GHA или Assistant , одновременно отслеживая изменения состояния виртуального устройства, или
  • Управляйте устройством с помощью Sample App for Matter , отслеживая изменения состояния виртуального устройства, или
  • Управляйте состоянием устройства непосредственно через MVD , отслеживая изменения состояния в GHA или Assistant .

Проверьте с помощью устройства.

Для тестирования с помощью Assistant мы рекомендуем использовать симулятор речевых реплик, например, расширение Google Home для VS Code или плагин Google Home для Android Studio .

Просмотреть сведения об устройстве

На экране «Подробная информация об устройстве» отображается подробная информация об устройстве:

  • Имя: Удобное для пользователя имя, присвоенное устройству.
  • Тип устройства : Выбранный тип устройства.
  • Дискриминатор : Дискриминатор текущего устройства.
  • Идентификатор поставщика : текущий идентификатор поставщика устройства.
  • Идентификатор продукта : текущий идентификатор продукта устройства.
  • RPC-порт : RPC-порт, через который устройство взаимодействует с контроллерами (графическим интерфейсом пользователя).
  • Порт Matter : Порт, используемый текущим устройством для связи через IP-сеть.
  • Код доступа : PIN-код, используемый для ввода устройства в эксплуатацию через сеть.
  • Папка конфигурации : папка, в которой виртуальное устройство хранит конфигурацию.
  • Информация о подключении : Отображает сеть (сети), к которой подключилось устройство, и идентификатор узла устройства в этой сети.

Просмотреть журналы устройства

Если вы запустили MVD из терминала, вывод логов появится в стандартном потоке вывода stdout . Вы также можете просмотреть логи устройства на вкладке «Журналы устройства» .

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

Чтобы остановить и уничтожить устройство, нажмите «Удалить» .

Завершить работу приложения

Закрытие окна управления уничтожает устройство и завершает работу приложения MVD . Если вы запустили приложение из терминала, вы также можете завершить его работу, набрав Ctrl-C в терминале.

Обратитесь за помощью

Чтобы получить помощь по MVD , сообщить об ошибке или запросить новую функцию, обратитесь к своему контактному лицу в службе поддержки Google.

Нажатие кнопки « в правом верхнем углу окна переведет вас на эту страницу.

Сообщить об ошибке

Если вы считаете, что обнаружили ошибку в MVD , вы можете сообщить о ней, нажав кнопку Issue в правом верхнем углу окна.

Отправить отзыв

Чтобы поделиться своими впечатлениями о том, что вам нравится в MVD , или как мы можем улучшить ваш опыт использования этого инструмента, заполните нашу форму обратной связи.

Форму можно открыть, нажав кнопку «Отзывы в правом верхнем углу окна или нажав кнопку ниже.

Присылайте нам свои отзывы

Вы также можете оставить отзыв, заполнив опрос, который появляется внизу страницы при использовании MVD .