Rozwiązywanie problemów ze standardem Matter

Tworzę

Sprawdź, czy telefon jest zgodny

Wszystkie urządzenia z Android O (8.1, poziom interfejsu API 27) i nowsze są zgodne z Matter. Wykonaj poniższe czynności, aby sprawdzić, czy telefon zawiera niezbędne moduły.

Konfigurowanie narzędzia Android Debug Bridge

Przed rozpoczęciem rozwiązywania problemów skonfiguruj Android Debug Bridge (adb). Aby to zrobić:

  1. Zainstaluj na komputerze plik „adb”.
  2. Na telefonie Android włącz Opcje programisty i debugowanie USB.

Weryfikacja modułów Matter w Usługach Google Play (GPS)

Aby sprawdzić, czy masz moduły Google Play services Matter, wykonaj te czynności:

  1. Skonfiguruj Android Debug Bridge.
  2. Podłącz telefon Android do komputera kablem USB.
  3. Uruchom to polecenie w terminalu, aby sprawdzić, czy są zainstalowane niezbędne moduły Matter:
      adb shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep "com.google.android.gms.home"
      
    
    Jeśli zobaczysz dane wyjściowe podobne do przedstawionych poniżej, oznacza to, że masz zainstalowane moduły Matter:
    com.google.android.gms.home [v222110900]
    Powyższy numer wersji może różnić się od numeru Twojego urządzenia.
  4. Uruchom to polecenie w terminalu, aby sprawdzić, czy są zainstalowane niezbędne moduły Thread:
      adb shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep "com.google.android.gms.threadnetwork"
      
    
    Jeśli zobaczysz dane wyjściowe podobne jak w przykładzie poniżej, oznacza to, że masz zainstalowane moduły Thread:
    com.google.android.gms.threadnetwork [v222106301]
    Pamiętaj, że numer wersji na urządzeniu może być inny.

Jeśli modułów nie ma na liście, oznacza to, że:

  1. Masz nieaktualną wersję języka Android. Sprawdź, czy jest to AndroidO (8.1) lub większy.
  2. Moduły Matter nie zostały jeszcze pobrane. Zaczekaj co najmniej 24 godziny na ich pobranie. Upewnij się, że urządzenie jest w tym czasie włączone i ładowane, aby uniknąć opóźnień w pobieraniu. Jeśli moduły nie otrzymasz w ciągu 24 godzin, możesz spróbować przywrócić dane fabryczne urządzenia, aby wymusić ich pobranie.

Logi urządzenia centrali Fuchsia

Aby włączyć centrum lokalnego pobierania logów:

  1. Wyślij e-maila z numerem seryjnym i modelem swoich urządzeń na konto Technical Account Manager (TAM) Google. Są zapisane małymi literami pod urządzeniem.
  2. Gdy ta funkcja zostanie dodana do listy dozwolonych, musisz ją włączyć, wykonując te czynności:
    • Z centrum:
      1. Przesuń palcem z góry ekranu w dół
      2. Kliknij ikonę Ustawienia .
      3. Sprawdzanie wersji systemu Fuchsia: na urządzeniu z systemem Google Nest Hub (2nd gen) otwórz Informacje o urządzeniu > Informacje techniczne > Wersja Fuchsia.
      4. Kliknij 7 razy „Wersja Fussia”. Spowoduje to włączenie opcji programisty
      5. Wróć do menu najwyższego poziomu
      6. Kliknij „Opcje programisty”.
      7. Kliknij „Logowanie partnera”.
    • Funkcja zostanie włączona na 24 godziny. Następnie ponownie włącz funkcję rejestrowania od kroku 5.
  3. Uzyskaj adres IP swojego centrum:
    • W centrum, jeśli ma ekran:
      1. Przesuń palcem z góry ekranu w dół
      2. Kliknij ikonę Ustawienia .
      3. Znajdź adres IP urządzenia: na urządzeniu Nest Hub (2nd gen) kliknij Informacje o urządzeniu > Informacje techniczne > Adres IP.
    • Z usługi Google Home app (GHA) na telefonie:
      1. Kliknij urządzenie, aby otworzyć stronę z informacjami o nim.
      2. Kliknij ikonę Ustawienia , aby otworzyć stronę ustawień.
      3. Znaleźć adres IP urządzenia: kliknij Informacje o urządzeniu > Informacje techniczne > Adres IP.
  4. Aby pobrać logi z centrum, wyślij do centrum żądania HTTP GET z komputera w tej samej sieci Wi-Fi.
    • Zanotuj port i ścieżkę punktu końcowego:
      curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file
      
    • Połączenie może pozostawać otwarte tylko przez minutę, ale dane pobrane z bufora mają zwykle 20–30 minut przeszłych zdarzeń.
      • W idealnej sytuacji dzienniki są wyodrębniane natychmiast po wykonaniu procedury testowej, aby mieć pewność, że bufor zawiera treści związane z testem (podobnie jak w przypadku raportów o błędach Androida).

Wyłącz pomijanie logów Androida

  • Ze względu na prywatność i bezpieczeństwo tej funkcji należy używać tylko do testów technicznych.
  • Nie używaj tej opcji w przypadku urządzeń produkcyjnych ani użytkowników.
  • Kroki:
    1. Wyślij konta Google użytkowników, dla których nie zostaną usunięte dzienniki, do usługi Google TAM.
    2. Po potwierdzeniu dodania konta do listy dozwolonych zrestartuj telefon.

Weryfikacja VID/PID urządzenia

Jeśli chcesz zacząć opracowywać integrację z Google, musisz utworzyć projekt i integrację w konsoli Google Home.

