Urządzenie wirtualne

Pakiet SDK urządzenia

Wirtualne urządzenia Matter są przydatne do tworzenia i testowania rozwiązań Matter. Można je uruchamiać za pomocą interfejsu Google Home app (GHA) oraz kontrolować za pomocą interfejsów GHAGoogle Assistant, tak jak fizyczne urządzenia Matter.

Dla deweloperów aplikacji i innych osób, które chcą przetestować lub emulować wirtualne urządzenie Matter, ale nie mają zasobów do stworzenia własnego fizycznego lub wirtualnego Matter urządzenia, Google udostępnia Matter Virtual Device (MVD). MVD to lekkie samodzielne narzędzie na komputery z systemem Linux lub macOS, które symuluje różne typy wirtualnych urządzeń Matter i udostępnia graficzny interfejs użytkownika do kontrolowania i wyświetlania stanów wirtualnego urządzenia Matter.

W przeciwieństwie do fizycznego urządzenia Matter MVD nie korzysta z Bluetooth® Low Energy (BLE) ani Thread® do łączenia się z usługą Matter. Zamiast tego do uruchomienia używa istniejącego połączenia z siecią Wi-Fi hosta maszyny z systemem Linux lub macOS.

W porównaniu z innymi narzędziami

MVD różni się od Virtual Device Controller (VDC) tym, że jest to samodzielne rozwiązanie, które łączy wirtualne urządzenie z interfejsem do jego obsługi. Natomiast VDC służy do sterowania osobnym wirtualnym urządzeniem Matter, takim jak to, które tworzymy w Matter Virtual Device Development Environment (MVD-DE).

Być może korzystałeś(-aś) już z laboratorium kodu MVD-DE. W tym codelab zbudujesz jeden typ urządzenia wirtualnego – inteligentą żarówkę. Natomiast MVD zawiera kilka wstępnie utworzonych urządzeń wirtualnych i zintegrowany interfejs użytkownika do ich uruchamiania i sterowania nimi.

Tabela: porównanie narzędzi do obsługi wirtualnychMatter
MVD VDC MVD-DE (Codelab)
Emulowanie urządzenia Matter
Sterowanie emulowanym urządzeniem Matter
Wymagane nakłady pracy związane z rozwojem
Pobierz 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
Oczyszczacz powietrza 0x0202
0x0006
0x0071
Oczyszczacz powietrza
Czujnik jakości powietrza 0x005b
0x0402
0x0405
0x040c
0x040d
0x042a
0x042d
0x042e
Czujnik
Podstawowy odtwarzacz wideo 0x0006
0x0506
0x0509
Telewizja
Temperatura barwy 0x0300
0x0008
0x0006
Jasny
Czujnik kontaktowy 0x0045
Czujnik
światło z możliwością przyciemniania, 0x0008
0x0006
Jasny
Blokada drzwi 0x0101
Zablokuj
Extended Color Light 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
Czujnik światła 0x0400
Czujnik
Czujnik obecności 0x0406
Czujnik
Włączanie i wyłączanie światła 0x0008
0x0006
Jasny
Włącznik światła On/Off 0x0006
Przełącz
Jednostka włączania i wyłączania 0x0008
0x0006
Gniazdko
Czujnik ciśnienia 0x0403
Czujnik
Pompa 0x0006
0x0200
0x0402
0x0403
0x0404
Pompa wodna
Odkurzacz automatyczny 0x0054
0x0055
0x0061
Odkurzacz
Klimatyzator pokojowy 0x0006
0x0201
0x0202
Ac
Alarm dymu i tlenku węgla 0x005C
Smoke
Czujnik temperatury 0x0402
Czujnik
Termostat 0x0201
Termostat
Zasłony okienne 0x0102
Żaluzje

Instalowanie MVD

MVD działa na komputerach z 64-bitowym procesorem x86 z systemem Debian (11 lub nowszy), Ubuntu (20.04 lub nowszy) lub macOS.

Linux

Pobierz pakiet MVD Debiana (.deb)

Pobierz plik z podpisem w formacie ASCII (.asc)

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

sudo dpkg -i mvd_1.5.0_amd64.deb

macOS

Pobierz plik dmg (macOS x86)

Pobierz plik dmg MVD (ARM64 M1)

Następnie kliknij dwukrotnie plik dmg, aby otworzyć okno instalacji.

Aby zakończyć instalację, kliknij i przeciągnij ikonę mvd do folderu Applications:

Instalacja w systemie macOS

Sprawdzanie wykorzystania portu

Moduł kontrolera w MVD używa portu TCP 33000 do wykonywania wywołań RPC do urządzenia wirtualnego, więc jeśli port jest już używany przez inny proces na komputerze, pamiętaj, aby go zwolnić.

Aby sprawdzić, czy jakiś proces używa portu 33000:

Linux

sudo fuser -v 33000/tcp

macOS

lsof -i:33000

Możesz zakończyć dowolny 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 użyj Launchpad, aby otworzyć MVD, lub uruchom MVD w terminalu:

cd /Applications
open mvd.app

Konfigurowanie urządzenia

