ข้อมูลอุปกรณ์

ผู้ให้บริการสามารถแจ้งผู้ส่งคำขอเกี่ยวกับข้อมูลอุปกรณ์ผ่านสตรีมข้อความได้

ชื่อกลุ่มข้อความ ค่า
เหตุการณ์เกี่ยวกับข้อมูลอุปกรณ์ 0x03
ชื่อรหัสข้อมูลอุปกรณ์ ค่า
รหัสโมเดล 0x01
อัปเดตที่อยู่ BLE แล้ว 0x02
อัปเดตแบตเตอรี่แล้ว 0x03
เวลาแบตเตอรี่ที่เหลือ 0x04
คำขอคอมโพเนนต์ที่ใช้งานอยู่ 0x05
การตอบสนองของคอมโพเนนต์ที่ใช้งานอยู่ 0x06
ความสามารถ (เลิกใช้งาน) 0x07
ประเภทแพลตฟอร์ม 0x08
เวอร์ชันเฟิร์มแวร์ 0x09
ตัวระบุชั่วคราวของ FMDN ปัจจุบัน 0x0 พันล้าน

รหัสโมเดล

ควรส่งข้อมูลรหัสโมเดล (สำหรับ Retroactively Writing AccountKey) ไปยัง Seeker เมื่อเชื่อมต่อ RFCOMM ตัวอย่างเช่น 0x03010003AABBCC จะเป็นดังนี้

  • 0x03: เหตุการณ์เกี่ยวกับข้อมูลอุปกรณ์
  • 0x01: ค่ารหัสโมเดล
  • 0x0003: ข้อมูลเพิ่มเติม ความยาว 3
  • 0xAABBCC: ข้อมูลเพิ่มเติม, รหัสโมเดล

ที่อยู่ BLE

ข้อมูลที่อยู่ BLE (สำหรับ Retroactively Writing AccountKey) หากมี ควรส่งไปยัง Seeker เมื่อเชื่อมต่อ RFCOMM เชื่อมต่อและเมื่อใดก็ตามที่ มีการหมุนที่อยู่ ตัวอย่างเช่น 0x03020006AABBCCDDEEFF จะเป็นดังนี้

  • 0x03: เหตุการณ์เกี่ยวกับข้อมูลอุปกรณ์
  • 0x02: ค่าที่อยู่ BLE
  • 0x0006: ข้อมูลเพิ่มเติม ความยาว 6
  • 0xAABBCCDDEEFF: ข้อมูลเพิ่มเติม ที่อยู่ BLE

อัปเดตแบตเตอรี่แล้ว

สำหรับผู้ให้บริการที่รองรับการแจ้งเตือนแบตเตอรี่ คุณส่งข้อมูลแบตเตอรี่ผ่าน RFCOMM ได้ด้วย เมื่อมีการเชื่อมต่อ RFCOMM หรือ ค่าแบตเตอรี่เปลี่ยนแปลง คุณควรส่งอัปเดต ส่วนข้อมูลเพิ่มเติมของแพ็กเก็ตควรมีข้อมูลที่เหมือนกันกับจำนวนไบต์ s + 2, s + 3, s + 4 เมื่อแสดงโฆษณาแบตเตอรี่ผ่าน BLE ตัวอย่างเช่น 0x0303000357417F จะเป็น

  • 0x03: เหตุการณ์เกี่ยวกับข้อมูลอุปกรณ์
  • 0x03: ค่าแบตเตอรี่
  • 0x0003: ข้อมูลเพิ่มเติม ความยาว 3
  • 0x57417F: ข้อมูลเพิ่มเติม, ค่าแบตเตอรี่
    • 0x57: ค่าของหูฟังข้างซ้าย, ไม่ชาร์จ, แบตเตอรี่ 87%
    • 0x41: ค่าหูฟังข้างขวา, ไม่ชาร์จ, แบตเตอรี่ 65%
    • 0x7F: มูลค่าของเคส, ไม่ชาร์จ, ไม่ทราบแบตเตอรี่

ผู้ให้บริการยังสามารถอัปเดตเวลาแบตเตอรี่ที่เหลืออยู่ (หากทราบ) ได้ด้วย ตัวอย่างเช่น 0x03040001F0

  • 0x03: เหตุการณ์เกี่ยวกับข้อมูลอุปกรณ์
  • 0x04: เวลาแบตเตอรี่ที่เหลือ
  • 0x0001: ข้อมูลเพิ่มเติม ความยาว 1 (อาจเท่ากับ 2 สำหรับ uint16 หากจำเป็น)
  • 0xF0: ข้อมูลเพิ่มเติม, เวลาแบตเตอรี่ที่เหลือในหน่วยนาที, 240 นาที

