Urządzenie wirtualne

Pakiet SDK urządzenia

Urządzenia wirtualne Matter przydają się przy tworzeniu i testowaniu rozwiązań Matter. Można je uruchomić na zlecenie w interfejsie Google Home app (GHA), a sterować nimi za pomocą GHA i Google Assistant, tak jak w przypadku fizycznych urządzeń Matter.

Deweloperzy aplikacji i inni, którzy chcą przetestować lub emulować urządzenie wirtualne z systemem Matter, ale nie mają zasobów, by stworzyć własne fizyczne lub wirtualne urządzenie Matter, Google oferuje Matter Virtual Device (MVD). MVD to lekkie, niezależne narzędzie komputerowe dla systemu Linux lub macOS, 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ądzeń wirtualnych Matter.

W przeciwieństwie do fizycznego urządzenia Matter MVD nie używa Bluetooth® Low Energy (BLE) ani Thread® do łączenia tkaniny Matter. Zamiast tego do uruchamiania używa istniejącego połączenia Wi-Fi 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, 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ż za sobą ćwiczenia z programowania w usłudze MVD-DE. W ramach tego ćwiczenia w programowaniu 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 wirtualnych urządzeń Matter
MVD VDC MVD-DE (ćwiczenia z programowania)
Emuluj urządzenie ze standardem Matter
Sterowanie emulowanym urządzeniem Matter
Wymagane nakłady programistyczne
Pobieranie mniej niż 100 MB 9 GB 20 GB

Obsługiwane urządzenia

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

Tabela: Matter typy urządzeń obsługiwanych przez MVD
Matter typ urządzenia Klastry aplikacji Typ ekosystemu domowego
Podstawowy odtwarzacz wideo 0x0006
0x0506
0x0509
Telewizja
Temperatura kolorów – światło 0x0300
0x0008
0x0006
Słabe
Czujnik kontaktu 0x0045
Czujnik
Z możliwością przyciemnienia 0x0008
0x0006
Słabe
Zamek do drzwi 0x0101
Zablokuj
Rozszerzona jasna kolorowa 0x0300
0x0008
0x0006
Słabe
Wentylator 0x0202
0x0006
Fan
Czujnik przepływu 0x0404
Czujnik
Standardowe przejście 0x003b
Przełącz
Czujnik wilgotności 0x0405
Czujnik
Czujnik oświetlenia 0x0400
Czujnik
Czujnik obecności 0x0406
Czujnik
Włącz/wyłącz diodę 0x0008
0x0006
Słabe
Włącz/wyłącz światło 0x0006
Przełącz
Moduł do włączania i wyłączania 0x0008
0x0006
Wyjście
Czujnik ciśnienia 0x0403
Czujnik
Pompa 0x0006
0x0200
0x0402
0x0403
0x0404
Nie dotyczy
Odkurzacz automatyczny 0x0054
0x0055
0x0061
Odkurzacz
Klimatyzacja pokojowa 0x0006
0x0201
0x0202
AC
Czujnik dymu tlenowego 0x005C
Zadymienie
Czujnik temperatury 0x0402
Czujnik
Termostat 0x0201
Termostat
Okna 0x0102
Żaluzje

Zainstaluj MVD

MVD działa na komputerach z 64-bitowymi procesorami x86 i z systemem Debian (w wersji 11 lub nowszej), Ubuntu (w wersji 20.04 lub nowszej) oraz macOS.

Linux

Pobierz pakiet MVD Debian (.deb)

Pobierz plik z podpisem ASCII (.asc)

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

sudo dpkg -i mvd_1.4.0_amd64.deb

macOS

Pobieranie pliku dmg MVD (macOS x86)

Pobieranie pliku 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:

Zainstaluj system macOS

Sprawdź wykorzystanie portów

Moduł kontrolera w MVD używa portu TCP 33000 do wywoływania 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 którykolwiek proces korzysta z portu 33000:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

Możesz zamknąć dowolny proces na porcie TCP 33000 za pomocą jednego polecenia:

Linux

sudo fuser -k 33000/tcp

macOS

lsof -ti:33000 | xargs kill

Uruchom MVD

Linux

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

mvd

macOS

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

cd /Applications
open mvd.app

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. Lampka, 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óżniania między wieloma reklamami urządzeń, na których można zarabiać. (Domyślnie: 3840).
  • Port Matter: port na potrzeby uruchamiania Matter oraz komunikacji przez sieci IP. Matter domyślnie używa portu TCP/UDP 5540, ale możesz skonfigurować urządzenie wirtualne do korzystania z innego portu, o ile nie korzysta z niego żadna inna usługa.
  • Identyfikator dostawcy: obsługiwany jest tylko identyfikator dostawcy testowego 0xFFF1.
  • Identyfikator produktu: obsługiwane są tylko testowe identyfikatory produktów od 0x8000 do 0x801F.

