Informacje o urządzeniu

Dostawcy mogą informować użytkownika 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 o urządzeniu Wartość
Identyfikator modelu 0x01
Zaktualizowano adres BLE 0x02
Zaktualizowano baterię 0x03
Pozostały czas pracy na baterii 0x04
Prośba o aktywne komponenty 0x05
Odpowiedź na prośbę o aktywne komponenty 0x06
(Wycofane) Możliwości 0x07
Typ platformy 0x08
Wersja oprogramowania 0x09
Bieżący efemeryczny identyfikator FHN 0x0B

Identyfikator modelu

Informacje o identyfikatorze modelu (na potrzeby wstecznego zapisywania AccountKey) powinny być wysyłane do użytkownika, gdy strumień wiadomości się połączy. Na przykład 0x03010003AABBCC to:

  • 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 wstecznego zapisywania AccountKey), jeśli dostawca może je uzyskać, powinny być też wysyłane do użytkownika, gdy strumień wiadomości się połączy i za każdym razem, gdy adres zostanie zmieniony. Na przykład 0x03020006AABBCCDDEEFF to:

  • 0x03: zdarzenie dotyczące informacji o urządzeniu
  • 0x02: wartość adresu BLE
  • 0x0006: dane dodatkowe, długość 6
  • 0xAABBCCDDEEFF: dane dodatkowe, adres BLE

Zaktualizowano baterię

W przypadku dostawców, którzy obsługują powiadomienia o baterii, informacje o baterii mogą być też wysyłane za pomocą strumienia wiadomości. Gdy strumień wiadomości się połączy lub zmieni się wartość baterii, należy wysłać aktualizację. Sekcja danych dodatkowych pakietu powinna zawierać te same dane co bajty s + 2, s + 3, s + 4 podczas rozgłaszania danych o baterii przez BLE. Na przykład 0x0303000357417F to:

  • 0x03: zdarzenie dotyczące informacji o urządzeniu
  • 0x03: wartość baterii
  • 0x0003: dane dodatkowe, długość 3
  • 0x57417F: dane dodatkowe, wartości baterii
    • 0x57: wartość lewej słuchawki, nie ładuje się, 87% baterii
    • 0x41: wartość prawej słuchawki, nie ładuje się, 65% baterii
    • 0x7F: wartość etui, nie ładuje się, nieznana bateria

Dostawcy mogą też aktualizować pozostały czas pracy na baterii (jeśli jest znany). 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 może to być 2 w przypadku uint16)
  • 0xF0: dane dodatkowe, pozostały czas pracy na baterii w minutach, 240 minut

Aktywne komponenty

Użytkownicy mogą czasami chcieć wiedzieć, które komponenty są obecnie aktywne, co oznacza, że można na nich wykonać działanie (patrz Działania na urządzeniu). Gdy dostawca otrzyma prośbę zawierającą kod prośby o aktywne komponenty (0x05), w ciągu 1 sekundy powinna zostać zwrócona odpowiedź wskazująca bieżący stan dostawcy. Odpowiedź będzie używać kodu odpowiedzi na prośbę o aktywne komponenty (0x06) i zawierać dane dodatkowe wskazujące, które komponenty są dostępne.

W przypadku dostawcy z jednym komponentem dane dodatkowe powinny być ustawione na 0x00, jeśli komponent jest niedostępny. Może to być na przykład tryb oszczędzania baterii, w którym odtwarzanie multimediów nie będzie wykonywane. W przeciwnym razie dane dodatkowe powinny być ustawione na 0x01.

W przypadku zestawów słuchawkowych z wieloma komponentami (np. lewą i prawą słuchawką) każdy bit w danych dodatkowych wskazuje, czy dany komponent jest aktywny. Przykładem nieaktywnego komponentu może być słuchawka, która znajduje się w etui i nie jest używana. W przypadku lewej i prawej słuchawki:

  • 0x00 (0b00000000): żadna słuchawka nie jest aktywna
  • 0x01 (0b00000001): prawa słuchawka jest aktywna, lewa nieaktywna
  • 0x02 (0b00000010): lewa słuchawka jest aktywna, prawa nieaktywna
  • 0x03 (0b00000011): obie słuchawki są aktywne

Typ platformy

Dostawcy mogą chcieć działać inaczej w zależności od platformy, z którą są połączeni. Szybkie parowanie jest obecnie wykonywane tylko w Androidzie, ale w przyszłości może zostać rozszerzone.

Wiadomość będzie zawierać pierwszy bajt identyfikujący typ platformy w danych dodatkowych:

Nazwa platformy Wartość
Android 0x01

Drugi bajt będzie dostosowywany do platformy. W Androidzie będzie odnosić się do wersji pakietu SDK. Na przykład Android Pie będzie miał wartość 28 (0x1C).

Wersja oprogramowania

Wersja oprogramowania dostawcy jako ciąg znaków w kodowaniu UTF-8. Są to te same informacje co w charakterystyce Firmware revision.

Bieżący efemeryczny identyfikator FHN

Dostawcy, którzy reklamują ramki FHN, powinni zgłaszać bieżący efemeryczny identyfikator FHN (EID) z bieżącą wartością zegara, aby zsynchronizować się z użytkownikiem w przypadku dryfu zegara (np. z powodu wyczerpania baterii).

Na przykład:

  • 0x03: zdarzenie dotyczące informacji o urządzeniu
  • 0x0B: bieżąca efemeryczna wiadomość z identyfikatorem FHN
  • 0x0018: dane dodatkowe, długość 24 lub 36 bajtów
  • 0x13F9EA80: dane dodatkowe (wartość zegara; 4 bajty)
  • 0x1122334455667788990011223344556677889900: dane dodatkowe (bieżący identyfikator EID; 20 lub 32 bajty)