คอมโพเนนต์ที่ใช้งานอยู่

บางครั้งผู้ค้นหาอาจต้องการทราบว่าคอมโพเนนต์ใดทำงานอยู่ในขณะนั้น ซึ่งหมายความว่าดำเนินการกับคอมโพเนนต์ดังกล่าวได้ (ดูการทำงานของอุปกรณ์) เมื่อผู้ให้บริการได้รับคำขอที่มีรหัสคำขอคอมโพเนนต์ที่ใช้งานอยู่ (0x05) การตอบกลับควรแสดงขึ้นภายใน 1 วินาทีเพื่อแสดงถึงสถานะปัจจุบันของผู้ให้บริการ การตอบสนองจะใช้โค้ดการตอบสนองของคอมโพเนนต์ที่ใช้งานอยู่ (0x06) และมีข้อมูลเพิ่มเติมที่ระบุว่าคอมโพเนนต์ใดใช้งานได้

สำหรับผู้ให้บริการที่มีคอมโพเนนต์เดียว ควรตั้งค่าข้อมูลเพิ่มเติมเป็น 0x00 หากไม่มีข้อมูล เช่น โหมดใช้พลังงานต่ำซึ่งจะไม่มีการเล่นสื่อ หรือไม่เช่นนั้น ข้อมูลเพิ่มเติมควรตั้งค่าเป็น 0x01

สำหรับชุดหูฟังที่มีหลายคอมโพเนนต์ (เช่น หูฟังเอียร์บัดข้างซ้ายและขวา) แต่ละบิตในข้อมูลเพิ่มเติมจะแสดงว่าคอมโพเนนต์นั้นทำงานอยู่หรือไม่ ตัวอย่างของคอมโพเนนต์ที่ไม่ได้ใช้งานอาจเป็น Buds ซึ่งอยู่ในกล่องและไม่ได้ใช้งาน สำหรับเคสหูฟังข้างซ้ายและขวาโดยเฉพาะ

  • 0x00 (0b00000000): ไม่มีการใช้งานหูฟังเอียร์บัด
  • 0x01 (0b00000001): หูฟังเอียร์บัดข้างขวาใช้งานอยู่ ไม่ได้ใช้งาน
  • 0x02 (0b00000010): หูฟังเอียร์บัดข้างซ้ายใช้งานอยู่ ไม่ได้ใช้งานข้างขวา
  • 0x03 (0b00000011): หูฟังเอียร์บัดทั้ง 2 ข้างใช้งานอยู่

ประเภทแพลตฟอร์ม

ผู้ให้บริการอาจต้องการดำเนินการแตกต่างกันไปตามแพลตฟอร์มที่เชื่อมต่อ ปัจจุบันฟีเจอร์จับคู่ด่วนจะดำเนินการผ่าน Android เท่านั้น แต่อาจมีการขยายการรองรับในอนาคต

ข้อความจะมีไบต์แรกที่ระบุประเภทแพลตฟอร์มในข้อมูลเพิ่มเติม

ชื่อแพลตฟอร์ม ค่า
Android 0x01

ระบบจะปรับแต่งไบต์ที่ 2 ตามแพลตฟอร์ม ใน Android หน้าจอจะหมายถึงเวอร์ชัน SDK ตัวอย่างเช่น Android Pie จะมีค่าเป็น 28 (0x1C)

เวอร์ชันเฟิร์มแวร์

เวอร์ชันเฟิร์มแวร์ของผู้ให้บริการเป็นสตริงในการเข้ารหัส utf-8 ซึ่งเป็นข้อมูลเดียวกับในลักษณะการแก้ไขเฟิร์มแวร์

ตัวระบุชั่วคราวของ FMDN ปัจจุบัน

ผู้ให้บริการที่โฆษณาเฟรม FMDN ควรรายงานตัวระบุชั่วคราว (EID) ของ FMDN ปัจจุบันพร้อมกับค่านาฬิกาปัจจุบันเพื่อซิงค์กับผู้ขอในกรณีที่นาฬิกาเลื่อน (เช่น เนื่องจากแบตเตอรี่หมด)

เช่น

  • 0x03: เหตุการณ์เกี่ยวกับข้อมูลอุปกรณ์
  • 0x0B: ข้อความตัวระบุชั่วคราวของ FMDN ปัจจุบัน
  • 0x0018: ข้อมูลเพิ่มเติม ความยาว 24 หรือ 36 ไบต์
  • 0x13F9EA80: ข้อมูลเพิ่มเติม (ค่านาฬิกา 4 ไบต์)
  • 0x1122334455667788990011223344556677889900: ข้อมูลเพิ่มเติม (EID ปัจจุบัน 20 หรือ 32 ไบต์)