ข้อมูลอุปกรณ์
ผู้ให้บริการสามารถแจ้งให้ 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 ไบต์)