Виртуальные устройства 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 содержит несколько различных предварительно созданных виртуальных устройств и включает интегрированный пользовательский интерфейс для их запуска и управления.
MVD | VDC | MVD-DE (Кодовая лаборатория) | |
---|---|---|---|
Эмулировать устройство Matter | |||
Управляйте эмулируемым устройством Matter | |||
Требуются усилия по разработке | |||
Скачать | менее 100 МБ | 9 ГБ | 20 ГБ |
Поддерживаемые устройства
MVD поддерживает следующие типы устройств Matter :
Тип устройства 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
:
Проверьте использование порта
The controller module in MVD uses TCP port 33000 to make RPC calls to the virtual device, so if this port is already in use by another process on your computer, be sure to free it up.
Чтобы узнать, использует ли какой-либо процесс порт 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:
- Перейдите в меню Apple и выберите «Системные настройки» .
- Нажмите «Сеть» в списке боковой панели.
- Нажмите Брандмауэр .
- Переведите переключатель «Брандмауэр» в положение «Выкл .».
Запустите свое устройство
После настройки устройства нажмите «Создать устройство» . Когда устройство будет создано, появится экран «Контроллер» . В зависимости от типа выбранного вами устройства вы можете увидеть один или несколько из следующих элементов управления:
- Вкл./Выкл .: общий для большинства устройств.
- Уровень : например, источник света может иметь ползунок уровня для регулировки яркости.
- Цвет : например, этот элемент управления может иметь цветной источник света.
- Присутствие : Датчик присутствия предлагает этот элемент управления для имитации состояния занятости или незанятости.
Все виртуальные устройства имеют следующие элементы управления:
- 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 , отслеживая изменения состояния виртуального устройства, или
- Control the device using the Sample App for Matter while monitoring state changes on the virtual device,or
- Контролируйте состояние устройства через сам 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 или о том, как мы можем улучшить ваш опыт работы с этим инструментом, заполните нашу форму обратной связи.
Форму можно запустить с помощью кнопки отзыва
в правом верхнем углу окна или нажав кнопку ниже.