Виртуальные устройства 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 содержит несколько различных предварительно созданных виртуальных устройств и включает в себя интегрированный пользовательский интерфейс для их запуска и управления ими.
MVD | VDC | MVD-DE (Codelab) | |
---|---|---|---|
Эмулировать устройство Matter | |||
Управляйте эмулируемым устройством Matter | |||
Требуются усилия по развитию | |||
Скачать | менее 100 МБ | 9 ГБ | 20 ГБ |
Поддерживаемые устройства
В настоящее время MVD поддерживает следующие типы устройств Matter :
Тип устройства 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 или как мы можем улучшить ваш опыт работы с этим инструментом, заполните форму обратной связи.
Форма может быть запущена с помощью кнопки обратной связи
в правом верхнем углу окна или нажав кнопку ниже.