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

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

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

รหัสโมเดล

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

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

ที่อยู่ BLE

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

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

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

สำหรับผู้ให้บริการที่รองรับการแจ้งเตือนแบตเตอรี่ คุณยังส่งข้อมูลแบตเตอรี่ผ่านสตรีมข้อความได้ด้วย เมื่อ Message Stream เชื่อมต่อหรือค่าแบตเตอรี่เปลี่ยนแปลง ควรส่งการอัปเดต ส่วนข้อมูลเพิ่มเติมของแพ็กเก็ตควรมีข้อมูลเหมือนกับไบต์ 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

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

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

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

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

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

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

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

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

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

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

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

เช่น

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