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

SDK устройства

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

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

В отличие от физического устройства Matter , MVD не использует Bluetooth® Low Energy (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 (Кодовая лаборатория)
Эмулировать устройство 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).

Загрузите файл бронированной подписи 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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Хост-машина должна быть подключена к сети Wi-Fi.

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

Ознакомьтесь с нашим руководством Matter Primer , чтобы узнать, как работает ввод в эксплуатацию 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 , вы можете сообщить об ошибке, нажав кнопку «Выпустить в правом верхнем углу окна.

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

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

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

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