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

Matter ; Home APIs

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

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

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

Сравнение с другими инструментами

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

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

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

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

Таблица: типы устройств Matter, поддерживаемые для MVD
Matter Тип устройства Кластеры приложений Тип экосистемы умного дома
Очиститель воздуха 0x0202
0x0006
0x0071
0x0072
Очиститель воздуха
Датчик качества воздуха 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042b
0x042c
0x042d
0x042e
0x042f
0x0413
0x0415
Датчик
Базовый видеопроигрыватель 0x0006
0x0506
0x0509
Телевидение
Цветовая температура 0x0300
0x0008
0x0006
Светлая
Датчик открытия 0x0045
Датчик
Светильник с регулируемой яркостью 0x0008
0x0006
Светлая
Встраиваемый модуль с регулируемой яркостью 0x0006
0x0008
Outlet
Посудомоечная машина 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
Outlet
Датчик давления 0x0403
Датчик
Насос 0x0006
0x0200
0x0402
0x0403
0x0404
Pump
Робот-пылесос 0x0054
0x0055
0x0061
Вакуум
Комнатный кондиционер 0x0006
0x0201
0x0202
Кондиционер
Датчик дыма и угарного газа 0x005C
Детектор угарного газа
Детектор дыма
Датчик температуры 0x0402
Датчик
Термостат 0x0201
Термостат
Занавески 0x0102
Жалюзи

Как установить MVD

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

Linux

Скачайте пакет Debian (.deb) для MVD

Скачайте файл подписи в формате ASCII (.asc)

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

sudo dpkg -i mvd_1.7.0_amd64.deb

macOS

Скачать DMG-файл MVD (macOS x86)

Скачать DMG-файл MVD (ARM64 M1)

Затем дважды нажмите на файл 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 откройте Launchpad и выберите MVD или запустите MVD из терминала:

cd /Applications
open mvd.app

Как настроить устройство

При запуске появляется главный экран, на котором можно настроить виртуальное устройство:

  • Тип устройства. Выберите тип устройства, например светильник, переключатель, датчик и т. д.
  • Название устройства. Присвойте устройству понятное название.
  • Дискриминатор. 12-битное число, используемое для различения нескольких объявлений устройств, которые можно ввести в эксплуатацию. (по умолчанию: 3840).
  • Matter Port (Порт ). Порт для 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. Переведите переключатель Брандмауэр в положение Выкл..

Как запустить устройство

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

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

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

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

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

Свойства, заданные производителем

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

Как настроить устройство

Устройство можно настроить сразу после создания.

Чтобы настроить устройство, необходимо выполнить следующие условия:

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

  • У вас должен быть Google Nest Hub с поддержкой Matter.

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

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

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

Чтобы инициализировать устройство с помощью GHA, нажмите QRCode, чтобы отобразить QR-код устройства, а затем следуйте инструкциям в разделе Как подключить устройство Matter, где рассказывается, как добавить устройство Matter с помощью GHA. Вы также можете настроить устройство с помощью Google Home Sample App for Matter.

Чтобы узнать, как работает Matter, ознакомьтесь с нашим Matter руководством.

Как управлять устройством

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

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

Как протестировать устройство

Чтобы протестировать приложение с помощью Assistant, рекомендуем использовать симулятор запросов, например Google Home Extension для VS Code или Google Home Plugin для Android Studio.

Как посмотреть сведения об устройстве

На экране Информация об устройстве можно посмотреть подробные сведения об устройстве:

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

Как посмотреть журналы устройства

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

Как остановить устройство

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

Как закрыть приложение

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

Справка

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

Чтобы перейти на эту страницу, нажмите кнопку справки в правом верхнем углу окна.

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

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

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

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

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

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

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