Urządzenie wirtualne

Sprawa Pakiet SDK urządzenia

Urządzenia wirtualne Matter przydają się do tworzenia i testowania rozwiązań Matter, a można je zlecać za pomocą Google Home app (GHA). Można nimi sterować za pomocą GHA i Google Assistant tak samo jak fizyczne urządzenia Matter.

Deweloperzy aplikacji oraz inne osoby, które chcą przetestować lub emulować urządzenie wirtualne Matter, ale nie mają możliwości stworzenia własnego fizycznego lub wirtualnego urządzenia Matter, Google oferuje Matter Virtual Device (MVD). MVD to samodzielne narzędzie na komputery z systemem Linux, które symuluje różne typy wirtualnych urządzeń Matter oraz udostępnia graficzny interfejs użytkownika do sterowania i wyświetlania stanów urządzenia wirtualnego Matter.

W przeciwieństwie do fizycznego urządzenia Matter MVD nie wykorzystuje Bluetooth® Low Energy (BLE) ani Thread®, aby połączyć tkaninę Matter. Zamiast tego do uruchamiania wykorzystuje istniejące połączenie Wi-Fi hosta z systemem Linux.

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 użytkownika do sterowania nim. Natomiast VDC służy do sterowania oddzielnym wirtualnym urządzeniem Matter, np. tym, które stworzyliśmy w Matter Virtual Device Development Environment (MVD-DE).

Być może masz już doświadczenie z ćwiczeniami z programowania w usłudze MVD-DE. W tym ćwiczeniu z programowania utworzysz 1 typ urządzenia wirtualnego – inteligentną żarówkę. Natomiast MVD zawiera kilka różnych gotowych urządzeń wirtualnych oraz zintegrowany interfejs użytkownika, który umożliwia ich uruchamianie i sterowanie.

Tabela: porównanie narzędzi urządzeń wirtualnych Matter
MVD VDC MVD-DE (ćwiczenie z programowania)
Emuluj urządzenie ze standardem Matter
Sterowanie emulowanym urządzeniem Matter
Wymagane nakłady pracy programistyczne
Pobieranie mniej niż 100 MB 9 GB 20 GB

Obsługiwane urządzenia

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

Tabela: Matter typów urządzeń obsługiwanych przez MVD
Matter typ urządzenia Klastry aplikacji Typ ekosystemu domowego
Temperatura kolorów – światło 0x0300
0x0008
0x0006
Jasny
Przyciemniane światło 0x0008
0x0006
Jasny
Jasny o zwiększonym kolorze 0x0300
0x0008
0x0006
Jasny
Czujnik obecności 0x0406
Czujnik
Włącz/wyłącz diodę 0x0008
0x0006
Jasny
Wtyczka do włączania i wyłączania 0x0008
0x0006
Gniazdko

Zainstaluj MVD

MVD działa na komputerach z 64-bitowym procesorem x86 z systemem Debian (w wersji 11 lub nowszej) lub Ubuntu (w wersji 20.04 lub nowszej).

Aby ją zainstalować:

Pobierz pakiet MVD Debian (.deb)

Pobierz plik z podpisami w formacie Armored-ASCII (.asc)

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

sudo dpkg -i mvd_1.1.0_amd64.deb

Sprawdź wykorzystanie portu

Moduł kontrolera w MVD wykorzystuje port TCP 33000 do wywoływania RPC na urządzeniu wirtualnym, więc jeśli ten port jest już używany przez inny proces na komputerze, pamiętaj, by go zwolnić.

Aby sprawdzić, czy którykolwiek proces używa portu 33000:

sudo fuser -v 33000/tcp

Korzystając z jednego polecenia, możesz zakończyć działanie dowolnego procesu, korzystając z portu TCP 33000:

sudo fuser -k 33000/tcp

Uruchom MVD

Uruchom polecenie MVD z folderu aplikacji lub terminala:

mvd

Skonfiguruj urządzenie

Po uruchomieniu wyświetla 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 łatwą w użyciu nazwę.
  • Wyróżnik: 12-bitowa liczba służąca do rozróżnienia między wieloma reklamami urządzeń, które można zlecać. (Domyślnie: 3840).
  • Matter Port: port na potrzeby uruchamiania 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 korzysta z niego żadna inna usługa.
  • Identyfikator dostawcy: obecnie obsługiwany jest tylko identyfikator dostawcy testowego 0xFFF1.
  • Identyfikator produktu: obecnie obsługiwane są tylko testowe identyfikatory produktów od 0x8000 do 0x801F.

Ekran konfiguracji
urządzenia wirtualnego

Skonfiguruj zaporę sieciową

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

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

sudo iptables -L -n

Uwaga: jeśli używasz ufw, możesz ją wyłączyć za pomocą:

