Urządzenie wirtualne

Matter urządzenia wirtualne są przydatne do tworzenia i testowaniaMatter rozwiązań. Można je wdrażać za pomocą Google Home app (GHA) i sterować nimi za pomocą GHAGoogle Assistant, tak jak fizycznymi urządzeniami Matter.

Deweloperom aplikacji i innym osobom, które muszą testować lub emulować urządzenie wirtualne, ale nie mają zasobów, aby zbudować własne urządzenie fizyczne lub wirtualne, Google oferuje Matter Virtual Device (MVD).MatterMatter MVD to lekkie, samodzielne narzędzie na komputery z systemem Linux lub macOS, które symuluje różne typy wirtualnych urządzeń Matter i zapewnia graficzny interfejs użytkownika do sterowania stanami wirtualnego urządzenia Matter i wyświetlania ich.

W przeciwieństwie do fizycznego urządzenia Matter, MVDnie korzysta z Bluetooth® Low Energy (BLE) ani Thread®, aby dołączyć do sieci Matter. Zamiast tego do uruchomienia używa istniejącego połączenia z siecią Wi-Fi na komputerze hosta z systemem Linux lub macOS.

W porównaniu z innymi narzędziami

MVD różni się od Virtual Device Controller (VDC) tym, że jest samodzielnym rozwiązaniem łączącym urządzenie wirtualne z interfejsem użytkownika do sterowania nim. Z kolei VDC służy do sterowania oddzielnym wirtualnym urządzeniem Matter.

MVD zawiera kilka różnych gotowych urządzeń wirtualnych i zintegrowany interfejs użytkownika do ich uruchamiania i sterowania nimi.

Obsługiwane urządzenia

MVD obsługuje te Mattertypy urządzeń:

Tabela: Matter typy urządzeń obsługiwane w przypadku MVD
Matter Typ urządzenia Klastry aplikacji Typ ekosystemu domowego
Oczyszczacz powietrza 0x0202
0x0006
0x0071
Oczyszczacz powietrza
Czujnik jakości powietrza 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042d
0x042e
Czujnik
Podstawowy odtwarzacz wideo 0x0006
0x0506
0x0509
Telewizja
Światło o regulowanej temperaturze barwowej 0x0300
0x0008
0x0006
Jasny
Czujnik kontaktu 0x0045
Czujnik
Światło z możliwością przyciemniania 0x0008
0x0006
Jasny
Urządzenie z możliwością przyciemniania 0x0006
0x0008
Outlet
Zmywarka 0x0006
0x0059
0x0056
0x0060
Zmywarka
Zamek drzwi 0x0101
Zablokuj
Extended Color Light 0x0300
0x0008
0x0006
Jasny
Wentylator 0x0202
0x0006
Fan
Czujnik przepływu 0x0404
Czujnik
Przełącznik ogólny 0x003b
Przełącz
Czujnik wilgotności 0x0405
Czujnik
Pralka 0x0006
0x0051
0x0053
0x0056
0x0060
Pralka
Czujnik światła 0x0400
Czujnik
Czujnik obecności 0x0406
Czujnik
Włączanie i wyłączanie światła 0x0008
0x0006
Jasny
Włącznik światła 0x0006
Przełącz
Włącznik/wyłącznik w formie wtyczki 0x0008
0x0006
Outlet
Czujnik ciśnienia 0x0403
Czujnik
Pompa 0x0006
0x0200
0x0402
0x0403
0x0404
Pompa
Odkurzacz automatyczny 0x0054
0x0055
0x0061
Odkurzacz
Klimatyzator pokojowy 0x0006
0x0201
0x0202
Klimatyzator
Alarm wykrycia dymu i tlenku węgla 0x005C
Wykrywacz CO2
Wykrywacz dymu
Czujnik temperatury 0x0402
Czujnik
Termostat 0x0201
Termostat
Osłona okienna 0x0102
Żaluzje

Instalowanie MVD

MVD działa na 64-bitowych komputerach z procesorem x86 z systemem Debian (13Trixie lub nowszym), Ubuntu (20.04Noble Numbat lub nowszym) lub macOS.

Linux

Pobierz pakiet MVD Debian (.deb)

Pobierz plik podpisu w formacie armored-ASCII (.asc)

Następnie uruchom polecenie dpkg, aby zainstalować pakiet MVD Debian (.deb):

sudo dpkg -i mvd_1.7.0_amd64.deb

macOS

Pobierz plik DMG MVD (macOS x86)

Pobierz plik dmg MVD (ARM64 M1)

Następnie kliknij dwukrotnie plik dmg, aby otworzyć okno instalacji.

