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

SDK для устройств Matter

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

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

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

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

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

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

Таблица: Сравнение инструментов устройства Virtual Matter
MVD VDC MVD-DE (Codelab)
Эмулировать устройство Matter
Управляйте эмулируемым устройством Matter
Требуются усилия по развитию
Скачать менее 100 МБ 9 ГБ 20 ГБ

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

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

Таблица: Типы устройств Matter , поддерживаемые для MVD
Тип устройства Matter Кластер(ы) приложений Тип домашней экосистемы
Цветовая температура Свет 0x0300
0x0008
0x0006
Свет
Диммируемый свет 0x0008
0x0006
Свет
Расширенный цветной свет 0x0300
0x0008
0x0006
Свет
Датчик присутствия 0x0406
Датчик
Вкл/выкл свет 0x0008
0x0006
Свет
Модуль включения/выключения 0x0008
0x0006
Выход

Установить МВД

MVD работает на компьютерах с 64-битным процессором x86 под управлением Debian (11 или выше) или Ubuntu (20.04 или выше).

Чтобы установить его:

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

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

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

sudo dpkg -i mvd_1.1.0_amd64.deb

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

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

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

sudo fuser -v 33000/tcp

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

sudo fuser -k 33000/tcp

Беги МВД

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

mvd

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

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

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

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

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

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

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

sudo iptables -L -n

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

sudo ufw disable
. Его можно снова включить с помощью:
sudo ufw enable

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

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

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

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

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

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

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

Устройство можно ввести в эксплуатацию, как только оно будет создано.

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

  • У вас должен быть проект в 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 Assistant с помощью голоса . Вы также можете:

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

Тест с устройством

Для тестирования с Assistant мы рекомендуем использовать симулятор речи, такой как Google Home Extension для VS Code или Google Home Plugin для Android Studio .

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

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

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

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

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

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

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

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

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

Получить помощь

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

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

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

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

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

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

Форма может быть запущена с помощью кнопки обратной связи в правом верхнем углу окна или нажав кнопку ниже.

Отправьте нам свой отзыв