Виртуальные устройства 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® с низким энергопотреблением (BLE) или Thread® для подключения к сети Matter. Вместо этого для ввода в эксплуатацию используется существующее подключение к сети Wi-Fi хост-машины Linux или macOS.
По сравнению с другими инструментами
MVD отличается от Virtual Device Controller (VDC) тем, что это автономное решение, сочетающее виртуальное устройство с пользовательским интерфейсом для управления им. В отличие от него, VDC используется для управления отдельным виртуальным устройством Matter.
В MVD есть несколько встроенных виртуальных устройств и интегрированный интерфейс для их запуска и управления.
Поддерживаемые устройства
MVD поддерживает следующие типы устройств Matter:
| 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 |
Насос |
| Робот-пылесос |
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) для виртуального устройства Matter
Скачать файл подписи в формате ASCII (.asc)
Затем выполните команду dpkg, чтобы установить пакет Debian (.deb) MVD:
sudo dpkg -i mvd_1.7.0_amd64.debmacOS
Скачать DMG-файл MVD (macOS x86)
Скачать DMG-файл виртуального устройства Matter (ARM64 M1)
Затем дважды нажмите на файл dmg, чтобы открыть окно установки.
Чтобы завершить установку, перетащите значок mvd в папку Applications.
Проверьте использование портов
Модуль контроллера в MVD использует TCP-порт 33000 для выполнения RPC-вызовов к виртуальному устройству. Если этот порт уже используется другим процессом на вашем компьютере, освободите его.
Чтобы проверить, используется ли порт 33000 каким-либо процессом, выполните следующие действия:
Linux
sudo fuser -v 33000/tcpmacOS
lsof -i:33000Вы можете завершить любой процесс, использующий TCP-порт 33000, с помощью одной команды:
Linux
sudo fuser -k 33000/tcpmacOS
lsof -ti:33000 | xargs killЗапустите MVD
Linux
В Linux запустите MVD из папки приложений или терминала:
mvdmacOS
На устройстве с macOS откройте MVD с помощью Launchpad или запустите MVD из терминала:
cd /Applicationsopen mvd.app
Настройте устройство
После запуска откроется главный экран, на котором можно настроить виртуальное устройство.
- Тип устройства. Выберите тип устройства, например "Светильник", "Выключатель", "Датчик" и т. д.
- Название устройства: Укажите удобное для пользователя название устройства.
- Дискриминатор. 12-битное число, которое позволяет различать объявления нескольких устройств, доступных для ввода в эксплуатацию. Значение по умолчанию:
3840. - Порт Matter – порт для ввода в эксплуатацию и связи через IP-сети.Matter По умолчанию Matter использует порт TCP/UDP 5540, но вы можете настроить виртуальное устройство на использование другого порта, если его не использует другой сервис.
- Идентификатор поставщика. Поддерживается только тестовый идентификатор поставщика
0xFFF1. - Идентификатор товара. Поддерживаются только тестовые идентификаторы товаров от
0x8000до0x801F.
Настройте брандмауэр
Linux
Если на вашем компьютере работает брандмауэр, отключите его или разрешите входящие подключения TCP/UDP через порт Matter.
Чтобы посмотреть текущие активные правила брандмауэра netfilter, выполните следующую команду:
sudo iptables -L -nЕсли вы используете `ufw`, его можно отключить с помощью следующей команды:
sudo ufw disableЧтобы снова включить его, используйте следующую команду:
sudo ufw enablemacOS
Чтобы настроить или отключить брандмауэр в macOS:
- Откройте меню Apple и выберите Системные настройки.
- На боковой панели выберите Сеть.
- Нажмите Брандмауэр.
- Установите переключатель Брандмауэр в положение Выкл..
Запустите устройство
После настройки устройства нажмите Создать устройство. После создания устройства появится экран Контроллер. В зависимости от типа выбранного устройства вы можете увидеть один или несколько из следующих элементов управления:
- Вкл./Выкл. – есть на большинстве устройств.
- Уровень. Например, у лампы может быть ползунок для регулировки яркости.
- Цвет. Например, этот элемент управления может быть у цветной лампы.
- Занятость. Датчик присутствия позволяет имитировать состояние занятости или незанятости.
Для всех виртуальных устройств доступны следующие элементы управления:
- QRCode – QR-код, используемый для ввода в эксплуатацию.
- Перезагрузить. Перезапуск виртуального устройства. Устройство ненадолго отключается от сети.
- Сбросить. Сброс настроек текущего устройства и удаление всех данных, включая сведения о вводе в эксплуатацию, текущем состоянии элементов управления и т. д.
- Удалить. Устройство будет удалено, и вы вернетесь на экран Создать устройство.
Свойства, зависящие от производителя
Функции, заданные производителем, поддерживаются Home API для Android и предоставляют дополнительные возможности помимо стандартных функций в Matter. Чтобы протестировать устройство с функцией MS, MVD позволяет взаимодействовать с функциями в разделе Custom Clusters (Пользовательские кластеры) (см. изображение выше).
Как ввести устройство в эксплуатацию
Устройство можно ввести в эксплуатацию сразу после создания.
Для ввода устройства в эксплуатацию необходимо выполнить несколько условий:
У вас должен быть проект в 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 для VS Code или плагин Google Home для Android Studio.
Как посмотреть информацию об устройстве
На экране Информация об устройстве показаны подробные сведения об устройстве:
- Название. Понятное название, присвоенное устройству.
- Тип устройства. Выбранный тип устройства.
- Дискриминатор. Дискриминатор текущего устройства.
- Идентификатор поставщика. Идентификатор поставщика устройства.
- Идентификатор товара. Идентификатор товара текущего устройства.
- RPC Port (Порт RPC). Порт RPC, через который устройство обменивается данными с контроллерами (графическим интерфейсом пользователя).
- Порт Matter – порт, используемый текущим устройством для связи по IP-сети.
- Код доступа. PIN-код, используемый для ввода устройства в эксплуатацию через сеть.
- Папка конфигурации. Папка, в которой виртуальное устройство хранит конфигурацию.
- Информация о комиссии. Показывает сети, к которым подключено устройство, и идентификатор узла устройства в сети.
Просмотр журналов устройства
Если вы запустили MVD из терминала, выходные данные журнала появятся в stdout.
Журналы устройства также можно посмотреть на вкладке Журналы устройства.
Остановить устройство
Чтобы остановить и удалить устройство, нажмите Удалить.
Закрыть приложение
Закрытие окна управления уничтожает устройство и завершает работу приложения MVD. Если вы запустили приложение из терминала, вы также можете завершить его работу, нажав Ctrl + C в терминале.
Справка
Чтобы получить помощь по работе с MVD, сообщить об ошибке или запросить новую функцию, обратитесь в службу поддержки Google.
Нажав на значок справки в правом верхнем углу окна, вы перейдете на эту страницу.
Сообщить об ошибке
Если вы обнаружили ошибку в MVD, сообщите о ней, нажав кнопку Issue (Проблема) в правом верхнем углу окна.
Отправить отзыв
Чтобы поделиться своим мнением о том, что вам нравится в MVD или как мы можем улучшить инструмент, заполните форму обратной связи.
Чтобы открыть форму, нажмите кнопку "Отзыв" в правом верхнем углу окна или кнопку ниже.
Вы также можете оставить отзыв в опросе, который появляется внизу экрана при использовании MVD.