Informacje o urządzeniu
Dostawcy mogą powiadomić aplikację Seeker o informacjach o urządzeniu za pomocą strumienia wiadomości.
Nazwa grupy wiadomości | Wartość |
---|---|
Zdarzenie dotyczące informacji o urządzeniu | 0x03 |
Nazwa kodu informacji z urządzenia | Wartość |
---|---|
Identyfikator modelu | 0x01 |
Adres BLE został zaktualizowany | 0x02 |
Bateria zaktualizowana | 0x03 |
Pozostały czas pracy na baterii | 0x04 |
Żądanie aktywnych komponentów | 0x05 |
Odpowiedź aktywnych komponentów | 0x06 |
(Wycofane)Możliwości | 0x07 |
Typ platformy | 0x08 |
Wersja oprogramowania | 0x09 |
Bieżący identyfikator efemeryczny FMDN | 0 x 0 mld |
Identyfikator modelu
Informacje o identyfikatorze modelu (na potrzeby zapisania klucza konta z wyprzedzeniem) powinny być wysyłane do narzędzia Seeker podczas nawiązywania połączenia przez RFCOMM. np. 0x03010003AABBCC
będzie:
- 0x03: Zdarzenie dotyczące informacji o urządzeniu
- 0x01: wartość identyfikatora modelu
- 0x0003: dane dodatkowe, długość 3
- 0xAABBCC: dane dodatkowe, identyfikator modelu
adres BLE
Informacje o adresie BLE (na potrzeby Retroactively Write AccountKey) (jeśli są dostępne) powinny być też wysyłane do obiektu Seeker podczas nawiązywania połączenia przez RFCOMM i przy rotacji adresu. Na przykład 0x03020006AABBCCDDEEFF
będzie wyglądać tak:
- 0x03: Zdarzenie dotyczące informacji o urządzeniu
- 0x02: wartość adresu BLE
- 0x0006: dane dodatkowe, długość 6
- 0xAABBCCDDEEFF: dodatkowe dane, adres BLE
Bateria zaktualizowana
Do usługodawców, którzy obsługują powiadomienia o stanie baterii, informacje o baterii mogą być też wysyłane przez RFCOMM. Aktualizacja musi zostać wysłana, gdy nastąpi połączenie RFCOMM lub zmieni się wartość baterii. Sekcja dodatkowych danych pakietu powinna zawierać te same dane co bajty s + 2, s + 3, s + 4, jeśli reklamujesz dane o baterii przez BLE. np. 0x0303000357417F
to:
- 0x03: Zdarzenie dotyczące informacji o urządzeniu
- 0x03: wartość baterii
- 0x0003: dane dodatkowe, długość 3
- 0x57417F: Dodatkowe dane, wartości baterii
- 0x57: wartość lewej słuchawki, nie ładuje się, bateria: 87%
- 0x41: wartość prawej słuchawki, brak ładowania, 65% baterii
- 0x7F: wartość etui, brak ładowania, nieznana bateria
Dostawcy mogą też aktualizować pozostały czas pracy na baterii (jeśli są znani), na przykład 0x03040001F0
to:
- 0x03: Zdarzenie dotyczące informacji o urządzeniu
- 0x04: pozostały czas pracy na baterii
- 0x0001: dane dodatkowe, długość 1 (w razie potrzeby 2 w przypadku uint16).
- 0xF0: dodatkowe dane, pozostały czas pracy baterii w minutach, 240 minut
Aktywne komponenty
Poszukiwacze mogą czasem chcieć się dowiedzieć, które komponenty są obecnie aktywne, co oznacza, że można z nimi podjąć odpowiednie działania (patrz Działania na urządzeniu). Gdy dostawca otrzyma żądanie zawierające kod żądania aktywnych komponentów (0x05), w ciągu 1 sekundy powinna zostać zwrócona odpowiedź wskazująca bieżący stan dostawcy. Odpowiedź będzie zawierać kod odpowiedzi aktywnych komponentów (0x06) oraz dodatkowe dane wskazujące, które komponenty są dostępne.
W przypadku dostawcy z jednym komponentem dodatkowe dane powinny mieć wartość 0x00, jeśli są niedostępne. Przykładem może być tryb oszczędzania baterii, w którym multimedia nie są odtwarzane. W przeciwnym razie dodatkowe dane należy ustawić na 0x01.
W przypadku zestawów słuchawkowych z wieloma komponentami (np. lewą i prawą słuchawką) każdy bit w dodatkowych danych wskazuje, czy dany komponent jest aktywny. Przykładem nieaktywnego komponentu może być słuchawka, która jest w danym przypadku, ale nie jest w użyciu. Konkretnie w przypadku lewego i prawego etui słuchawek:
- 0x00 (0b00000000): żadna ze słuchawek nie jest aktywna
- 0x01 (0b00000001): Prawa słuchawka aktywna, lewa nieaktywna
- 0x02 (0b00000010): lewa słuchawka aktywna, prawa nieaktywna
- 0x03 (0b00000011): Obie słuchawki aktywne
Typ platformy
Dostawcy mogą chcieć działać różnie w zależności od platformy, z którą są połączeni. Szybkie parowanie jest obecnie wykonywane tylko na urządzeniach z Androidem, ale w przyszłości jego obsługa może zostać rozszerzona.
W dodatkowych danych wiadomość będzie zawierać pierwszy bajt identyfikujący typ platformy:
Nazwa platformy | Wartość |
---|---|
Android | 0x01 |
Drugi bajt zostanie dostosowany do każdej platformy. W przypadku Androida odnosi się ona do wersji pakietu SDK. Na przykład Android Pie będzie miał wartość 28 (0x1C).
Wersja oprogramowania
Wersja oprogramowania układowego dostawcy w postaci ciągu znaków w kodowaniu UTF-8. To te same informacje co w charakterze wersji oprogramowania.
Bieżący identyfikator efemeryczny FMDN
Dostawcy, którzy reklamują ramki FMDN, powinni zgłaszać aktualny identyfikator efemeryczny FMDN z bieżącą wartością zegara, aby zsynchronizować go z Poszukiwaczem w przypadku odchylenia zegara (np. z powodu rozładowania baterii).
Na przykład:
- 0x03: Zdarzenie dotyczące informacji o urządzeniu
- 0x0B: komunikat o bieżącym identyfikatorze tymczasowym FMDN
- 0x0018: dane dodatkowe, długość 24 lub 36 bajtów
- 0x13F9EA80: dodatkowe dane (wartość zegara; 4 bajty)
- 0x1122334455667788990011223344556677889900: dane dodatkowe (bieżący EID; 20 lub 32 bajty)