Ekran konfiguracji
urządzenia wirtualnego

Konfigurowanie zapory sieciowej

Linux

Jeśli na komputerze masz uruchomioną zaporę sieciową, wyłącz ją lub zezwól na przychodzące połączenia TCP/UDP przez port Matter.

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

sudo iptables -L -n

Jeśli używasz parametru „ufw”, możesz go wyłączyć za pomocą:

sudo ufw disable

Można ją 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 System Settings (Ustawienia systemu).
  2. Kliknij Sieć na liście na pasku bocznym.
  3. Kliknij Zapora sieciowa.
  4. Przesuń przełącznik Zapora sieciowa na pozycję Wyłączona.

Uruchom urządzenie

Po skonfigurowaniu urządzenia kliknij Utwórz urządzenie. Po utworzeniu urządzenia pojawi się ekran Kontrolera. W zależności od wybranego typu urządzenia możesz zobaczyć co najmniej jedną z tych opcji:

  • Wł./Wył.: typowa dla większości urządzeń.
  • Poziom: na przykład światło może mieć suwak poziomu umożliwiający regulację jasności.
  • Kolor: na przykład światło kolorowe może mieć to ustawienie.
  • Objętość: czujnik obecności zapewnia to ustawienie, aby symulować użytkowników, którzy w danej chwili przebywają.

Wszystkie urządzenia wirtualne mają następujące opcje:

  • QRCode: pokazuje kod QR używany do uruchomienia.
  • Uruchom ponownie: uruchamia ponownie urządzenie wirtualne. Urządzenie zostanie na chwilę odłączone od sieci.
  • Przywracanie: resetuje bieżące urządzenie do ustawień fabrycznych i usuwa wszystkie stany, w tym stan uruchomienia, bieżący stan elementów sterujących itp.
  • Usuwanie: niszczy urządzenie i wraca do ekranu Utwórz urządzenie.

Ekran sterowania urządzeniem wirtualnym

Przekaż urządzenie

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ć Google Nest Hub obsługujące sprawy.

  • 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.

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

Aby uruchomić urządzenie za pomocą: GHA, kliknij QRCode (Kod QR) i wyświetl kod QR urządzenia. Następnie postępuj zgodnie z instrukcjami podanymi w sekcji Sparuj urządzenie Matter, które wyjaśniają, jak zarejestrować urządzenie Matter za pomocą GHA. Urządzenie możesz też zlecić, korzystając z: Google Home Sample App for Matter.

Aby dowiedzieć się, jak działa uruchamianie Matter, zapoznaj się z dokumentem MatterPrimer.

Sterowanie urządzeniem

Po zleceniu uruchomienia 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ą narzędzia Sample App for Matter,jednocześnie monitorując zmiany stanu na urządzeniu wirtualnym.
  • Kontroluj stan urządzenia za pomocą samego interfejsu MVD, monitorując zmiany stanu w GHA lub Assistant.

Testowanie na urządzeniu

Do testowania przy użyciu Assistant zalecamy korzystanie z symulatora wypowiedzi, np. Google Home Extension for VS Code lub wtyczki Google Home do Android Studio.

Wyświetlanie szczegółów urządzenia

Ekran Szczegóły urządzenia wyświetla 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, 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 przekazania urządzenia przez sieć.
  • Folder konfiguracji: folder, w którym urządzenie wirtualne przechowuje konfigurację.
  • Informacje o prowizji: pokazuje tkaninę, do której zostało połączone urządzenie, oraz identyfikator węzła urządzenia w tkaninie.

Wyświetl logi urządzenia

Jeśli uruchomiłeś(-aś) MVD z terminala, dane wyjściowe logów pojawią się na stdout. Możesz też wyświetlić dzienniki urządzenia na karcie Dzienniki urządzenia.

Zatrzymaj urządzenie

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

Zamknij aplikację

Zamknięcie okna sterującego niszczy urządzenie i kończy aplikację MVD. Jeśli aplikacja została uruchomiona z terminala, możesz też ją zamknąć, naciskając w terminalu Ctrl+C.

Uzyskaj 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 znalazłeś usterkę w usłudze MVD, możesz zgłosić błąd, klikając przycisk Zgłoszenie w prawym górnym rogu okna.

Prześlij opinię

Aby przekazać nam swoje uwagi na temat usługi MVD lub podpowiedzi, jak możemy ulepszyć narzędzie, wypełnij nasz formularz opinii.

Aby uruchomić formularz, kliknij przycisk opinii w prawym górnym rogu okna lub przycisk poniżej.

Prześlij nam swoją opinię