Aby dokończyć instalację, wybierz i przeciągnij ikonę mvd do folderu Applications:

Instalacja w systemie macOS

Sprawdzanie wykorzystania portu

Moduł sterujący w MVD używa portu TCP 33000 do wykonywania wywołań RPC na urządzeniu wirtualnym, więc jeśli ten port jest już używany przez inny proces na komputerze, zwolnij go.

Aby sprawdzić, czy jakiś proces używa portu 33000:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

Możesz zakończyć dowolny proces korzystający z portu TCP 33000 za pomocą jednego polecenia:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Uruchamianie MVD

Linux

W systemie Linux uruchom MVD z folderu aplikacji lub z terminala:

mvd

macOS

W systemie macOS otwórz MVD za pomocą Launchpada lub uruchom MVD z terminala:

cd /Applications
open mvd.app

Konfigurowanie urządzenia

Po uruchomieniu pojawia się ekran główny, na którym możesz skonfigurować urządzenie wirtualne:

  • Typ urządzenia: wybierz typ urządzenia (np. światło, przełącznik, czujnik itp.).
  • Nazwa urządzenia: nadaj urządzeniu przyjazną nazwę.
  • Discriminator: 12-bitowa liczba używana do rozróżniania wielu reklam urządzeń, za które można otrzymać prowizję. (Domyślnie: 3840).
  • Matter Port: port do Matter uruchamiania i komunikacji przez sieci IP. Matter domyślnie używa portu TCP/UDP 5540, ale możesz skonfigurować urządzenie wirtualne tak, aby korzystało z innego portu, o ile nie jest on używany przez inną usługę.
  • Identyfikator dostawcy: obsługiwany jest tylko testowy identyfikator dostawcy 0xFFF1.
  • Identyfikator produktu: obsługiwane są tylko identyfikatory produktów testowych od 0x8000 do 0x801F.

Ekran konfiguracji urządzenia wirtualnego

Konfigurowanie zapory sieciowej

Linux

Jeśli na komputerze działa zapora sieciowa, wyłącz ją lub zezwól na przychodzące połączenia TCP/UDP na porcie Matter.

Aby wyświetlić bieżące aktywne reguły zapory sieciowej netfilter, uruchom polecenie:

sudo iptables -L -n

Jeśli używasz `ufw`, możesz go wyłączyć za pomocą tego polecenia:

sudo ufw disable

Możesz ją ponownie włączyć za pomocą tego kodu:

sudo ufw enable

macOS

Aby skonfigurować lub wyłączyć zaporę sieciową w systemie macOS:

  1. Otwórz menu  i wybierz Ustawienia systemu.
  2. Na liście na pasku bocznym kliknij Sieć.
  3. Kliknij Zapora sieciowa.
  4. Przesuń przełącznik Zapora do pozycji Wyłącz.

Uruchamianie urządzenia

Po skonfigurowaniu urządzenia kliknij Utwórz urządzenie. Po utworzeniu urządzenia pojawi się ekran Kontroler. W zależności od wybranego typu urządzenia może być dostępnych co najmniej jedno z tych ustawień:

  • Włączanie i wyłączanie: dostępne na większości urządzeń.
  • Poziom: np. żarówka może mieć suwak poziomu do regulacji jasności.
  • Kolor: np. w przypadku kolorowego oświetlenia.
  • Obecność: czujnik obecności oferuje tę opcję, aby symulować stan zajęty lub niezajęty.

Wszystkie urządzenia wirtualne mają te opcje:

  • QRCode: wyświetla kod QR użyty do uruchomienia.
  • Uruchom ponownie: ponownie uruchamia urządzenie wirtualne. Urządzenie zostanie na chwilę odłączone od sieci.
  • Resetuj: przywraca bieżące urządzenie do ustawień fabrycznych i czyści wszystkie stany, w tym stan konfiguracji, bieżący stan sterowania itp.
  • Usuń: niszczy urządzenie i wraca do ekranu Utwórz urządzenie.

Ekran sterowania urządzeniem wirtualnym

Cechy charakterystyczne dla producenta

Cechy specyficzne dla producenta są obsługiwane przez interfejsy Home API na Androida i zapewniają dodatkowe funkcje wykraczające poza standardowe cechy w Matter. Aby przetestować urządzenie z cechą MS, MVD umożliwia interakcję z cechami w sekcji Niestandardowe klastry (patrz obraz powyżej).

Konfigurowanie urządzenia

Urządzenie jest gotowe do naliczania prowizji od momentu utworzenia.

