Wirtualne urządzenie Matter

Matter ; Home APIs

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

Dla deweloperów aplikacji i innych osób, które muszą przetestować lub emulować urządzenie wirtualne Matter, ale nie mają zasobów do utworzenia własnego urządzenia fizycznego lub wirtualnego Matter, Google oferuje Matter Virtual Device (MVD). MVD to lekka, samodzielna aplikacja komputerowa na systemy Linux i macOS, która symuluje różne typy urządzeń wirtualnych Matter i udostępnia graficzny interfejs użytkownika do kontrolowania i wyświetlania stanów urządzenia wirtualnego Matter.

W przeciwieństwie do fizycznego urządzenia Matter MVD nie korzysta z Bluetooth® Low Energy (BLE) ani Thread®, aby dołączyć do sieci Matter. Zamiast tego do uruchomienia używa istniejącego połączenia sieciowego Wi-Fi na komputerze 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, które łączy urządzenie wirtualne z interfejsem do sterowania nim. Z kolei VDC służy do sterowania oddzielnym urządzeniem wirtualnym Matter.

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

Obsługiwane urządzenia

MVD obsługuje te typy urządzeń Matter:

Tabela: typy urządzeń Matter obsługiwane w przypadku MVD
Matter Typ urządzenia Klastry aplikacji Typ ekosystemu domowego
Oczyszczacz powietrza 0x0202
0x0006
0x0071
0x0072
Oczyszczacz powietrza
Czujnik jakości powietrza 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042b
0x042c
0x042d
0x042e
0x042f
0x0413
0x0415
Czujnik
Podstawowy odtwarzacz wideo 0x0006
0x0506
0x0509
Telewizja
Światło o temperaturze kolorów 0x0300
0x0008
0x0006
Jasny
Czujnik kontaktowy 0x0045
Czujnik
Światło z możliwością przyciemniania 0x0008
0x0006
Jasny
Wtyczka z możliwością przyciemniania 0x0006
0x0008
Outlet
Zmywarka 0x0006
0x0059
0x0056
0x0060
Zmywarka
Zamek drzwi 0x0101
Zablokuj
Rozszerzone oświetlenie kolorowe 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/wyłączanie światła 0x0008
0x0006
Jasny
Włącznik/wyłącznik światła 0x0006
Przełącz
Wtyczka z przełącznikiem 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
Czujnik dymu i tlenku węgla 0x005C
Czujnik tlenku węgla
Czujnik dymu
Czujnik temperatury 0x0402
Czujnik
Termostat 0x0201
Termostat
Zasłony, rolety i inne dekoracje okien 0x0102
Żaluzje

Instalowanie MVD

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

Linux

Pobierz pakiet Debiana (.deb) MVD

Pobierz plik podpisu ASCII (.asc)

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

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 portów

Moduł kontrolera w MVD używa portu TCP 33000 do wykonywania wywołań RPC do urządzenia wirtualnego, 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ć każdy 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 pojawi się ekran główny, na którym możesz skonfigurować urządzenie wirtualne:

  • Device Type (Typ urządzenia): wybierz typ urządzenia (np. Light, Switch, Sensor itd.).
  • Nazwa urządzenia: nadaj urządzeniu przyjazną dla użytkownika nazwę.
  • Dyskryminator: 12-bitowa liczba używana do rozróżniania wielu reklam urządzeń, za które można otrzymać prowizję. (domyślnie: 3840).
  • Port Matter: port do obsługi Matter i komunikacji przez sieci IP. Matter domyślnie używa portu TCP/UDP 5540, ale możesz skonfigurować urządzenie wirtualne tak, aby używało innego portu, o ile nie jest on używany przez żadną 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ć aktualnie aktywne reguły zapory sieciowej netfilter, uruchom:

sudo iptables -L -n

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

sudo ufw disable

Można go ponownie włączyć za pomocą:

sudo ufw enable

macOS

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

  1. Otwórz menu Apple  i wybierz Ustawienia systemowe.
  2. Na liście na pasku bocznym kliknij Sieć.
  3. Kliknij Zapora sieciowa.
  4. Ustaw przełącznik Zapora sieciowa w pozycji Wył..

