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.
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):
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
do0x801F
.
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.
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.