Po uruchomieniu pojawia się ekran główny, na którym można skonfigurować urządzenie wirtualne:

  • Typ urządzenia: wybierz typ urządzenia (np. światło, przełącznik, czujnik itp.).
  • Nazwa urządzenia: podaj czytelną nazwę urządzenia.
  • Element różnicujący: 12-bitowa liczba używana do rozróżniania wielu reklam z możliwością zarobku na urządzeniu. (wartość domyślna: 3840).
  • Matter Port: port do Matter commissioning 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 żadna inna usługa go nie używa.
  • Identyfikator dostawcy: obsługiwany jest tylko testowy identyfikator dostawcy 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 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ą:

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 systemu.
  2. Na liście na pasku bocznym kliknij Sieć.
  3. Kliknij Zapora sieciowa.
  4. Przesuń przełącznik Firewall do pozycji wyłączonej.

Uruchom urządzenie

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

  • Wł./wył.: dotyczy większości urządzeń.
  • Poziom: na przykład lampa może mieć suwak poziomu do regulacji jasności.
  • Kolor: ta opcja może być używana na przykład w przypadku światła kolorowego.
  • Obecność: czujnik obecności oferuje tę opcję, aby symulować stan zajętości lub braku obecności.

Wszystkie urządzenia wirtualne mają te opcje:

  • QRCode: wyświetla kod QR używany do uruchomienia.
  • Ponowne uruchamianie: uruchamia ponownie urządzenie wirtualne. Urządzenie jest tymczasowo odłączone od sieci.
  • Reset: przywraca urządzenie do ustawień fabrycznych i kasuje wszystkie stany, w tym ustawienia, stany elementów sterujących itp.
  • Usuń: usuwa urządzenie i przenosi Cię z powrotem do ekranu Utwórz urządzenie.

Ekran sterowania urządzeniem wirtualnym

Konfigurowanie urządzenia

Urządzenie jest gotowe do użycia od razu po utworzeniu.

Wdrożenie urządzenia wymaga spełnienia kilku wymagań wstępnych:

  • Musisz mieć projekt w Google Home Developer Console. Ten projekt musi zawierać integrację Matter z tą samą kombinacją VID/PID, co podczas konfigurowania urządzenia wirtualnego. Szczegółowe informacje znajdziesz w przewodniku tworzenia projektu.

  • Musisz mieć urządzenie Google Nest Hub obsługujące Matter.

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

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

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

Aby skonfigurować urządzenie za pomocą GHA, kliknij QRCode, aby wyświetlić kod QR urządzenia, a następnie postępuj zgodnie z instrukcjami w Instrukcji parowania urządzenia Matter, które wyjaśniają, jak skonfigurować urządzenie Matter za pomocą urządzenia GHA. Możesz też uruchomić urządzenie za pomocą Google Home Sample App for Matter.

Zapoznaj się z Matter informacjami wstępnymi, aby dowiedzieć się, jak działa Matter ustalanie prowizji.

Sterowanie urządzeniem

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

  • Sterowanie urządzeniem za pomocą GHA lub Assistant podczas monitorowania zmian stanu urządzenia wirtualnego.
  • Sterowanie urządzeniem za pomocą Sample App for Matter i monitorowanie zmian stanu na urządzeniu wirtualnym.
  • Sterowanie stanem urządzenia za pomocą MVD, z jednoczesnym monitorowaniem zmian stanu w GHA lub Assistant.

Testowanie na urządzeniu

Aby przetestować Assistant, zalecamy użycie symulatora wypowiedzi, takiego jak Google Home Extension for VS Code lub Google Home Plugin for Android Studio.

Wyświetlanie szczegółów urządzenia

Na ekranie Szczegóły urządzenia znajdziesz szczegółowe informacje o urządzeniu:

  • Nazwa: przyjazna nazwa urządzenia.
  • Typ urządzenia: wybrany typ urządzenia.
  • Wyróżnik: wyróżnik bieżącego urządzenia.
  • Identyfikator dostawcy: identyfikator dostawcy bieżącego urządzenia.
  • Identyfikator produktu: identyfikator produktu na bieżącym urządzeniu.
  • Port RPC: port RPC, za pomocą którego 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 aktywacji urządzenia w sieci.
  • Folder konfiguracji: folder, w którym urządzenie wirtualne przechowuje konfigurację.
  • Informacje o prowizji: wyświetla sieci, do których dołączyło urządzenie, oraz identyfikator węzła urządzenia w tej sieci.

Wyświetlanie logów urządzenia

Jeśli MVD została uruchomiona z poziomu terminala, dane wyjściowe dziennika pojawią się na stdout. Dzienniki urządzenia możesz też wyświetlić na karcie Dzienniki urządzenia.

Zatrzymaj urządzenie

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

Zakończ aplikację

Zamknięcie okna sterowania powoduje zniszczenie urządzenia i zakończenie aplikacji MVD. Jeśli aplikacja została uruchomiona z terminala, możesz ją też zamknąć, wpisując w terminalu Ctrl-C.

Pomoc

Aby uzyskać pomoc dotyczącą MVD, zgłosić błąd lub poprosić o dodanie nowej funkcji, skontaktuj się z zespołem pomocy Google.

Kliknięcie przycisku pomocy  w prawym górnym rogu okna spowoduje przejście na tę stronę.

Zgłoś błąd

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

Prześlij opinię

Aby przesłać opinię o tym, co Ci się podoba w MVD, lub o tym, jak możemy ulepszyć to narzędzie, wypełnij nasz formularz opinii.

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

Prześlij nam swoją opinię