เปลี่ยนความสามารถขณะรันไทม์

เนื่องจากฟีเจอร์ใหม่ๆ (เช่น การปรับขนาดบัฟเฟอร์แบบไดนามิก) สามารถเปิดใช้ได้โดยการอัปเกรดเฟิร์มแวร์ของผู้ให้บริการ เราจึงต้องการมอบวิธีที่สามารถใช้ความสามารถของผู้ให้บริการขณะรันไทม์ เพื่อหลีกเลี่ยงความสามารถในการค้นหาซ้ำๆ ก่อนอื่นผู้ให้บริการควรส่งการแก้ไขเฟิร์มแวร์ไปยัง 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 ปัจจุบันของอุปกรณ์ หลากหลาย