Thông tin thiết bị

Nhà cung cấp có thể thông báo cho Người tìm kiếm về thông tin thiết bị thông qua luồng thông báo.

Tên nhóm tin nhắn Giá trị
Sự kiện thông tin thiết bị 0x03
Tên mã thông tin thiết bị Giá trị
Mã kiểu máy 0x01
Đã cập nhật địa chỉ BLE 0x02
Đã cập nhật pin 0x03
Thời lượng pin còn lại 0x04
Yêu cầu về các thành phần đang hoạt động 0x05
Phản hồi về các thành phần đang hoạt động 0x06
(Không dùng nữa) Các tính năng 0x07
Loại nền tảng 0x08
Phiên bản chương trình cơ sở 0x09
Giá trị nhận dạng tạm thời FHN hiện tại 0x0B

Mã kiểu máy

Thông tin về mã nhận dạng mô hình (để Viết AccountKey một cách hồi tố) sẽ được gửi đến Seeker khi Message Stream kết nối. Ví dụ: 0x03010003AABBCC sẽ là:

  • 0x03: Sự kiện thông tin thiết bị
  • 0x01: Giá trị mã nhận dạng kiểu máy
  • 0x0003: Dữ liệu bổ sung, độ dài 3
  • 0xAABBCC: Dữ liệu bổ sung, mã nhận dạng mô hình

Địa chỉ BLE

Thông tin địa chỉ BLE (để Ghi AccountKey theo cách hồi tố) , nếu có, cũng phải được gửi đến Seeker khi Message Stream kết nối và bất cứ khi nào địa chỉ được xoay vòng. Ví dụ: 0x03020006AABBCCDDEEFF sẽ là:

  • 0x03: Sự kiện thông tin thiết bị
  • 0x02: Giá trị địa chỉ BLE
  • 0x0006: Dữ liệu bổ sung, chiều dài 6
  • 0xAABBCCDDEEFF: Dữ liệu bổ sung, địa chỉ BLE

Đã cập nhật pin

Đối với những Nhà cung cấp hỗ trợ thông báo về pin, thông tin về pin cũng có thể được gửi qua Luồng thông báo. Khi Message Stream kết nối hoặc giá trị pin thay đổi, bạn nên gửi thông tin cập nhật. Phần dữ liệu bổ sung của gói phải chứa dữ liệu giống hệt với các byte s + 2, s + 3, s + 4 khi quảng cáo dữ liệu pin qua BLE. Ví dụ: 0x0303000357417F sẽ là:

  • 0x03: Sự kiện thông tin thiết bị
  • 0x03: Giá trị pin
  • 0x0003: Dữ liệu bổ sung, độ dài 3
  • 0x57417F: Dữ liệu bổ sung, giá trị pin
    • 0x57: Giá trị của Pixel Buds bên trái, không sạc, pin còn 87%
    • 0x41: Giá trị của Pixel Buds bên phải, không sạc, pin còn 65%
    • 0x7F: Giá trị trường hợp, không sạc, không xác định được pin

Nhà cung cấp cũng có thể cập nhật thời lượng pin còn lại (nếu biết). Ví dụ: 0x03040001F0 sẽ là:

  • 0x03: Sự kiện thông tin thiết bị
  • 0x04: Thời lượng pin còn lại
  • 0x0001: Dữ liệu bổ sung, độ dài 1 (có thể là 2 đối với uint16 nếu cần).
  • 0xF0: Dữ liệu bổ sung, thời lượng pin còn lại tính bằng phút, 240 phút

Thành phần hoạt động

Đôi khi, người tìm kiếm có thể muốn biết những thành phần nào hiện đang hoạt động, tức là có thể thực hiện một thao tác trên các thành phần đó (xem phần Thao tác trên thiết bị). Khi Trình cung cấp nhận được một yêu cầu chứa mã yêu cầu thành phần đang hoạt động (0x05), thì Trình cung cấp sẽ trả về một phản hồi trong vòng 1 giây cho biết trạng thái hiện tại của Trình cung cấp. Phản hồi sẽ sử dụng mã phản hồi thành phần đang hoạt động (0x06) và chứa dữ liệu bổ sung cho biết những thành phần nào có sẵn.

Đối với Nhà cung cấp có một thành phần, bạn nên đặt dữ liệu bổ sung thành 0x00 nếu không có dữ liệu này. Ví dụ: chế độ tiết kiệm pin sẽ không phát nội dung nghe nhìn. Nếu không, bạn nên đặt dữ liệu bổ sung thành 0x01.

Đối với tai nghe có nhiều thành phần (ví dụ: tai nghe bên trái và bên phải), mỗi bit trong dữ liệu bổ sung sẽ biểu thị xem thành phần đó có đang hoạt động hay không. Ví dụ về một thành phần không hoạt động có thể là một tai nghe đang nằm trong hộp và không được sử dụng. Riêng đối với hộp sạc tai nghe trái và phải:

  • 0x00 (0b00000000): Không có tai nghe nào hoạt động
  • 0x01 (0b00000001): Tai nghe bên phải đang hoạt động, tai nghe bên trái không hoạt động
  • 0x02 (0b00000010): Tai nghe bên trái đang hoạt động, tai nghe bên phải không hoạt động
  • 0x03 (0b00000011): Cả hai tai nghe đều đang hoạt động

Loại nền tảng

Các nhà cung cấp có thể muốn thực hiện theo cách khác dựa trên nền tảng mà họ kết nối. Tính năng Ghép nối nhanh hiện chỉ hoạt động thông qua Android, nhưng chúng tôi có thể mở rộng phạm vi hỗ trợ trong tương lai.

Thông báo sẽ chứa một byte đầu tiên xác định loại nền tảng trong dữ liệu bổ sung:

Tên nền tảng Giá trị
Android 0x01

Byte thứ hai sẽ được tuỳ chỉnh theo từng nền tảng. Trong Android, giá trị này sẽ đề cập đến phiên bản SDK. Ví dụ: Android Pie sẽ có giá trị là 28 (0x1C).

Phiên bản chương trình cơ sở

Phiên bản chương trình cơ sở của nhà cung cấp dưới dạng một chuỗi được mã hoá utf-8. Đây là thông tin giống như trong Đặc điểm phiên bản chương trình cơ sở.

Giá trị nhận dạng tạm thời FHN hiện tại

Những nhà cung cấp quảng cáo khung FHN nên báo cáo FHN Ephemeral Identifier (EID) hiện tại cùng với giá trị đồng hồ hiện tại để đồng bộ hoá với Seeker trong trường hợp đồng hồ bị lệch (ví dụ: do hết pin).

Ví dụ:

  • 0x03: Sự kiện thông tin thiết bị
  • 0x0B: Thông báo giá trị nhận dạng tạm thời FHN hiện tại
  • 0x0018: Dữ liệu bổ sung, độ dài 24 hoặc 36 byte
  • 0x13F9EA80: Dữ liệu bổ sung (giá trị đồng hồ; 4 byte)
  • 0x1122334455667788990011223344556677889900: Dữ liệu bổ sung (EID hiện tại; 20 hoặc 32 byte)