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

SDK устройства Matter

Виртуальные устройства 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 , например тем, которое мы создаем в 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 Кластер(ы) приложений Тип домашней экосистемы
Базовый видеоплеер 0x0006
0x0506
0x0509
ТВ
Цветовая температура света 0x0300
0x0008
0x0006
Свет
Контактный датчик 0x0045
Датчик
Регулируемый свет 0x0008
0x0006
Свет
Замок 0x0101
Замок
Расширенный цветной свет 0x0300
0x0008
0x0006
Свет
Вентилятор 0x0202
0x0006
Вентилятор
Датчик потока 0x0404
Датчик
Универсальный переключатель 0x003B
Выключатель
Датчик влажности 0x0405
Датчик
Датчик освещенности 0x0400
Датчик
Датчик присутствия 0x0406
Датчик
Включение/выключение света 0x0008
0x0006
Свет
Выключатель света вкл./выкл. 0x0006
Выключатель
Съемный блок включения/выключения 0x0008
0x0006
Выход
Датчик давления 0x0403
Датчик
Насос 0x0006
0x0200
0x0402
0x0403
0x0404
Н/Д
Робот-пылесос 0x0054
0x0055
0x0061
Вакуум
Кондиционер в номере 0x0006
0x0201
0x0202
переменный ток
Сигнализация дыма CO 0x005C
Дым
Датчик температуры 0x0402
Термостат
Термостат 0x0201
Термостат
Оконные покрытия 0x0102
Жалюзи

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

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

Линукс

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

Загрузите файл бронированной подписи ASCII (.asc).

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

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

Загрузите dmg-файл MVD (macOS x86)

Загрузите dmg-файл MVD (ARM64 M1)

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

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

установка macOS

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

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

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

Линукс

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

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

Линукс

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Запустить МВД

Линукс

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

mvd

macOS

В macOS используйте панель запуска, чтобы открыть MVD , или запустите MVD с терминала:

cd /Applications
open mvd.app

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

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

  • Тип устройства : выберите тип устройства (например, «Свет», «Выключатель», «Датчик» и т. д.).
  • Имя устройства : дайте устройству понятное имя.
  • Дискриминатор : 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

macOS

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

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

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

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

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

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

  • 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 или о том, как мы можем улучшить ваш опыт работы с этим инструментом, заполните нашу форму обратной связи.

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

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