Uruchom urządzenie

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żesz zobaczyć co najmniej 1 z tych elementów sterujących:

  • Włączanie/wyłączanie: typowe dla większości urządzeń.
  • Poziom: na przykład lampa może mieć suwak poziomu do regulacji jasności.
  • Kolor: ten element sterujący może mieć na przykład kolorowe światło.
  • Obecność: czujnik obecności udostępnia ten element sterujący, aby symulować stan obecności lub nieobecności.

Wszystkie urządzenia wirtualne mają te ustawienia:

  • QRCode: pokazuje kod QR używany do uruchamiania.
  • Uruchom ponownie: powoduje ponowne uruchomienie urządzenia wirtualnego. 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 uruchomienia, bieżący stan elementów sterujących itd.
  • Usuń: niszczy urządzenie i powraca do ekranu Utwórz urządzenie.

Ekran sterowania urządzeniem wirtualnym

Cechy specyficzne 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 Klastry niestandardowe (patrz obraz powyżej).

Konfigurowanie urządzenia

Urządzenie można uruchomić zaraz po jego utworzeniu.

Aby uruchomić urządzenie, musisz spełnić kilka wymagań wstępnych:

  • Musisz mieć projekt w: Google Home Developer Console. Ten projekt musi zawierać integrację Matter, która ma tę samą kombinację VID/PID co ta użyta podczas konfigurowania urządzenia wirtualnego. Szczegółowe informacje znajdziesz w przewodniku po tworzeniu projektów.

  • Musisz mieć Google Nest Hub obsługujący Matter.

  • Musisz mieć telefon z Androidem 8.1 lub nowszym i zainstalowaną aplikacją GHA.

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

  • Komputer hosta musi być połączony 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 dodać urządzenie Matter za pomocą GHA. Możesz też uruchomić urządzenie za pomocą Google Home Sample App for Matter.

Zapoznaj się z Matter podstawowymi informacjami, aby dowiedzieć się, jak działa Matter Commissioning.

Sterowanie urządzeniem

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

  • Steruj urządzeniem za pomocą GHA lub Assistant, monitorując zmiany stanu na urządzeniu wirtualnym.
  • Steruj urządzeniem za pomocą Sample App for Matter,obserwując zmiany stanu na urządzeniu wirtualnym.
  • Steruj stanem urządzenia za pomocą MVD, monitorując zmiany stanu w GHA lub Assistant.

Testowanie za pomocą urządzenia

Aby przetestować działanie z usługą Assistant, zalecamy użycie symulatora wypowiedzi, takiego jak rozszerzenie Google Home do VS Code lub wtyczka Google Home do Android Studio.

Przeglądanie szczegółów urządzenia

Na ekranie Szczegóły urządzenia wyświetlane są szczegółowe informacje o urządzeniu:

  • Nazwa:przyjazna nazwa nadana urządzeniu.
  • Typ 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, przez który urządzenie komunikuje się z kontrolerami (GUI).
  • Port Matter: port używany przez bieżące urządzenie do komunikacji przez sieć IP.
  • Kod dostępu: kod PIN używany do uruchamiania urządzenia w sieci.
  • Folder konfiguracji: folder, w którym urządzenie wirtualne przechowuje konfigurację.
  • Informacje o prowizji: pokazuje sieci, do których dołączyło urządzenie, oraz identyfikator węzła urządzenia w sieci.

Wyświetlanie dzienników urządzenia

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

Zatrzymaj urządzenie

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

Zakończ działanie aplikacji

Zamknięcie okna sterowania powoduje zniszczenie urządzenia i zakończenie działania aplikacji MVD. Jeśli aplikacja została uruchomiona z terminala, możesz ją też zakończyć, 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 zespołem pomocy Google.

Kliknięcie przycisku pomocy  w prawym górnym rogu okna przeniesie Cię na tę stronę.

Zgłoś błąd

Jeśli uważasz, że w MVD jest 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 podoba Ci się w usłudze MVD lub jak możemy ulepszyć to narzędzie, wypełnij formularz opinii.

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

Prześlij nam swoją opinię

Możesz też przesłać opinię za pomocą ankiety, która pojawia się u dołu ekranu, gdy korzystasz z MVD.