Przed rozpoczęciem procesu uruchamiania urządzenia musisz spełnić kilka wymagań wstępnych:

  • Musisz mieć projekt w Google Home Developer Console. Ten projekt musi zawierać integrację Matter, która ma taką samą kombinację identyfikatora dostawcy i produktu jak ta użyta podczas konfigurowania urządzenia wirtualnego. Więcej informacji znajdziesz w przewodniku po tworzeniu projektów.

  • Musisz mieć Google Nest Hub, który obsługuje Matter.

  • Musisz mieć telefon z Androidem 8.1 lub nowszym, na którym jest zainstalowana aplikacja GHA.

  • Telefon z Androidem musi być połączony z tą samą siecią Wi-Fi co hub.

  • Urządzenie hosta musi być połączone z siecią Wi-Fi.

Aby uruchomić urządzenie za pomocą GHA, kliknij QRCode, aby wyświetlić kod QR urządzenia, a następnie postępuj zgodnie z instrukcjami w artykule Parowanie urządzenia Matter, w którym wyjaśniono, jak zarejestrować urządzenie Matter za pomocą GHA. Możesz też uruchomić urządzenie za pomocą Google Home Sample App for Matter.

Zapoznaj się z naszym Matter wprowadzeniem, aby dowiedzieć się, jak działa Matteruruchamianie.

Sterowanie urządzeniem

Po uruchomieniu urządzenia wirtualnego możesz nim sterować za pomocą aplikacji Google Home lub Asystenta Google za pomocą poleceń głosowych. Możesz:

  • sterować urządzeniem za pomocą GHA lub Assistant, monitorując zmiany stanu na urządzeniu wirtualnym;
  • Steruj urządzeniem za pomocą Sample App for Matter, monitorując zmiany stanu na urządzeniu wirtualnym, lub
  • Steruj stanem urządzenia za pomocą MVD, jednocześnie monitorując zmiany stanu w GHA lub Assistant.

Testowanie na urządzeniu

Aby przeprowadzić testy za pomocą Assistant, zalecamy użycie symulatora wypowiedzi, takiego jak Google Home Extension for VS Code lub Google Home Plugin for Android Studio.

Wyświetlanie szczegółów urządzenia

Na ekranie Szczegóły urządzenia znajdziesz szczegółowe informacje o urządzeniu:

  • Nazwa: przyjazna nazwa nadana urządzeniu.
  • Rodzaj urządzenia: wybrany typ urządzenia.
  • Wyróżnik: bieżący wyróżnik urządzenia.
  • Identyfikator dostawcy: bieżący identyfikator dostawcy urządzenia.
  • Identyfikator produktu: bieżący identyfikator produktu urządzenia.
  • Port RPC: port RPC, za pomocą którego urządzenie komunikuje się z kontrolerami (GUI).
  • Matter Port: port używany przez bieżące urządzenie do komunikacji w sieci IP.
  • Kod dostępu: kod PIN używany do uruchomienia urządzenia w sieci.
  • Folder konfiguracji: folder, w którym urządzenie wirtualne przechowuje konfigurację.
  • Informacje o prowizji: wyświetla strukturę, do której dołączyło urządzenie, i identyfikator węzła urządzenia w tej strukturze.

Wyświetlanie logów urządzenia

Jeśli uruchomisz MVD z terminala, dane wyjściowe logu pojawią się w stdout. Dzienniki urządzeń możesz też wyświetlić na karcie Dzienniki urządzeń.

Zatrzymaj urządzenie

Aby zatrzymać i zniszczyć urządzenie, kliknij Usuń.

Zamykanie aplikacji

Zamknięcie okna sterowania powoduje zniszczenie urządzenia i zakończenie działania aplikacjiMVD. Jeśli aplikacja została uruchomiona z terminala, możesz ją też zamknąć, wpisując w terminalu Ctrl-C.

Pomoc

Aby uzyskać pomoc dotyczącą MVD, zgłosić błąd lub poprosić o nową funkcję, skontaktuj się z osobą z zespołu pomocy Google.

Kliknięcie przycisku pomocy  w prawym górnym rogu okna spowoduje przejście na tę stronę.

Zgłoś błąd

Jeśli uważasz, że w MVD występuje błąd, możesz go zgłosić, klikając przycisk Problem  w prawym górnym rogu okna.

Prześlij opinię

Aby przesłać opinię o tym, co Ci się podoba w MVD lub jak możemy ulepszyć to narzędzie, wypełnij nasz formularz opinii.

Formularz możesz otworzyć, klikając przycisk opinii  w prawym górnym rogu okna lub klikając przycisk poniżej.

Prześlij nam swoją opinię

Możesz też przesłać opinię w ankiecie, która pojawi się u dołu ekranu podczas korzystania z MVD.