sudo ufw disable
Możesz też włączyć ją ponownie za pomocą:
sudo ufw enable

Uruchamianie urządzenia

Po skonfigurowaniu urządzenia kliknij Utwórz urządzenie. Po utworzeniu urządzenia pojawi się ekran Kontroler. Zależnie od wybranego typu urządzenia możesz zobaczyć te opcje:

  • Wł./Wył.: typowa dla większości urządzeń.
  • Poziom: światło może mieć na przykład suwak poziomu, który pozwala regulować jasność.
  • Kolor: to ustawienie może mieć na przykład światło kolorowe.
  • Objętość: czujnik obecności zapewnia tę funkcję, symulując stan takich osób.

Wszystkie urządzenia wirtualne mają te elementy sterujące:

  • QRCode: pokazuje kod QR użyty do realizacji zamówienia.
  • Restart: ponownie uruchamia urządzenie wirtualne. Urządzenie na chwilę zostanie odłączone od sieci.
  • Resetuj: resetuje bieżące urządzenie do ustawień fabrycznych i usuwa wszystkie stany, w tym stan uruchomienia, bieżące ustawienia itp.
  • Usuń: niszczy urządzenie i wraca do ekranu Utwórz urządzenie.

Ekran sterowania
urządzeniem wirtualnym

Przekazywanie urządzenia

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

Aby uruchomić urządzenie, trzeba spełnić kilka warunków:

  • Musisz mieć projekt w regionie Google Home Developer Console. Ten projekt musi zawierać integrację Matter o tej samej kombinacji identyfikatorów VID i PID co ta użyta do skonfigurowania urządzenia wirtualnego. Więcej informacji znajdziesz w przewodniku po tworzeniu projektów.

  • Musisz mieć urządzenie Google Nest Hub obsługujące 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 hub.

  • Host musi być połączony z siecią Wi-Fi.

Aby uruchomić urządzenie przy użyciu GHA, kliknij QRCode, aby wyświetlić kod QR urządzenia, a następnie postępuj zgodnie z instrukcjami w artykule Parowanie urządzenia z systemem Matter, które wyjaśniają, jak zarejestrować urządzenie Matter za pomocą GHA. Możesz też zlecić urządzeniu zamówienie Google Home Sample App for Matter.

Zapoznaj się z dokumentem MatterPrimer, aby dowiedzieć się, jak działa przekazywanie zamówień Matter.

Steruj urządzeniem

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

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

Testowanie na urządzeniu

Do testowania przy użyciu usługi Assistant zalecamy użycie symulatora wypowiedzi, np. rozszerzenia Google Home dla interfejsu VS Code lub wtyczki Google Home do Android Studio.

Wyświetlanie szczegółów urządzenia

Ekran Szczegóły urządzenia pokazuje szczegółowe informacje o urządzeniu:

  • Nazwa:przyjazna nazwa nadana urządzeniu.
  • Typ urządzenia: wybrany typ urządzenia.
  • Wyróżnik: obecny dyskryminator urządzeń.
  • Identyfikator dostawcy: bieżący identyfikator dostawcy urządzenia.
  • Identyfikator produktu: bieżący identyfikator produktu na urządzeniu.
  • Port RPC: port RPC, na którym urządzenie komunikuje się z kontrolerami (GUI).
  • Matter Port: port używany przez bieżące urządzenie do komunikacji przez sieć IP.
  • Kod dostępu: kod PIN używany do przekazania urządzenia przez sieć.
  • Folder konfiguracji: folder, w którym urządzenie wirtualne przechowuje konfigurację.
  • Informacje o prowizji: pokazuje tkaniny, z których połączono urządzenie, oraz identyfikator węzła urządzenia w tkaninie materiałowej.

Wyświetl dzienniki urządzenia

Jeśli uruchomiono MVD z terminala, dane wyjściowe logów 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ń.

Zatrzymywanie aplikacji

Zamknięcie okna kontrolnego niszczy urządzenie i zamyka aplikację MVD. Jeśli aplikacja została uruchomiona z poziomu terminala, możesz też ją zamknąć, naciskają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.

Aby przejść na tę stronę, kliknij przycisk pomocy w prawym górnym rogu okna.

Zgłoś błąd

Jeśli uważasz, że usługa MVD jest uszkodzona, możesz zgłosić błąd, klikając przycisk Problem w prawym górnym rogu okna.

Prześlij opinię

Wypełnij formularz opinii, aby przekazać nam, co Ci się podoba w usłudze MVD lub jak możemy ulepszyć to narzędzie.

Aby go uruchomić, kliknij przycisk przesyłania opinii w prawym górnym rogu okna lub przycisk poniżej.

Prześlij nam swoją opinię