Urządzenie wirtualne Matter

Sprawa Pakiet SDK urządzenia

Urządzenia wirtualne typu Matter przydają się do tworzenia i testowania rozwiązań w systemie Matter. Można je zamówić na podstawie właściwości Google Home app (GHA) i kontrolować za pomocą GHA oraz Google Assistant, tak jak fizyczne urządzenia Matter.

Deweloperom aplikacji i innym osobom, które chcą przetestować lub emulować wirtualne urządzenie Matter, ale nie mają zasobów do stworzenia własnego fizycznego lub wirtualnego urządzenia Matter, Google oferuje Matter Virtual Device (MVD). MVD to lekkie narzędzie dla niezależnych użytkowników systemu Linux, które symuluje różne typy wirtualnych urządzeń Matter i ma graficzny interfejs użytkownika umożliwiający kontrolowanie i wyświetlanie stanu urządzenia wirtualnego Matter.

W przeciwieństwie do fizycznego urządzenia Matter MVD nie łączy się przez tkaninę Matter z technologią Bluetooth® Low Energy (BLE) ani Thread®. Zamiast tego do pobierania używa on dotychczasowego połączenia sieciowego Wi-Fi hosta.

W porównaniu z innymi narzędziami

MVD różni się od Virtual Device Controller (VDC) tym, że jest autonomicznym rozwiązaniem, które łączy urządzenie wirtualne z interfejsem użytkownika do sterowania. VDC służy natomiast do sterowania oddzielnym wirtualnym urządzeniem Matter, takim jak Matter Virtual Device Development Environment (MVD-DE).

Być może znasz już program ćwiczeń z programowania MVD-DE. Dzięki temu ćwiczeniu z programowania stworzysz jeden typ urządzenia wirtualnego – inteligentną żarówkę. Z kolei MVD zawiera kilka różnych urządzeń wirtualnych oraz zintegrowany interfejs do uruchamiania i sterowania nimi.

Tabela: porównanie wirtualnych Matter narzędzi
MVD VDC MVD-DE (ćwiczenia z programowania)
Emuluj urządzenie Matter
Sterowanie urządzeniem emulowanym w standardzie Matter
Wymagana pracochłonność
Pobieranie poniżej 100 MB 9 GB 20 GB

Obsługiwane urządzenia

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

)
Tabela: obsługiwane typy urządzeń Matter (MVD
Matter typ urządzenia Klastry aplikacji Typ ekosystemu domowego
Temperatura kolorów 0x0300
0x0008
0x0006
Jasny
Przyciemniane światło 0x0008
0x0006
Jasny
Rozszerzona kolor światła 0x0300
0x0008
0x0006
Jasny
Czujnik obecności 0x0406
Czujnik
Włącz/wyłącz światło 0x0008
0x0006
Jasny
Włącznik/wyłącznik 0x0008
0x0006
Outlet

Zainstaluj MVD

MVD działa na 64-bitowych procesorach x86 z Debianem (11 lub nowszym) lub Ubuntu (20.04 lub nowszym).

Aby go zainstalować:

Pobierz pakiet MVD Debian (.deb)

Pobierz plik podpisu ( Armated-ASCII) (.asc)

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

sudo dpkg -i mvd_1.1.0_amd64.deb

Sprawdź wykorzystanie portów

Moduł kontrolera w porcie 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, musisz go zwolnić.

Aby dowiedzieć się, czy jakakolwiek procedura używa portu 33000:

sudo fuser -v 33000/tcp

Za pomocą tego polecenia możesz zakończyć każdy proces przy użyciu portu TCP 33000:

sudo fuser -k 33000/tcp

Uruchom MVD

Uruchom plik MVD w folderze aplikacji lub w terminalu:

mvd

Skonfiguruj urządzenie

Po uruchomieniu pojawi 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 itd.).
  • Nazwa urządzenia: nadaj urządzeniu łatwą w użyciu nazwę.
  • Rozróżnianie: 12-bitowa liczba służąca do odróżniania wielu reklam z możliwością zamówienia na urządzeniu. (Domyślnie: 3840).
  • Port Matter: port na potrzeby prowizji i komunikacji Matter w sieciach IP. Funkcja Matter domyślnie używa portu TCP/UDP 5540, ale możesz skonfigurować urządzenie wirtualne tak, by używało innego portu, o ile nie korzysta z niego żadna inna usługa.
  • Identyfikator dostawcy: obecnie obsługiwany jest tylko testowy identyfikator dostawcy 0xFFF1.
  • Identyfikator produktu: obecnie obsługiwane są tylko 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 przychodzące połączenia TCP/UDP na porcie Matter.

