Cambia capacidades en el entorno de ejecución
Dado que se pueden habilitar nuevas funciones (p.ej., tamaño de búfer dinámico) mediante la actualización del firmware en el proveedor, queremos ofrecer una forma de obtener las capacidades del proveedor en el tiempo de ejecución. Para evitar consultar capacidades repetidas, primero, el proveedor debe enviar la revisión del firmware al buscador a través del flujo de mensajes cuando está conectado. Por lo tanto, agregamos un nuevo código de mensaje al grupo de mensajes existente, el evento de información del dispositivo.
Nombre del grupo de mensajes | Valor |
---|---|
Evento de información del dispositivo | 0x03 |
Nombre código del mensaje | Valor |
---|---|
Revisión de firmware | 0 × 09 |
Una vez que se obtenga el código de revisión del firmware, el Seeker lo comparará con el almacenado en caché. Si se cambió la revisión de firmware, Seeker actualizará la revisión de firmware de la caché y consultará las capacidades a través del flujo de mensajes.
También permitimos que el proveedor envíe capacidades directamente a Seeker sin tener que enviarla primero, porque creemos que, en el futuro, los dispositivos más sofisticados (quizás basados en Android) realizarán una configuración dinámica basada en marcas para la misma revisión de firmware.
Así que agregamos un nuevo grupo de mensajes y códigos de mensaje a continuación.
Nombre del grupo de mensajes | Valor |
---|---|
Evento de sincronización de capacidad del dispositivo | 0 × 06 |
Nombre código del mensaje | Valor |
---|---|
Solicitar actualización de funciones (enviada desde Seeker) | 0 × 01 |
Seguimiento de FMDN | 0x03 |
Luego de recibir 0x0601
,
- Si el proveedor habilitó la compatibilidad con el seguimiento de FMDN, debería responder de la siguiente manera:
Octeto | Tipo de datos | Descripción | Valor |
---|---|---|---|
0 | uint8 | Evento de sincronización de capacidad del dispositivo | 0 × 06 |
1 | uint8 | Seguimiento de FMDN | 0x03 |
2 - 3 | uint16 | Longitud de datos adicional | 0x0007 |
4 | uint8 | Estado de aprovisionamiento de FMDN | 0x00 si no se aprovisionó; 0x01 si lo aprovisionó una cuenta |
5 - 10 | uint8 | La dirección MAC actual de BLE del dispositivo | varía |