Rozwiązywanie problemów ze snifferem Bluetooth

Wartość VID/PID, z której korzysta urządzenie beacon, powinna być zgodna z identyfikatorem VID/PID podanym w projekcie Google Home Developer Console.

  • Identyfikatory VID 0xFFF10xFFF4 są zarezerwowane do testowania. Można ich używać do podstawowych testów uruchamiania i kontroli, ale nie można ich używać na tych etapach programowania:

Korzystając z aplikacji inżynierskiej Bluetooth, takiej jak nRF Connect na urządzenia mobilne, możesz wyświetlić identyfikator VID/PID urządzenia do sygnalizowania po stronie serwera w polu Dane usługi.

Na tym zrzucie ekranu z wersji nRF Connect Android widać, że identyfikator VID/PID jest wyświetlany jako 5A23FFFE, począwszy od czwartego bajtu pola Dane usługi. Wskazuje on identyfikator VID o wartości 5A23 oraz identyfikator PID o wartości FFFE – oba w formacie Litle endian.

Aplikacja BLE wyświetla wartości w języku little endian,ale wartości VID/PID wpisane w projekcie Developer Console są w języku big end.

Na podstawie tego, co pokazuje sniffer Bluetooth, sprawdź, czy w projekcie Actions Console zostały wprowadzone odpowiednie wartości i format.

W przypadku wartości na przykładowym zrzucie ekranu identyfikatory VID i PID w polu Developer Console miałyby odpowiednio wartość 235A i FEFF.

Sprawdź, czy urządzenie zostało utworzone przy użyciu zgodnej gałęzi Matter SDK

Koncentratory Google Matter są zgodne z systemem Matter 1.0 i zostały przetestowane z użyciem kompilacji używających zobowiązań z gałęzi stabilnej v1.0-branch. W informacjach o wersji publicznej znajdziesz informacje o konkretnych zatwierdzeniach zalecanych do użycia z każdą nową wersją centrum.

parowanie,

Zweryfikuj dane logowania do urządzenia

Jeśli używasz własnego identyfikatora VID przypisanego przez Alliance, sprawdź, czy masz właściwe dane logowania na urządzeniu:

  • Deklaracja certyfikacji (CD).
  • Certyfikat atestu urządzenia (DAC) i jego łańcuch certyfikatów.

Więcej informacji znajdziesz w artykule Tworzenie certyfikatów testowych urządzeń Matter.

Zweryfikuj centrum zgodne ze standardem Matter

Twoje centrum Matter musi być jednym z hubów obsługiwanych przez Google. Musi też być kompilacją zgodną ze standardem Matter.

Niektóre centra są też routerami granic wątków, dzięki czemu możesz tworzyć i testować urządzenia Thread. Inne koncentratory obsługują tylko urządzenia Wi-Fi i Ethernet Matter, chyba że masz w sieci inny router brzegowy, który umożliwia korzystanie z połączeń Thread.

Kompilację centrum można sprawdzić, przesuwając palcem w dół od górnej krawędzi: przesuń palcem w dół od górnej krawędzi > Koło konfiguracji > Informacje o urządzeniu > Informacje techniczne > Wersja oprogramowania Chromecasta.

Przekazywanie dalej się kończy i pojawia się komunikat o błędzie „Nie udało się skontaktować z Google”

Sprawdź, czy w Developer Console masz utworzoną integrację z prawidłową kombinacją identyfikatora VID i PID. Więcej informacji znajdziesz w artykule Tworzenie integracji ze sprawą.

Przekazywanie kończy się niepowodzeniem i wyświetla się komunikat o błędzie „Nie można połączyć się z urządzeniem”

Jeśli po uruchomieniu urządzenia z systemem Thread nadal widzisz komunikat o błędzie „Nie można się połączyć z urządzeniem” i wykorzystujesz wszystkie dostępne opcje debugowania, możesz wyczyścić preferowane dane logowania w usłudze Thread na telefonie z Androidem, aby wyczyścić konfigurację. Aby to zrobić, kliknij Ustawienia > Aplikacje > Aplikacje aplikacji > Usługi Google Play > Pamięć i pamięć podręczna > Zarządzaj miejscem > WYCZYŚĆ WSZYSTKIE DANE.

Testuję

Urządzenie objęte zleceniem nie pojawia się w Pakietie testów

Jeśli urządzenie zostało sparowane z testowym identyfikatorem dostawcy (VID) i identyfikatorem produktu (PID), ale nie pojawia się on podczas testowania urządzenia w usłudze Test Suite w Developer Console, prawdopodobnie jest to spowodowane używaniem tego samego testowego identyfikatora VID i PID w kilku integracjach.

Aby rozwiązać problem, usuń wszystkie urządzenia testowe z Developer Console i ponownie sparuj urządzenie, które chcesz przetestować.

Aby sprawdzić, czy urządzenie jest sparowane, możesz ustawić jego wartość w informacjach o producencie i modelu (wartości CHIP_DEVICE_CONFIG_DEVICE_*) na unikalne wartości w oprogramowaniu testowym.

Więcej informacji znajdziesz w sekcji Informacje o urządzeniu.

Jeśli coś nadal pójdzie nie tak

Jeśli po wykonaniu wszystkich opisanych tu czynności problem nie ustąpił, nie ma sprawy.

Podczas rozwiązywania problemów udało Ci się zebrać ważne dane o urządzeniu, projekcie w konsoli i środowisku. Mając te dane, zajrzyj na stronę Pomoc, aby dowiedzieć się, jak najlepiej przedstawić swój problem społeczności i zespołowi pomocy Google Home.