Wirtualne urządzenia Matter są przydatne do tworzenia i testowania rozwiązań Matter. Można je uruchamiać za pomocą Google Home app (GHA) i sterować nimi za pomocą GHA oraz Google Assistant, tak jak w przypadku fizycznych urządzeń 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®, aby dołączyć do sieci 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.
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:
Matter Typ urządzenia | Klastry aplikacji | Typ ekosystemu domowego |
---|---|---|
Podstawowy odtwarzacz wideo |
0x0006 0x0506 0x0509 |
Telewizja |
Temperatura barwy |
0x0300 0x0008 0x0006 |
Jasny |
Czujnik kontaktowy |
0x0045 |
Sensor |
światło z możliwością przyciemniania, |
0x0008 0x0006 |
Jasny |
Zamek do drzwi |
0x0101 |
Zablokuj |
Extended Color Light |
0x0300 0x0008 0x0006 |
Jasny |
Wentylator |
0x0202 0x0006 |
Fan |
Czujnik przepływu |
0x0404 |
Sensor |
Przełącznik ogólny |
0x003b |
Przełącz |
Czujnik wilgotności |
0x0405 |
Sensor |
Czujnik światła |
0x0400 |
Sensor |
Czujnik obecności |
0x0406 |
Sensor |
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 |
Sensor |
Pompa |
0x0006 0x0200 0x0402 0x0403 0x0404 |
Pompa wodna |
Odkurzacz automatyczny |
0x0054 0x0055 0x0061 |
Odkurzanie |
Klimatyzator pokojowy |
0x0006 0x0201 0x0202 |
Ac |
Alarm z czujnika dymu i tlenku węgla |
0x005C |
Smoke |
Czujnik temperatury |
0x0402 |
Sensor |
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.4.0_amd64.deb
macOS
Pobierz plik dmg (macOS x86) z MVD
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
:
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
do0x801F
.
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ć aktualne aktywne reguły zapory sieciowej netfilter, uruchom:
sudo iptables -L -n
Jeśli używasz `ufw`, możesz go wyłączyć:
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:
- Otwórz menu Apple i wybierz Ustawienia systemu.
- Na liście na pasku bocznym kliknij Sieć.
- Kliknij Zapora sieciowa.
- 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.
Konfigurowanie urządzenia
Urządzenie jest gotowe do użycia od momentu utworzenia.
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ć Google Nest Hub obsługujący 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 wdrożyć 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 wdrożyć urządzenie Matter za pomocą GHA. Możesz też uruchomić urządzenie za pomocą Google Home Sample App for Matter.
Zapoznaj się z artykułem Matter Primer, aby dowiedzieć się więcej o Matter działaniu komisji.
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, jednocześnie monitorując zmiany 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 działania 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 do tej strony.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.