เปลี่ยนความสามารถขณะรันไทม์
เนื่องจากฟีเจอร์ใหม่ๆ (เช่น การปรับขนาดบัฟเฟอร์แบบไดนามิก) สามารถเปิดใช้ได้โดยการอัปเกรดเฟิร์มแวร์ของผู้ให้บริการ เราจึงต้องการมอบวิธีที่สามารถใช้ความสามารถของผู้ให้บริการขณะรันไทม์ เพื่อหลีกเลี่ยงความสามารถในการค้นหาซ้ำๆ ก่อนอื่นผู้ให้บริการควรส่งการแก้ไขเฟิร์มแวร์ไปยัง Seeker ผ่านสตรีมข้อความเมื่อเชื่อมต่อแล้ว เราจึงเพิ่มโค้ดข้อความใหม่ ให้กลุ่มข้อความที่มีอยู่ ซึ่งก็คือเหตุการณ์ข้อมูลอุปกรณ์
ชื่อกลุ่มข้อความ | ค่า |
---|---|
เหตุการณ์เกี่ยวกับข้อมูลอุปกรณ์ | 0x03 |
ชื่อรหัสข้อความ | ค่า |
---|---|
การแก้ไขเฟิร์มแวร์ | 0x09 |
เมื่อรับรหัสการแก้ไขเฟิร์มแวร์แล้ว Seeker จะตรวจสอบกับโค้ดที่แคช หากมีการเปลี่ยนเวอร์ชันเฟิร์มแวร์ Seeker จะอัปเดตการแก้ไขเฟิร์มแวร์ของแคชและค้นหาความสามารถผ่านสตรีมข้อความ
เรายังอนุญาตให้ผู้ให้บริการพุชความสามารถไปยัง Seeker ได้โดยตรงโดยไม่ต้องมีคำขอก่อน เพราะเราคิดว่าในอนาคต อุปกรณ์ที่ซับซ้อนมากขึ้น (อาจใช้ Android) จะทำการกำหนดค่าแบบไดนามิกตามแฟล็กการแก้ไขเฟิร์มแวร์ครั้งเดียวกัน
เราจะเพิ่มกลุ่มข้อความใหม่และรหัสข้อความใหม่ด้านล่าง
ชื่อกลุ่มข้อความ | ค่า |
---|---|
เหตุการณ์การซิงค์ความสามารถของอุปกรณ์ | 0x06 |
ชื่อรหัสข้อความ | ค่า |
---|---|
ส่งคำขออัปเดตความสามารถ (ส่งจาก Seeker) | 0x01 |
การติดตาม FMDN | 0x03 |
เมื่อได้รับ 0x0601
- หากผู้ให้บริการเปิดใช้การรองรับการติดตาม FMDN ควรตอบสนองดังนี้
อ็อกเท็ต | ประเภทข้อมูล | คำอธิบาย | ค่า |
---|---|---|---|
0 | uint8 | เหตุการณ์การซิงค์ความสามารถของอุปกรณ์ | 0x06 |
1 | uint8 | การติดตาม FMDN | 0x03 |
2 - 3 | uint16 | ความยาวข้อมูลเพิ่มเติม | 0x0007 |
4 | uint8 | สถานะการจัดสรร FMDN | 0x00 หากยกเลิกการจัดสรร หรือเป็น 0x01 หากมีการจัดสรรโดยบัญชีใดๆ |
5 - 10 | uint8[] | ที่อยู่ BLE MAC ปัจจุบันของอุปกรณ์ | หลากหลาย |