Aby wyświetlić obecne aktywne reguły zapory sieciowej netfilter, uruchom:

sudo iptables -L -n

Uwaga: jeśli korzystasz z usługi ufw, możesz ją wyłączyć za pomocą:

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

Uruchom urządzenie

Po skonfigurowaniu urządzenia kliknij Utwórz urządzenie. Po utworzeniu urządzenia pojawi się ekran Kontrolera. Zależnie od wybranego typu urządzeń dostępne są następujące opcje:

  • Wł./Wył.: typowe dla większości urządzeń.
  • Poziom: na przykład światło może mieć suwak poziomu, aby dostosować jasność.
  • Kolor: na przykład kolorem może być dioda kolorów.
  • Funkcja obłożenia: ten czujnik służy do symulowania stanu obłożenia/nieobecnego.

Wszystkie urządzenia wirtualne mają te ustawienia:

  • QRCode: kod QR używany do prowizji.
  • Uruchom ponownie: powoduje ponowne uruchomienie urządzenia wirtualnego. Urządzenie zostanie na chwilę odłączone od sieci.
  • Resetuj: powoduje przywrócenie bieżącego urządzenia do ustawień fabrycznych i wyczyszczenie całego stanu, w tym prowizji, bieżącego stanu elementów sterujących itd.
  • Usuń: niszczy urządzenie i wraca do ekranu Utwórz urządzenie.

Ekran sterowania
urządzeniem wirtualnym

Prowizja urządzenia

Urządzenie jest gotowe do działania od razu po jego utworzeniu.

Aby zlecić działanie urządzenia, musisz spełnić kilka wymagań:

  • Musisz mieć projekt w tym języku: Google Home Developer Console. Ten projekt musi zawierać integrację Matter, która ma tę samą kombinację identyfikatora (VID/PID) jak ta użyta podczas konfigurowania urządzenia wirtualnego. Więcej informacji znajdziesz w instrukcji tworzenia projektu.

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

  • Komputer 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 parowania urządzenia Matter, które wyjaśniają, jak zarejestrować urządzenie Matter za pomocą GHA. Możesz też zlecić to zadanie narzędziu Google Home Sample App for Matter.

Poczytaj o Matter Primer funkcjonowaniu prowizji Matter.

Sterowanie urządzeniem

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

  • steruj urządzeniem za pomocą GHA lub Assistant, monitorując zmiany stanu urządzenia wirtualnego,
  • steruj urządzeniem za pomocą Sample App for Matter,monitorując zmiany stanu na urządzeniu wirtualnym.
  • Możesz kontrolować stan urządzenia za pomocą samego działania MVD i monitorować zmiany stanu w GHA lub Assistant.

Testowanie na urządzeniu

Jeśli chcesz przetestować aplikację Assistant, zalecamy użycie symulatora mowy, takiego jak Google Home Extension for VS Code czy Google Home Plugin for Android Studio.

Wyświetl szczegóły urządzenia

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

  • Nazwa: przyjazna nazwa urządzenia.
  • Typ urządzenia: wybrany typ urządzenia.
  • Dystronista: aktualna dyskryminacja urządzenia.
  • Identyfikator dostawcy: aktualny identyfikator dostawcy urządzenia.
  • Identyfikator produktu: aktualny identyfikator produktu.
  • Port RPC: port RPC, z którym 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 przez sieć.
  • Folder Configuration (Folder konfiguracji): folder, w którym jest przechowywane urządzenie wirtualne.
  • Informacje o prowizji: pokazuje tkaniny, z których urządzenie zostało połączone, oraz identyfikator węzła urządzenia w tkaninie

Wyświetl logi urządzenia

Jeśli uruchomisz MVD z terminala, dane logu pojawią się stdout. Możesz też przejrzeć dzienniki urządzenia na karcie Dzienniki urządzeń.

Zatrzymaj urządzenie

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

Zamknij aplikację

Zamknięcie okna sterowania spowoduje zniszczenie urządzenia i zamknięcie aplikacji MVD. Jeśli program został uruchomiony z poziomu terminala, możesz też zakończyć go, wpisując w terminalu Ctrl+C.

Pomoc

Aby uzyskać pomoc związaną z usługą 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 MVD nie jest poprawny, możesz zgłosić błąd, klikając przycisk Problem w prawym górnym rogu okna.

Prześlij opinię

Aby przesłać nam swoją opinię o usłudze MVD lub o tym, w jaki sposób możemy ją ulepszyć, wypełnij formularz.

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

Prześlij nam swoją opinię