Google Home Sample App for Matter używa Google Home Mobile SDK do utworzenia aplikacji na Androida podobnej do Google Home app (GHA). Ta przykładowa aplikacja udostępnia te funkcje:
- Zamawianie fizycznych i wirtualnych urządzeń Matter w ramach usługi Local Android fabric
- Zamawianie fizycznych i wirtualnych urządzeń do środowiska programistycznego
- sterować urządzeniami w swoim środowisku deweloperskim, na przykład włączać światło;
- Funkcje dla wielu administratorów umożliwiają współdzielenie urządzeń w ramach szkieletu programistycznego z innymi aplikacjami i odwrotne uwzględnianie urządzeń programistycznych udostępnianych z innych aplikacji
- Narzędzia dla programistów
W tym przewodniku opisaliśmy, jak zainstalować plik APK Sample App for Matter i jak go używać do konfigurowania, kontrolowania i udostępniania urządzeń Matter.
Jeśli chcesz pobrać kod źródłowy, dowiedzieć się, jak zintegrować Mobile SDK i dostosować ekrany w Android Studio, wykonaj nasze ćwiczenia z programowania (Sample App for Matter).
Otwórz Codelab Sample App for Matter
Wymagania wstępne
- Urządzenie z Androidem O (8.1, poziom interfejsu API 27) lub nowszym dostępne do testowania. Aby mieć pewność, że Twoje urządzenie jest obsługiwane przez najnowszą wersję Matter, zapoznaj się z instrukcją weryfikacji modułów i usług Matter.
- Utwórz urządzenie Matter z opcją włączania i wyłączania. Ta przykładowa aplikacja działa z urządzeniem wirtualnym i protokołem ESP32.
- Wirtualne urządzenie Matter (MVD). Aby zminimalizować problemy ze środowiskiem, zdecydowanie zalecamy, aby na początek użyć MVD. Jeśli kiedykolwiek napotkasz problemy, łatwiej będzie Ci sprawdzić, czy przykładowa aplikacja jest używana z MVD.
- Utwórz Matter urządzenie wirtualne za pomocą aplikacji
rootnode_dimmablelight_bCwGYSDpoe
. Gdy tworzysz integrację Matter w Google Home Developer Console, użyj0xFFF1
jako identyfikatora dostawcy i0x8000
jako identyfikatora produktu. - Zbuduj urządzenie do espressif
za pomocą
all-clusters-app
. Podczas tworzenia integracji Matter w Developer Console użyj0xFFF1
jako identyfikatora dostawcy i0x8001
jako identyfikatora produktu.
Do uruchamiania urządzeń i sterowania nimi za pomocą platformy Sample App for Matter nie potrzebujesz centrum, np. Google Nest Hub (2nd gen).
Zainstaluj
Otwórz sekcję Releases (Publikacje) w repozytorium GitHub Sample App for Matter. W najnowszej wersji znajdź w sekcji Zasoby plik APK o nazwie
GHSAFM-version-default-debug.apk
. Nie zaznaczajtargetcommissioner
.Instalowanie Android Debug Bridge (adb):
Podłącz urządzenie z Androidem do komputera za pomocą kabla USB i włącz Przekazywanie plików, a następnie zainstaluj plik APK:
$ adb unroot && adb install GHSAFM-version-default-debug.apk
Konfigurowanie urządzeń
Przy pierwszym uruchomieniu przykładowej aplikacji zobaczysz okno z linkiem do Sample App for Matterćwiczeń z programowania. Jeśli wybierzesz opcję Nie pokazuj więcej tego komunikatu, możesz w dowolnym momencie przywrócić okno, aktualizując preferencje w sekcji Administracja aplikacji.
W następnych krokach dodasz urządzenie Matter do lokalnego komponentu Androida oraz komponentu deweloperskiego, który jest lokalny tylko dla tej konkretnej aplikacji.
Czym są materiały Matter?
Tkanina Matter to wspólna domena zaufania między urządzeniami w sieci domowej, co umożliwia im komunikację ze sobą.
Urządzenia mogą mieć co najmniej jeden zestaw komponentów odpowiadający platformie, aplikacji lub grupie urządzeń, które ze sobą współpracują. Tkaniny mają unikalny identyfikator, a urządzenia korzystają z tego samego zestawu danych logowania i urzędu certyfikacji (CA). Te dane logowania są przypisywane podczas Matteruruchomienia.
Aby uruchomić urządzenie Matter, wykonaj te czynności:
Kliknij przycisk
Dodaj urządzenie, aby rozpocząć proces uruchamiania.Następnie kontrola zostaje przekazana aplikacji Google Play services, która jest uruchamiana z poziomu wywołania aplikacji Mobile SDK. Aby potwierdzić, że urządzenie należy do Ciebie, kliknij Skanuj kod QR lub Użyj kodu parowania.
Po zakończeniu konfiguracji wpisz Nazwa urządzenia i kliknij Gotowe.
Urządzenie jest teraz połączone z lokalną platformą Androida i platformą deweloperską.
Wszystkie czynności związane z uruchomieniem i powiązane z nimi ekrany są obsługiwane przez Play services podczas uruchamiania urządzeń. Zapewnia to spójne wrażenia użytkownika i eliminuje potrzebę obsługi poufnych uprawnień, takich jak uprawnienia Wi-Fi i Thread.
Sterowanie urządzeniami
Platforma programistyczna tworzy dane logowania do sterowania urządzeniamiMatter bezpośrednio z aplikacji przykładowej.
Na ekranie głównym możesz przełączyć urządzenie w pozycję włączenia lub wyłączenia. Kliknij urządzenie, aby wyświetlić jego szczegóły.
Udostępnianie urządzeń
Udostępnianie urządzenia jest w specyfikacji Matter określane jako proces wieloadministracyjny. Po zainstalowaniu na urządzeniu przykładowej aplikacji możesz łatwo udostępnić ją innym systemom.
Aby udostępniać urządzenie Matter innym systemom, musisz mieć na urządzeniu z Androidem zainstalowaną inną platformę. Ta platforma zewnętrzna stanie się komisarzem docelowym. Utworzyliśmy kolejną instancję przykładowej aplikacji, której możesz użyć jako zleceniodawcy docelowego.
Otwórz sekcję Releases (Publikacje) w repozytorium GitHub Sample App for Matter. Najnowszą wersję znajdziesz w sekcji Zasoby, w pliku APK o nazwie
GHSAFM-version-targetcommissioner-debug.apk
. Nie wybieraj opcjidefault
.Zainstaluj docelowego komisarza.
$ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apk
Na ekranie głównym kliknij urządzenie, aby wyświetlić informacje o nim. Kliknij Udostępnij.
Przykładowa aplikacja wywołuje interfejs API udostępniania Mobile SDK i ponownie przekazuje kontrolę do Play services.
Wyświetli się panel udostępniania, na którym możesz wybrać aplikację lub platformę, z którą chcesz sparować urządzenie. Na tym ekranie możesz udostępnić urządzenie na 2 sposoby:
- Ręcznie za pomocą kodu konfiguracyjnego, który należy udostępnić aplikacji docelowego zleceniodawcy.
- za pomocą lokalnej aplikacji na Androida zarejestrowanej jako komisarz ds. zasad Matter
Docelowa aplikacja komisarza ma etykietę GHSAFM-TC. Aby udostępnić urządzenie, kliknij tę instancję przykładowej aplikacji.
Następnie aplikacja zewnętrzna (target commissioner) kończy konfigurowanie urządzenia w ramach własnej architektury.
Ustawienia
Na ekranie głównym kliknij ikonę ustawień
. Możesz tu zaktualizować preferencje użytkownika, uzyskać pomoc i dowiedzieć się więcej o aplikacji.Powiadomienie w połowie ekranu
Na ekranie Ustawienia możesz wyłączyć proaktywne powiadomienia o możliwości zarobku w przypadku urządzeń Matter.
Jeśli Twoja aplikacja zapewnia własny proces Matterwyszukiwania lub zlecania, możesz chcieć wyłączyć te powiadomienia, aby zapobiec przerwom. Więcej informacji znajdziesz w artykule Wyłączenie powiadomień o możliwości odkrycia z możliwością zarobku.
Narzędzia dla programistów
Na ekranie Ustawienia znajdziesz też Narzędzia dla programistów.
Aby sprawdzić zawartość repozytoriów DataStore preferencji urządzenia i użytkownika w Logcat, wykonaj te czynności:
Kliknij Zapisz zawartość repozytorium.
Kliknij OK w oknie dialogowym, a następnie sprawdź Logcat.
Opinie i pomoc
Jeśli chcesz przekazać nam swoje przemyślenia lub opinię na temat tego, jak możemy ulepszyć proces programowania w Sample App for Matter, wypełnij formularz opinii.
Jeśli masz problemy z Sample App for Matter, wykonaj te czynności, aby sprawdzić środowisko:
Jeśli masz pytania dotyczące korzystania z przykładowej aplikacji lub znajdziesz błąd w kodzie, możesz zgłosić problemy w śledziku problemów w repozytorium GitHub:
Aby uzyskać oficjalne wskazówki od Google w kwestiach technicznych, odwiedź forum dla deweloperów dotyczące inteligentnego domu:
Aby uzyskać pomoc techniczną od społeczności, użyj tagu google-smart-home
na Stack Overflow: