RESUMEN
Este documento explica los Atributos Genéricos (GATT) de los servicios y características del beacon iBKS que incluyen el Servicio iBeacon, el Servicio Eddystone y el Servicio Global.
PÚBLICO
Este documento está dirigido principalmente a desarrolladores de aplicaciones y usuarios avanzados.
Versión de firmware relacionada: EDSTEID V5.2016.06.29.1 o versiones más recientes
1. Tabla GATT. Características
| Nombre | UUID | N. bytes |
|---|---|---|
| Servicio de Ranura de Beacon | 0xa3c87500-8ed3-4bdf-8a39-a012bebede295 | |
| Capacidades de Transmisión | 7501 | >=7 |
| Ranura Activa | 7502 | 1 |
| Intervalo de Publicidad | 7503 | 2 |
| Potencia de Radio Tx | 7504 | 1 |
| (Avanzado) Potencia Tx Anunciada | 7505 | 1 |
| Estado de Bloqueo | 7506 | 1 o 17 |
| Desbloquear | 7507 | 16 |
| Clave Pública ECDH | 7508 | 32 |
| Clave de Identidad EID | 7509 | 16 |
| Leer/Escribir Ranura ADV | 750A | <=34 |
| (Avanzado) Restablecimiento de Fábrica | 750B | 1 |
| (Avanzado) Permanecer Conectable | 750C | 1 |
| Nombre | UUID | N. bytes |
|---|---|---|
| Servicio iBeacon | 0xFA00 | |
| Ranura iBeacon activa | 0xFA01 | 1 |
| Intervalo de publicidad iBeacon | 0xFA02 | 2 |
| Potencia Cal iBeacon | 0xFA04 | 1 |
| iBeacon UUID:Major:Minor | 0xFA05 | 1 o 20 |
| Byte Extra iBeacon | 0xFA06 | 1 |
| Nombre | UUID | N. bytes |
|---|---|---|
| Servicio Global | 0xFF00 | |
| Nombre del Dispositivo | 0xFF01 | <=20 |
| Versión GATT | 0xFF02 | <=20 |
| Período Conectable | 0xFF03 | 3 |
| Ventana Conectable | 0xFF04 | 3 |
| Actualización de Firmware | 0xFF05 | 1 |
| Hora Actual | 0xFF06 | 2 |
| Hora de Encendido de Publicidad | 0xFF07 | 1 |
| Hora de Apagado de Publicidad | 0xFF08 | 1 |
2. Modo de Configuración
Después de encender y durante 30 segundos, el beacon está en modo conectable y anuncia las ranuras configuradas y un paquete adicional con el UUID del Servicio Eddystone.
Después de estos primeros 30 segundos, el beacon regresa al estado configurado (conectable/no conectable/ventana conectable) y comienza la publicidad de las ranuras activas.
3. Definición de Servicios
3.1 SERVICIO EDDYSTONE
Definición del servicio
- Nombre
- Servicio de Configuración Eddystone
- UUID
- a3c87500-8ed3-4bdf-8a39-a01bebede295
- Notas
- Donde no se indique explícitamente, los datos escritos y legibles se definen en términos de matrices big-endian de bytes con signo.
Característica 1
- Nombre
- Capacidades de Transmisión
- UUID
- a3c87501-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- matriz de bytes (lectura) {
versión_byte (0x00),
ranuras_totales_soportadas_max (0x04),
ranuras_eid_soportadas_max (0x01),
campo_de_bits_de_capacidades (0x03),
campo_de_bits_de_tipos_de_trama_soportados[0] (0x00),
campo_de_bits_de_tipos_de_trama_soportados[1] (0x0F),
potencias_de_radio_tx_soportadas[0] … potencias_de_radio_tx_soportadas[N1] (E2:EC:F0:F4:F8:FC:00:04)
}
Longitud: >= 7 bytes - Descripción
- Solo Lectura: Devuelve una matriz de bytes que codifica:
- Versión de 8 bits de esta especificación, 0x00 en este caso.
- Valor de 8 bits del número máximo de ranuras que este beacon es capaz de transmitir simultáneamente, incluidas las ranuras EID. Este es el número total de tramas de publicidad que el beacon es capaz de transmitir simultáneamente.
- Valor de 8 bits del número máximo de ranuras EID independientes que este beacon es capaz de transmitir. (Independiente en este contexto significa intercambio completo de claves ECDH para generar el EID con claves de identidad y valores de reloj separados.)
- Campo de bits de 8 bits que codifica las siguientes propiedades:
- 0x01: IS_VARIABLE_ADV_SUPPORTED establecido si el beacon admite intervalos de publicidad individuales por ranura; no establecido si el beacon solo admite un intervalo de publicidad global.
- 0x02: IS_VARIABLE_TX_POWER_SUPPORTED establecido si el beacon admite potencias Tx individuales por ranura; no establecido si el beacon solo admite una única potencia Tx global.
- 0x04 a 0x80: RFU y debe no estar establecido.
- Campo de bits de 16 bits que codifica los tipos de tramas soportados:
- 0x0001: UID
- 0x0002: URL
- 0x0004: TLM
- 0x0008: EID
- 0x0010 a 0x8000 RFU y debe no estar establecido
- Una matriz de longitud variable de los valores absolutos de potencia de radio Tx soportada (dBm).
- Requisito de Bloqueo
- Legible solo cuando está desbloqueado. Nunca escribible.
Característica 2
- Nombre
- Ranura Activa
- UUID
- a3c87502-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- uint8_t obtener_ranura_activa (lectura)
uint8_t establecer_ranura_activa (escritura)
Longitud: 1 byte - Descripción
- Lectura/Escritura: Lee y escribe el número de ranura activa, indexado desde 0.
El valor predeterminado es 0 cuando se establece una nueva conexión desde un cliente de configuración.
La escritura posterior a otras características actuará en este número de ranura, configurando la potencia Tx, el intervalo de publicidad y los datos para ella. - Requisito de Bloqueo
- Debe estar desbloqueado para lectura y escritura.
Característica 3
- Nombre
- Intervalo de Publicidad
- UUID
- a3c87503-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- uint16_t obtener_intervalo_adv (lectura)
uint16_t establecer_intervalo_adv (escritura)
Longitud: 2 byte - Descripción
- Lectura/Escritura: Lee y escribe el intervalo de publicidad (ms) para la ranura activa.
Si dos ranuras están programadas para transmitirse al mismo tiempo, o el tiempo entre dos transmisiones es menor que el intervalo de publicidad más corto permitido, entonces las publicidades se transmitirán en orden en el AI más corto (40ms).
El valor mínimo para el intervalo de publicidad es 100ms, y 1000ms para la trama TLM. El máximo es 10000ms excepto para la ranura TLM que permite establecer hasta 65535ms si hay más de una ranura configurada. - Requisito de Bloqueo
- Debe estar desbloqueado para lectura y escritura.
Característica 4
- Nombre
- Potencia de Radio Tx
- UUID
- a3c87504-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- Int8_t obtener_potencia_radio_tx (lectura)
Int8_t establecer_potencia_radio_tx (escritura)
Longitud: 1 byte - Descripción
- Lectura/Escritura: Lee y escribe la potencia de radio Tx deseada para la ranura activa (en complemento a dos). Si escribe algún valor diferente de los valores de potencia de radio Tx soportados, obtiene un error.
- Requisito de Bloqueo
- Debe estar desbloqueado para lectura y escritura.
Característica 5
- Nombre
- (Avanzado) Potencia Tx Anunciada
- UUID
- a3c87505-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- int8_t obtener_potencia_tx_anunciada (lectura)
int8_t establecer_potencia_tx_anunciada (escritura)
Longitud: 1 byte - Descripción
- Lectura/Escritura: Escribe un valor que se utiliza como la potencia Tx que se anuncia en los tipos de trama EddystoneUID, URL y EID. Si no se establece, la potencia Tx anunciada en esas tramas es el valor establecido en la característica de Potencia de Radio Tx. El rango de valores es de -126dBm a 127dBm.
Este valor se utiliza para calibrar la potencia anunciada a 0m recibida por el central (tiene en cuenta la pérdida de la antena).
Esta característica está disponible como una opción avanzada implementada y siempre mantiene la última modificada: Si después de cambiar esta característica (7505), la característica de potencia Tx (7504) se modifica, la potencia Tx anunciada (7505) también modificará su valor al mismo introducido en 7504 y, por lo tanto, en 7505 leeremos el mismo valor que en 7504. Sin embargo, si 7505 es la última modificada para ambas, la potencia Tx anunciada sería la definida en 7505. - Requisito de Bloqueo
- Debe estar desbloqueado para lectura y escritura.
Característica 6
- Nombre
- Estado de Bloqueo
- UUID
- a3c87506-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- uint8_t estado_de_bloqueo (lectura)
matriz_de_bytes (escritura) {
byte_de_bloqueo,
clave_encriptada[0] … clave_encriptada[15]
}Longitud (lectura): 1 byte
Longitud (escritura): 1 o 17 byte - Descripción
- Lectura: Lee un valor de byte que indica el estado de bloqueo actual. Los valores de estado son:
- 0x00: BLOQUEADO
- 0x01: DESBLOQUEADO
- 0x02: DESBLOQUEADO Y REBLOQUEO AUTOMÁTICO DESACTIVADO
Escritura: Escriba 1 byte o 17 bytes para pasar a un nuevo estado de bloqueo:
- 0x00: Un solo byte de 0x00 escrito en esta característica pasará la interfaz al estado BLOQUEADO sin cambiar el valor de clave de seguridad actual.
- 0x00 + clave[16]: Un solo byte de 0x00 seguido de un valor de clave encriptada de 16 bytes escrito para esta característica pasará la interfaz al estado BLOQUEADO y actualizará la clave de seguridad al valor desencriptado de clave[16]. Para evitar que el nuevo código de bloqueo se transmita en claro, el cliente deberá encriptar AES128ECB el nuevo código con el código de bloqueo existente:
(clave[16] = encriptar(clave=código_de_bloqueo_actual[16], texto=nuevo_código_de_bloqueo[16])) - 0x02: Un solo byte de 0x02 escrito en esta característica desactivará la capacidad de rebloqueo automático de la interfaz.
Por defecto, el estado de bloqueo es 0x02.
- Requisito de Bloqueo
- Legible en estado bloqueado o desbloqueado.
Escribible solo en estado desbloqueado.
Característica 7
- Nombre
- Desbloquear
- UUID
- a3c87507-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- matriz_de_bytes (lectura) {
desafío[0] … desafío[15]
}
matriz_de_bytes (escritura) {
token_de_desbloqueo[0] … token_de_desbloqueo[15]
}
Longitud: 16 bytes - Descripción
- Escribe en un beacon y lo establece en el estado de desbloqueo, protegido de cambios de configuración o lectura de información sensible.
Lectura: devuelve un token de desafío de 128 bits. Este token es para un solo uso.
Escritura: acepta un valor encriptado de 128 bits que verifica que el cliente conoce el código de bloqueo del beacon.
Para crear el token de desbloqueo, primero lee el desafío generado aleatoriamente de 16 bytes y lo genera usando AES128ECB.
token de desbloqueo = encriptar(clave=código_de_bloqueo_del_beacon[16], texto=desafío[16])
Si el token de desbloqueo introducido es correcto, el estado de bloqueo se establece en 0x01.
Por defecto, el código_de_bloqueo_del_beacon[16] se establece en 0’s. - Requisito de Bloqueo
- Legible solo en estado bloqueado.
Escribible solo en estado bloqueado.
Característica 8
- Nombre
- Clave Pública ECDH
- UUID
- a3c87508-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- matriz_de_bytes (lectura) {
clave[0] … clave[31]
}
Longitud: 32 bytes - Descripción
- Solo Lectura: Lee la clave pública ECDH de 256 bits del beacon.
- Requisito de Bloqueo
- Legible solo en estado desbloqueado
Característica 9
- Nombre
- Clave de Identidad EID
- UUID
- a3c87509-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- matriz de bytes (lectura) {
ik_encriptada[0] … ik_encriptada[15]
}
Longitud: 16 bytes - Descripción
- Solo Lectura: Lee la clave de identidad para la ranura activa. Si la ranura no está configurada como EID, devuelve un error.
Para evitar que estos datos se transmitan en claro, está encriptado con AES128 con el código de bloqueo del beacon. - Requisito de Bloqueo
- Legible solo en estado desbloqueado
Característica 10
- Nombre
- Leer/Escribir Ranura ADV
- UUID
- a3c8750A-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- matriz de bytes (lectura/escritura) {
tipo_de_trama,
datos[0] … datos[N]
}
Longitud de escritura: 17 bytes (UID), 19 bytes (URL), 2 byte (TLM), 34 bytes (EID)
Longitud de lectura: 18 bytes (UID), <=20bytes(URL), 14 bytes (TLM), 18 bytes (eTLM), 14 bytes (EID) - Descripción
- Lee los datos establecidos en la ranura activa y establece los datos/parámetros para ser transmitidos. La interpretación de los datos leídos y escritos está caracterizada por el byte tipo_de_trama, que se asigna a los bytes de tipo de trama Eddystone de 0x00 (UID), 0x10 (URL), 0x20 (TLM), 0x30 (EID).
Lectura: En el caso de una trama UID, URL o TLM, la longitud y los datos son los de los datos transmitidos, incluidas las correcciones a la potencia Tx anunciada aplicadas a través de la tabla de calibración de potencia Tx.
Si la ranura está configurada para anunciar tramas EID, la longitud es 14:
1 byte tipo de trama, 1 byte exponente, 4 byte valor de reloj, 8 byte EID.
Estos son los parámetros requeridos para el registro, junto con la clave pública del beacon, que se expone a través de una característica separada, y la clave pública del resolutor, que el beacon de aprovisionamiento/registro conoce.
Escritura: En el caso de tramas UID y URL, los datos a transmitir se suministran en la matriz después del tipo de trama. UID es 16 bytes de espacio de nombres + instancia, la URL es de hasta 18 bytes.
En el caso de una trama TLM, los datos son solo el byte tipo de trama, 0x20.
Si otra ranura en el beacon ha sido configurada como un tipo de trama EID, el beacon transmite la variedad ETLM de telemetría. De lo contrario, se transmite la TLM simple.
En el caso de una trama EID, la longitud es 34: tipo de trama 0x30, la
clave pública ECDH del servicio de 32 bytes y el byte exponente.
Escribir una matriz vacía borra la ranura y detiene la Tx. Si ha sido configurado como un beacon EID, esto también destruirá el estado del periférico para estos datos de trama y generará una nueva clave pública ECDH y el dispositivo volverá a la MAC original.
El número máximo de ranuras que se pueden configurar como TLM es 1 (como trama EID). Las tramas URL y UID se pueden configurar en múltiples ranuras. - Requisito de Bloqueo
- Debe estar desbloqueado para lectura y escritura.
Característica 11
- Nombre
- (Avanzado) Restablecimiento de Fábrica
- UUID
- a3c8750B-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- uint8_t restablecer_bool (escritura)
Longitud: 1 byte
Descripción
Solo Escritura: Si se escribe un valor de 0x0B, el beacon se restablece a su estado de fábrica. Esto no incluye la clave de desbloqueo, que permanece establecida en su valor actual. Todos los datos de ranura (incluidas las claves de identidad EID) se destruyen.
Además, cualquier escritura se ignorará si el estado de bloqueo es diferente de 0x01. - Requisito de Bloqueo
- Debe estar desbloqueado para escribir. El estado de bloqueo debe ser 0x01.
Característica 12
- Nombre
- (Avanzado) Permanecer Conectable
- UUID
- a3c8750C-8ed3-4bdf-8a39-a01bebede295
- Propiedades
- uint8_t es_no_conectable_soportado (lectura)
uint8_t permanecer_conectable_bool (escritura)
Longitud: 1 byte - Descripción
- Lectura: Al leer, devolver un valor distinto de cero indica que el beacon es capaz de volverse no conectable. Devolver un valor cero indica que el beacon está limitado a funcionar en un estado siempre conectable. En nuestro caso, el beacon es capaz de volverse no conectable.
Escritura: Escribir un valor cero hará que el beacon pase a un estado no conectable después de que el cliente se desconecte. Si se escribe cualquier valor distinto de cero, el beacon permanecerá en su estado conectable hasta que se escriba cualquier otro valor.
Si se escribe un valor cero, el beacon reanudará su operación normal de volverse no conectable después de que el central se desconecte.
Esta característica no es compatible con las Características 3 y 4 del Servicio Global, y siempre permanece como la última en configurarse. Si se configura una ventana conectable y después se establece esta característica, el estado definido en esta característica permanecerá. Si se establece esta característica y después se configura una ventana conectable, la ventana conectable permanecerá. Para saber más sobre diferentes casos, consulte la Tabla 1 de la característica 3(0xFF03) del Servicio Global.
Por defecto, el beacon siempre es conectable y la ventana conectable está desactivada. - Requisito de Bloqueo
- Debe estar desbloqueado para escribir.
3.2 SERVICIO IBEACON
Este servicio se utiliza para configurar 1 o 2 ranuras adicionales (Máx. 2 ranuras ibeacon) como una trama iBeacon. Estas ranuras se añaden a la cola de las ranuras Eddystone.
Definición del servicio
- Nombre
- Servicio iBeacon
- UUID
- 0xFA00
- Notas
- Las características de este servicio están bloqueadas cuando el servicio Eddystone está bloqueado.
Característica 1
- Nombre
- iBeacon Activo
- UUID
- 0xFA01
- Propiedades
- uint8_t es_ibeacon_activo (escritura/lectura)
Longitud: 1 byte - Descripción
- Escritura/Lectura: Lee y escribe el número de ranura activa, indexado desde 0.
El valor predeterminado es 0 cuando se establece una nueva conexión desde un cliente de configuración.
La escritura posterior a otras características actuará en este número de ranura, configurando la potencia Tx, el intervalo de publicidad, UUID, Major y Minor y byte extra para ella.
Característica 2
- Nombre
- Intervalo de publicidad iBeacon
- UUID
- 0xFA02
- Propiedades
- uint16_t obtener_intervalo_adv (lectura)
uint16_t establecer_intervalo_adv (escritura)
Longitud: 2 byte - Descripción
- Lectura/Escritura: Lee y escribe el intervalo de publicidad (ms) para la ranura iBeacon. El valor mínimo admitido es 100ms.
Característica 3
- Nombre
- Potencia Tx iBeacon
- UUID
- 0xFA03
- Propiedades
- Int8_t obtener_potencia_radio_tx (lectura)
Int8_t establecer_potencia_radio_tx (escritura)
Longitud: 1 byte - Descripción
- Lectura/Escritura:Lee y escribe la potencia de radio Tx deseada para la ranura iBeacon (en complemento a dos)
Característica 4
- Nombre
- Potencia Cal iBeacon
- UUID
- 0xFA04
- Propiedades
- int8_t obtener_potencia_tx_anunciada (lectura)
int8_t establecer_potencia_tx_anunciada (escritura)
Longitud: 1 byte - Descripción
- Lectura/Escritura: Escribe un valor que se utiliza como la potencia Tx que se anuncia en el paquete iBeacon. Si no se establece, la potencia Tx anunciada es el valor establecido en la característica de Potencia de Radio Tx.
Este valor se utiliza para calibrar la potencia anunciada a 1m recibida por el central (tiene en cuenta la pérdida de la antena).
Esta característica está disponible como una opción avanzada implementada y siempre permanece como la última en modificarse (entre Txpower y Cal power). Si después de cambiar esta característica (FA04), la característica de potencia Tx (FA03) se modifica, la potencia cal (FA04) también modificará su valor al mismo introducido en FA03 y, por lo tanto, en FA04 se leerá el mismo valor que en FA03. Sin embargo, si FA04 es la última modificada para ambas, la potencia Tx anunciada será la definida en FA04.
Característica 5
- Nombre
- iBeacon UUID:Major:Minor
- UUID
- 0xFA05
- Propiedades
- matriz_de_bytes (lectura/escritura) {
UUID[0] … UUID[15],
Major[0],Major[1],
Minor[0],Minor[1]
}
Longitud: 20 bytes - Descripción
- Lectura: Lee el UUID, Major y Minor deseados para la ranura iBeacon. Si el valor leído es un solo byte con valor ‘0’, la ranura está desactivada.
Escritura: Escribe el UUID, Major y Minor deseados para la ranura iBeacon. Escribir un único byte (longitud=1) con valor ‘0’, borra la ranura y detiene la publicidad de esta ranura.
Característica 6
- Nombre
- Byte Extra iBeacon
- UUID
- 0xFA06
- Propiedades
- uint8_t obtener_byteextra_activo (lectura)
uint8_t establecer_byteextra_activo (escritura)
Longitud: 1 byte - Descripción
- Lectura/Escritura:Lee y escribe la activación de un byte extra (establece un byte adicional al paquete ibeacon con % de nivel de batería). Si se escribe cualquier valor distinto de cero, el byte extra está activo. Si se escribe un valor cero, el byte extra está inactivo.
3.3 SERVICIO GLOBAL
Definición del servicio
- Nombre
- Servicio Global
- UUID
- 0xFF00
- Notas
- Las características de este servicio están bloqueadas cuando el servicio Eddystone está bloqueado.
Característica 1
- Nombre<
- Nombre del Dispositivo
- UUID
- 0xFF01
- Propiedades
- matriz_de_bytes (lectura) {
char[0]…char[20]
}
Longitud <= 20 bytes - Descripción
- Escritura/Lectura:Escribe y lee el nombre del dispositivo. Si este valor se cambia, el beacon se reinicia después de la desconexión.
Característica 2
- Nombre
- Versión GATT
- UUID
- 0xFF02
- Propiedades
- matriz_de_bytes (lectura) {
char[0]…char[19]
}
Longitud <= 20 bytes - Descripción
- Solo lectura: Devuelve la versión GATT utilizada en este firmware.
Característica 3
- Nombre
- Período Conectable
- UUID
- 0xFF03
- Propiedades
- matriz_de_bytes (lectura/escritura) {
período[0]…período[2]
}
Longitud: 3 bytes - Descripción
- Las características de «período conectable» y «ventana conectable» nos permiten configurar una ventana de tiempo mientras el dispositivo está en modo conectable.
Lectura/Escritura: Escribe el período de con qué frecuencia el beacon inicia la ventana conectable (en segundos). Lee el mismo valor. - La ventana conectable no es compatible con las Características 12 (0x750C) del Servicio Eddystone, y siempre permanece como la última en configurarse. Si se configura una ventana conectable y después, se establece el char 0x750C, el estado definido en el char 0x750C permanecerá. Si se establece el char 0x750C y después, se configura una ventana conectable, la ventana conectable permanecerá.
| Tabla1: Casos de Configuración | |||
|---|---|---|---|
| Característica | Caso1 | Caso2 | Caso 3 |
| Último activado | Permanecer conn. | Permanecer conn. | Ventana conn. |
| Permanecer conectable | 0x00 | 0x01 | – |
| Período conectable | 0xFFFFFF | 0x000000 | Período conn. deseado |
| Ventana conectable | 0xFFFFFF | 0x000000 | Ventana conn. deseada |
| Publicidad | Siempre no conectable | Siempre conectable | Ventana conectable activa |
Característica 4
- Nombre
- Ventana Conectable
- UUID
- 0xFF04
- Propiedades
- matriz_de_bytes (lectura/escritura) {
ventana[0]…ventana[2]
}
Longitud: 3 bytes - Descripción
- Lectura/Escritura: Escribe cuánto dura la ventana conectable (en segundos). Lee el mismo valor.
- La ventana conectable no es compatible con las Características 12 (0x750C) del Servicio Eddystone, y siempre permanece como la última en configurarse. Si se configura una ventana conectable y después, se establece el char 0x750C, el estado definido en el char 0x750C permanecerá. Si se establece el char 0x750C y después, se configura una ventana conectable, la ventana conectable permanecerá. Para saber más sobre diferentes casos, consulte la Tabla 1 de la característica 3 (0xFF03).
Característica 5
- Nombre
- Modo de actualización de firmware
- UUID
- 0xFF05
- Propiedades
- uint8_t establecer_actualización_fw (escritura)
Longitud: 1 byte - Descripción
- Solo Escritura: Al escribir un 0x01, el beacon comienza en modo DFU después de que el usuario se desconecta del beacon. Al entrar en modo DFU, asegúrese de que actualizará FW, el beacon solo regresa al modo beacon después de la actualización.
Característica 6
- Nombre
- Hora Actual
- UUID
- 0xFF06
- Propiedades
- matriz_de_bytes (lectura/escritura) {
hora_act[0]…hora_act[1]
}
Longitud: 2 bytes - Descripción
- Lectura/Escritura: Escribe la hora actual en minutos (es decir, 17:18h = 0x040E). Usando las características 0xFF06, 0xFF07 y 0xFF08, es posible programar el encendido y apagado de la publicidad. Esta característica (x0FF06) nos permite sincronizar el beacon con la hora real y debe escribirse después de configurar las características 0xFF07 y 0xFF08 para activar esta función.
- Si las características 0xFF06, 0xFF07 y 0xFF08 se establecen en valor cero, el encendido/apagado de la publicidad está desactivado.
- Cuando el beacon se apaga, estas 3 características se establecen en ‘0’ y la publicidad siempre permanece activa hasta que estas 3 características se configuran nuevamente.
Característica 7
- Nombre
- Hora de Encendido de Publicidad
- UUID
- 0xFF07
- Propiedades
- uint8_t obtener_hora_encendido_activa (lectura)
uint8_t establecer_hora_encendido_activa (escritura)
Longitud: 1 byte - Descripción
- Lectura/Escritura: Escribe la hora (en resolución de horas) en que la publicidad debería comenzar. Después de la modificación de esta característica, se debe establecer el char 0xFF06 para sincronizarse. Para obtener más información sobre esta función, consulte la característica 0xFF06.
Nota: La diferencia entre ENCENDIDO y APAGADO debe ser menor de 17 horas.
Característica 8
- Nombre
- Hora de Apagado de Publicidad
- UUID
- 0xFF08
- Propiedades
- uint8_t obtener_hora_apagado_activa (lectura)
uint8_t establecer_hora_apagado_activa (escritura)
Longitud: 1 byte - Descripción
- Lectura/Escritura: Escribe la hora (en resolución de horas) en que la publicidad debería detenerse. Después de la modificación de esta característica, se debe establecer el char 0xFF06 para sincronizarse. Para obtener más información sobre esta función, consulte la característica 0xFF06.
Nota: La diferencia entre ENCENDIDO y APAGADO debe ser menor de 17 horas.