Documentación iOS
Introducción
El presente documento describe el SDK de Beat One Watch que permitirá que cualquier app pueda comunicarse con el smartwatch e interactuar con él.
Instalación
Para poder acceder a las funcionalidades y clases que ofrece el SDK, será necesario crear o editar un fichero
Podfile añadiendo las siguientes líneas.
platform :ios, '10.3'
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
target 'MyApp' do
pod 'BeatOneSDK', :git => "https://github.com/beat-one/ios-sdk.git"
end
Deberemos guardar los cambios en el fichero. El fichero
Podfile debe guardarse en la carpeta del proyecto.
Para probar el correcto funcionamiento del pod, procederemos de la forma habitual: en la carpeta del proyecto ejecutaremos
pod install o
pod update.
Un ejemplo de ejecución correcta del pod sería la siguiente:
bash: ios-app$ pod update
Update all pods
Updating local specs repositories
$ /usr/bin/git -C /Users/user/.cocoapods/repos/master fetch origin --progress
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 18 (delta 12), reused 0 (delta 0), pack-reused 0
From https://github.com/CocoaPods/Specs
bebfc5f1878..8ee90304521 master -> origin/master
$ /usr/bin/git -C /Users/user/.cocoapods/repos/master rev-parse --abbrev-ref HEAD master
$ /usr/bin/git -C /Users/user/.cocoapods/repos/master reset --hard origin/master
HEAD is now at 8ee90304521 [Add] TFY_LayoutModelTool 3.0.1
Analyzing dependencies
Pre-downloading: `BeatOneSDK` from `https://github.com/beat-one/ios-sdk.git`, tag `X.Y.Z` Downloading dependencies
Installing BeatOneSDK (X.Y.Z)
Generating Pods project
Integrating client project
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
bash: ios-app$ rm -rf Pods/
bash: ios-app$ pod cache clean --all
^[[A^[[Abash: ios-app$ rm Podfile.lock
bash: ios-app$ pod update
Update all pods
Updating local specs repositories
Analyzing dependencies
Pre-downloading: `BeatOneSDK` from `https://github.com/beat-one/ios-sdk.git`, tag `X.Y.Z` Downloading dependencies
Installing BeatOneSDK (X.Y.Z)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use `MyApp.xcworkspace` for this project from now on.
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
A partir de ese momento deberemos acceder al proyecto de la app de pruebas a través del fichero .xcworkspace que se ha generado y procederemos a la compilación del proyecto.
Primeros pasos
Procederemos a continuación a describir los pasos fundamentales para el escaneo y conexión a dispositivos.
Para poder usar BeatOneSDK, deberemos importar la librería en el viewcontroller o clase en cuestión:
import BeatOneSDK
import CoreBluetooth
Para poder interactuar con el Beat One Watch será necesario inicializar una instancia de
BOManager:
BOManager.sharedInstance.initManager(delegate: self)
Si queremos recibir mensajes del sistema, podemos activar el sistema de logs en la inicialización:
BOManager.sharedInstance.initManager(delegate: self, sendLogs: true)
Esta inicialización requerirá que el viewController o clase implemente
BOManagerDelegate, y por tanto, será necesario añadirlo a la declaración de la clase:
class MyViewController: UIViewController, BOManagerDelegate {
Antes de iniciar la conexión, podemos comprobar el estado del módulo de bluetooth en el móvil:
let status = BOManager.sharedInstance.checkBluetoothPermissions()
Si el estado es satisfactorio, podemos proceder a escanear dispositivos:
BOManager.sharedInstance.startScan(type: BOConstants.ScanType.SCAN)
Al iniciar el escaneo, podremos recibir en el evento
onDeviceDetected, y podemos realizar la conexión:
func onDeviceDetected(device: BODevice) {
DispatchQueue.main.async {
BOManager.sharedInstance.connectToDevice(device: device)
}
}
En caso de realizar un escaneo con conexión automática, se establece la conexión automáticamente y no es necesario el proceso descrito anteriormente:
BOManager.sharedInstance.startScan(type: BOConstants.ScanType.SCAN_AND_CONNECT)
Cuando se establece una conexión a un reloj, se detiene automáticamente cualquier escaneo en curso, aunque también es posible detener el escaneo manualmente:
BOManager.sharedInstance.stopScan()
Una vez establecida la conexión con el reloj, podremos enviarle comandos y recoger las respuestas a esos comandos:
if let d = BOManager.sharedInstance.getDevice() {
d.setTime(date: Date())
}
La respuesta al comando se recibe en el evento correspondiente:
func onSetTimeResponse(success: Bool) {
if (success) {
print("Updated datetime")
}
}
Clases del SDK
A continuación describiremos las clases que integran el SDK.
BOManager
BOManager es la clase que gestiona la conexión a los relojes bluetooth. Incluye el delegate
BOManagerDelegate que enviará los eventos correspondientes tanto al estado de la conexión como a los resultados de los comandos enviados al reloj. Se trata de una clase singleton, así que solo debería existir una instancia de este objeto en el proyecto.
BOManagerDelegate
BOManagerDelegate es el protocolo que incluye los eventos de establecimiento y conexión a los dispositivos y los eventos de comunicación de resultados. Describiremos los eventos asociados en la sección de
eventos.
Variables
A continuación pasaremos a describir las variables públicas disponibles en la clase
BOManager
Variable |
Tipo |
Descripción |
sharedInstance |
BOManager |
Variable para acceder a la clase singleton |
delegate |
BOManagerDelegate |
Variable asignar el controlador que recibirá los eventos de la clase |
isScanning |
Bool |
Variable que indica si se está realizando un escaneo de dispositivos |
Métodos
A continuación pasaremos a describir los métodos públicos disponibles en la clase
BOManager
public func initManager(delegate: BOManagerDelegate, sendLogs: Bool = false)
Descripción: |
Método para inicializar un objeto de la clase BOManager |
Parametros: |
Atributo |
Tipo |
Descripción |
delegate |
BOManagerDelegate |
Indica el controlador que recibirá los eventos de BOManagerDelegate |
sendLogs |
Bool |
Indica si se desea activar el envío de mensajes del sistema hacia la aplicación. Si se activa, se irán recibiendo eventos onLog. Si no se indica, por defecto no se envían mensajes de log. |
|
Ejemplo de ejecución: |
BOManager.sharedInstance.initManager(delegate: self)
BOManager.sharedInstance.initManager(delegate: self, sendLogs: true) |
public func deviceIsBeatOne(peripheral: CBPeripheral) -> Bool
Descripción: |
Método para determinar si un dispositivo detectado es un reloj BeatOne |
Parametros: |
Atributo |
Tipo |
Descripción |
peripheral |
CBPeripheral |
Indica el objeto peripheral que se quiere identificar como reloj BeatOne |
|
Ejemplo de ejecución: |
if BOManager.sharedInstance.deviceIsBeatOne(peripheral: foundPeripheral){
print("Device found!!")
} |
public func getDevice() -> BODevice?
Descripción: |
Método para obtener el objeto BODevice con el que se ha establecido una conexión |
Ejemplo de ejecución: |
let myDevice = BOManager.sharedInstance.getDevice() |
Descripción: |
Método para obtener el estado de la conexión a un dispositivo |
Ejemplo de ejecución: |
let connection = BOManager.sharedInstance.getConnectionStatus() |
Descripción: |
Método para iniciar la detección de dispositivos |
Parametros: |
Atributo |
Tipo |
Descripción |
type |
BOConstants.ScanType |
Indica el tipo de escaneo de dispositivos a realizar |
|
Ejemplo de ejecución: |
BOManager.sharedInstance.startScan(type: BOConstants.ScanType.SCAN_AND_CONNECT)
Mediante esta llamada la aplicación realizará un escaneo y se conectará automáticamente al primer dispositivo BeatOne que encuentre |
public func stopScan()
Descripción: |
Método para detener el escaneo de dispositivos |
Ejemplo de ejecución: |
BOManager.sharedInstance.stopScan() |
public func connectToDevice(device: BODevice)
Descripción: |
Método para conectar a un dispositivo |
Parametros: |
Atributo |
Tipo |
Descripción |
device |
BODevice |
Indica el dispositivo con el que se desea establecer la conexión |
|
Ejemplo de ejecución: |
BOManager.sharedInstance.connectToDevice(device: foundDevice) |
public func connectToDeviceWith(uuid: String)
Descripción: |
Método para conectar a un dispositivo mediante su UUID |
Parametros: |
Atributo |
Tipo |
Descripción |
uuid |
String |
Indica el identificador UUID del dispositivo con el que se desea establecer la conexión |
|
Ejemplo de ejecución: |
BOManager.sharedInstance.connectToDeviceWith(uuid: "a031a8fe-98fb-11eb-a8b3-0242ac130003") |
public func disconnectDevice(device: BODevice)
Descripción: |
Método para desconectar de un dispositivo |
Parametros: |
Atributo |
Tipo |
Descripción |
device |
BODevice |
Indica el dispositivo del que se desea desconectar |
|
Ejemplo de ejecución: |
BOManager.sharedInstance.disconnectDevice(device: foundDevice) |
public func checkBluetoothPermissions() -> BOConstants.BluetoothPermissions
Descripción: |
Método para obtener el estado de los permisos concedidos por el sistema a la aplicación que utiliza BeatOneSDK |
Ejemplo de ejecución: |
let permissions = BOManager.sharedInstance.checkBluetoothPermissions() |
Eventos
A continuación vamos a describir cada uno de esos eventos, dividiéndolos en dos secciones, una que trata los eventos globales y otra con los eventos de respuesta a comandos:
-
Eventos generales
Este evento se recibe cuando se finaliza la comprobación de los permisos bluetooth otorgados a la aplicación que usa el BeatOneSDK.
Este evento se recibe cuando se finaliza la comprobación del estado de encendido del bluetooth en el móvil.
onConnectionError(message: String)
Este evento se recibe cuando se produce algún error en la conexión.
Atributo |
Tipo |
Descripción |
message |
String |
Describe el mensaje de error producido |
Este evento se recibe cuando se produce un cambio en el estado de la conexión al reloj.
Atributo |
Tipo |
Descripción |
device |
BODevice |
Indica el dispositivo del que se ha producido el cambio de conexión |
status |
BOConstants.ConnectionState |
Describe el nuevo estado de la conexión |
onDeviceDetected(device: BODevice)
Este evento se recibe cuando, durante la fase de escaneo de dispositivos, se encuentra un reloj BeatOne.
Atributo |
Tipo |
Descripción |
device |
BODevice |
Describe el dispositivo encontrado en la fase de escaneo |
onScanStateChanged(active: Bool)
Este evento se recibe cuando se produce un cambio en el estado del escaneo de dispositivos.
Atributo |
Tipo |
Descripción |
active |
Bool |
Describe si el escaneo de dispositivos está activo o no |
onDataReceived(data: Any)
Este evento se produce cuando se reciben datos desde el reloj como resultado de una petición.
Atributo |
Tipo |
Descripción |
commandIdentifier |
BOConstants.CommandIdentifiers |
Describe el identificador del comando al que hace referencia el evento |
data |
Any |
Describe los datos recibidos desde el reloj en su formato original |
Este evento se recibe cuando se ha producido un error como resultado de una petición realizada al reloj.
Atributo |
Tipo |
Descripción |
commandIdentifier |
BOConstants.CommandIdentifiers |
Describe el identificador del comando al que hace referencia el evento |
data |
Any |
Describe el error recibido desde el reloj en su formato original. Este dato puede ser en formato String (describiendo en error) o incluyendo un objeto Error |
onLog(message: String)
Este evento se recibe cuando se ha activado el servicio de reporte de logs.
Atributo |
Tipo |
Descripción |
message |
String |
Describe el mensaje del sistema para la detección de problemas o el seguimiento del proceso |
-
Eventos de respuesta a comandos
Los eventos originados por la respuesta a comandos son los mismos que utiliza la clase BODevice. Se puede consultar el listado de eventos de la clase en el apartado "Eventos de respuesta a comandos".
BODevice
BODevice es la clase que describe un dispositivo BeatOne. Incluye el delegate
BODeviceDelegate que enviará los eventos correspondientes tanto al estado del dispositivo como a los resultados de los comandos enviados al reloj.
BODeviceDelegate
BODeviceDelegate es el protocolo que incluye los eventos de cambio del estado de la conexión al dispositivo y datos recibidos, además de los eventos de comunicación de resultados. Describiremos los eventos asociados en la sección de
eventos.
Variables
A continuación pasaremos a describir las variables públicas disponibles en la clase
BODevice
Variable |
Tipo |
Descripción |
delegate |
BODeviceDelegate |
Variable para asignar el controlador que recibirá los eventos de la clase |
Métodos
A continuación pasaremos a describir los métodos públicos disponibles en la clase
BODevice
-
Métodos relacionados con la conexión a dispositivos
public func deviceIsBeatOne() -> Bool
Descripción: |
Método para determinar si un dispositivo detectado es un reloj BeatOne |
Ejemplo de ejecución: |
if device.deviceIsBeatOne(){
print("Device found!!")
} |
public func getUUID() -> UUID?
Descripción: |
Método para determinar si un dispositivo detectado es un reloj BeatOne |
Ejemplo de ejecución: |
let uuid = device.getUUID() |
public func getRSSI() -> Int?
Descripción: |
Método para determinar el nivel de intensidad de señal (RSSI) recibida del dispositivo en cuestión. El valor retornado estará dentro de un ranto de 0 a -80. Cuanto más cercano a 0, indica que el móvil se encuentra más cerca del reloj |
Ejemplo de ejecución: |
let signalStrength = device.getRSSI() |
public func getMAC() -> String?
Descripción: |
Método que indica la dirección MAC del dispositivo en cuestión. |
Ejemplo de ejecución: |
let macAddress = device.getMAC() |
public func isSameDeviceAs(device: BODevice) -> Bool
Descripción: |
Método para determinar si el dispositivo en cuestión es el mismo que el que se pasa por parámetro |
Parametros: |
Atributo |
Tipo |
Descripción |
device |
BODevice |
Indica el dispositivo que se quiere comparar |
|
Ejemplo de ejecución: |
if device.isSameDeviceAs(device: newDevice){
print("Duplicated device!!")
} |
public func isDeviceWith(uuid: String) -> Bool
Descripción: |
Método para determinar si el dispositivo en cuestión tiene el UUID que se pasa por parámetro |
Parametros: |
Atributo |
Tipo |
Descripción |
uuid |
String |
Indica el UUID que se quiere comparar |
|
Ejemplo de ejecución: |
if device.isDeviceWith(uuid: "a031a8fe-98fb-11eb-a8b3-0242ac130003"){
print("My device!!")
} |
public func connect()
Descripción: |
Método para establecer una conexión con el dispositivo encontrado |
Ejemplo de ejecución: |
device.connect() |
public func disconnect()
Descripción: |
Método para realizar la desconexión al dispositivo |
Ejemplo de ejecución: |
device.disconnect() |
Descripción: |
Método para obtener el estado de conexión con el dispositivo |
Ejemplo de ejecución: |
let currentState = device.getStatus() |
-
Métodos relacionados con operaciones
public func setTime(date: Date)
Descripción: |
Método para configurar la fecha y hora en el dispositivo. El resultado de la operación se recibirá en el evento onSetTimeResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
date |
Date |
Describe la fecha que se quiere enviar al dispositivo |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.setTime(date: Date())
} |
public func getTime()
Descripción: |
Método para obtener la fecha y hora actual del dispositivo. El resultado de la operación se recibirá en el evento onGetTimeResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getTime()
} |
public func setUserPersonalInformation(userInformation: BOUserInformation)
Descripción: |
Método para configurar los parámetros del usuario en el dispositivo. El resultado de la operación se recibirá en el evento onSetUserPersonalInformationResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
userInformation |
BOUserInformation |
Describe las características del usuario que se quieren enviar al dispositivo |
|
Ejemplo de ejecución: |
let userInfo = BOUserInformation.init(gender: BOConstants.UserGender.FEMALE,
age: 35,
height: 165,
weight: 55,
strideLength: 80)
if let d = BOManager.sharedInstance.getDevice() {
d.setUserPersonalInformation(userInformation: userInfo)
} |
public func getUserPersonalInformation()
Descripción: |
Método para obtener los parámetros del usuario configurados en el dispositivo. El resultado de la operación se recibirá en el evento onGetUserPersonalInformationResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getUserPersonalInformation()
} |
public func setDeviceParameters(deviceParameters: BODeviceParameters)
Descripción: |
Método para configurar los parámetros del reloj en el dispositivo. El resultado de la operación se recibirá en el evento onSetDeviceParametersResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
deviceParameters |
BODeviceParameters |
Describe la configuración del reloj que se quiere enviar al dispositivo |
|
Ejemplo de ejecución: |
let ANCSInformation = BOANCSInformation.init(phoneCall: true,
mobilePhoneInformation: true,
wechat: false,
facebook: true,
instagram: true,
skype: true,
telegram: true,
twitter: true,
vkclient: false,
whatsapp: true,
qq: false,
in_: false)
let deviceParameters = BODeviceParameters.init(distanceUnit: BOConstants.DeviceDistanceUnit.KM,
hourDisplay: BOConstants.DeviceHourDisplay.HOUR_24_DISPLAY,
wristSenseEnabled: true,
temperatureUnit: BOConstants.DeviceTemperatureUnit.CELSIUS,
nightMode: false,
ANCSEnabled: true,
ANCSInformation: ANCSInformation,
basicHeartRateSetting: 50,
screenBrightness: 12,
dialInterface: 1,
socialDistanceEnabled: true,
language: BOConstants.DeviceLanguage.ENGLISH)
if let d = BOManager.sharedInstance.getDevice() {
d.setDeviceParameters(deviceParameters: deviceParameters)
} |
public func getDeviceParameters()
Descripción: |
Método para recuperar los ajustes del dispositivo. El resultado de la operación se recibirá en el evento onGetDeviceParametersResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getDeviceParameters()
} |
public func setDeviceIDCode(identifier: String)
Descripción: |
Método para configurar el identificador de dispositivo. El resultado de la operación se recibirá en el evento onSetDeviceIDCodeResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
identifier |
String |
Indica el identificador que se quiere enviar al dispositivo |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.setDeviceIDCode(identifier: "123456")
} |
public func setRealTimeStepMode(enableStep_HRMode: Bool, enableTemperatureMode: Bool)
Descripción: |
Método para activar el modo de registro de pasos en tiempo real. Al activarse este modo, el reloj empieza a enviar datos a través del evento onSetRealTimeStepModeResponse. |
Parametros: |
Atributo |
Tipo |
Descripción |
enableStep_HRMode |
Bool |
Indica si se desea activar o desactivar el registro de pasos y ritmo cardíaco automático en el dispositivo. Un valor de true activará la medición automática y un valor false detendrá el proceso |
enableTemperatureMode |
Bool |
Indica si se desea activar o desactivar el registro de la temperatura |
|
Ejemplo de ejecución: |
let enableStep_HRMode = true
let enableTemperatureMode = false
if let d = BOManager.sharedInstance.getDevice() {
d.setRealTimeStepMode(enableStep_HRMode: enableStep_HRMode, enableTemperatureMode: enableTemperatureMode)
} |
public func setTargetSteps(steps: Int)
Descripción: |
Método para configurar el objetivo de pasos en el dispositivo. El resultado de la operación se recibirá en el evento onSetTargetStepsResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
steps |
Int |
Indica el número de pasos a fijar como objetivo diario en el dispositivo |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.setTargetSteps(steps: 8000)
} |
public func getTargetSteps()
Descripción: |
Método para obtener el objetivo de pasos diarios configurado en el dispositivo. El resultado de la operación se recibirá en el evento onGetTargetStepsResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getTargetSteps()
} |
public func getDeviceBattery()
Descripción: |
Método para obtener el nivel de batería del reloj. El resultado de la operación se recibirá en el evento onGetDeviceBatteryResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getDeviceBattery()
} |
public func getMACAddress()
Descripción: |
Método para obtener la dirección MAC del reloj. El resultado de la operación se recibirá en el evento onGetMACAddressResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getMACAddress()
} |
public func getSoftwareVersionNumber()
Descripción: |
Método para obtener la dirección MAC del reloj. El resultado de la operación se recibirá en el evento onGetSoftwareVersionNumberResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getSoftwareVersionNumber()
} |
public func setFactoryReset()
Descripción: |
Método para reiniciar los ajustes del reloj a sus valores de fábrica. El resultado de la operación se recibirá en el evento onSetFactoryResetResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.setFactoryReset()
} |
public func setMCUReset()
Descripción: |
Método para reiniciar reiniciar la unidad del microcontrolador del reloj a sus valores de fábrica. El resultado de la operación se recibirá en el evento onSetMCUResetResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.setMCUReset()
} |
Descripción: |
Método para configurar la toma automática de ritmo cardíaco. El resultado de la operación se recibirá en el evento onSetAutomaticHeartRateDetectionPeriodResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
workingMode |
BOConstants.DeviceAutomaticWorkingMode |
Indica el modo de configuración de la toma automática de pulso (en rango de horas o intervalo de tiempo) |
startTime |
BOTime |
Indica la hora de inicio de las mediciones configurada en el reloj |
endTime |
BOTime |
Indica la hora de finalización de las mediciones configurada en el reloj |
weekEnable |
BOWeekEnabler |
Indica los días en los que se habilita la toma automática de pulso |
periodTime |
Int |
Indica la periodicidad en minutos de la toma de mediciones |
|
Ejemplo de ejecución: |
let startTime = BOTime.init(hour: 8, minutes: 30)
let endTime = BOTime.init(hour: 23, minutes: 59)
let weekEnable = BOWeekEnabler.init(monday: false, tuesday: true, wednesday: true, thursday: false, friday: true, saturday: true, sunday: true)
if let s = startTime, let e = endTime, let d = BOManager.sharedInstance.getDevice() {
d.setAutomaticHeartRateDetectionPeriod(workingMode: BOConstants.DeviceAutomaticWorkingMode.IN_INTERVAL,
startTime: s,
endTime: e,
weekEnable: weekEnable,
periodTime: 360)
} |
public func getAutomaticHeartRateDetectionPeriod()
Descripción: |
Método para recuperar la configuración de la toma automática de ritmo cardíaco. El resultado de la operación se recibirá en el evento onGetAutomaticHeartRateDetectionPeriodResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getAutomaticHeartRateDetectionPeriod()
} |
public func setAlarm(alarmArray: [BOAlarmData])
Descripción: |
Método para enviar un listado de alarmas al reloj. El resultado de la operación se recibirá en el evento onSetAlarmResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
alarmArray |
[BOAlarmData] |
Describe una lista de alarmas que se enviarán al dispositivo. Solo pueden enviarse un máximo de 10 alarmas |
|
Ejemplo de ejecución: |
let alarm1 = BOAlarmData.init(alarmEnabled: true, alarmType: BOConstants.DeviceAlarmType.ALARM, alarmTime: BOTime.init(hour: 7, minutes: 15)!, weekEnable: BOWeekEnabler.init(monday: true, tuesday: false, wednesday: false, thursday: false, friday: false, saturday: false, sunday: false), alarmText: "WAKE UP ALARM!!")
let alarm2 = BOAlarmData.init(alarmEnabled: true, alarmType: BOConstants.DeviceAlarmType.MEDICINE_REMINDER, alarmTime: BOTime.init(hour: 9, minutes: 30)!, weekEnable: BOWeekEnabler.init(monday: false, tuesday: true, wednesday: false, thursday: false, friday: false, saturday: false, sunday: false), alarmText: "TAKE MEDICINE!!")
let alarm3 = BOAlarmData.init(alarmEnabled: true, alarmType: BOConstants.DeviceAlarmType.WATER_REMINDER, alarmTime: BOTime.init(hour: 18, minutes: 30)!, weekEnable: BOWeekEnabler.init(monday: false, tuesday: false, wednesday: true, thursday: false, friday: false, saturday: false, sunday: false), alarmText: "DRINK WATTER AFTER EXERCISE!!")
var alarmArray = [BOAlarmData]()
alarmArray.append(alarm1)
alarmArray.append(alarm2)
alarmArray.append(alarm3)
if let d = BOManager.sharedInstance.getDevice() {
d.setAlarm(alarmArray: alarmArray)
} |
public func setNotification(type: BOConstants.DeviceANCS, content: String)
Descripción: |
Método para enviar una notificación al reloj. El resultado de la operación se recibirá en el evento onSetNotificationResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
type |
BOConstants.DeviceANCS |
Describe el tipo de notificación que se enviará al dispositivo |
content |
String |
Indica el texto que aparecerá en la pantalla del reloj al recibir la notificación |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.setNotification(type: BOConstants.DeviceANCS.TWITTER, content: "You've received a new Twitter message")
} |
public func setActivityPeriod(startTime: BOTime, endTime: BOTime, weekEnable: BOWeekEnabler, motionReminderPeriod: Int, minimumNumberSteps: Int, motionEnabled: Bool)
Descripción: |
Método para configurar el periodo de actividad del usuario en el dispositivo. El resultado de la operación se recibirá en el evento onSetActivityPeriodResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
startTime |
BOTime |
Indica la hora de inicio del periodo de actividad en el dispositivo |
endTime |
BOTime |
Indica la hora de finalización del periodo de actividad en el dispositivo |
weekEnable |
BOWeekEnabler |
Describe los días de la semana en que se habilita la actividad el usuario en el dispositivo |
motionReminderPeriod |
Int |
Indica en minutos la periodicidad de comprobación del recordatorio para que el usuario se mueva |
minimumNumberSteps |
Int |
Indica el número mínimo de pasos que el usuario debe realizar para considerar que está activo |
motionEnabled |
Bool |
Indica si se desea activar o no la detección de movimiento en el reloj |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.setTime(date: Date())
} |
public func getActivityPeriod()
Descripción: |
Método para obtener el periodo de actividad del usuario configurado en el dispositivo. El resultado de la operación se recibirá en el evento onGetActivityPeriodResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getActivityPeriod()
} |
Descripción: |
Método para realizar operaciones de consulta sobre los pasos almacenados en el dispositivo. El resultado de la operación se recibirá en el evento onGetTotalStepsDataResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
action |
BOConstants.DeviceDataAction |
Describe la operación a realizar. Este comando solo admite la obtención de los datos más recientes o eliminar los datos en el dispositivo |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getTotalStepsData(action: BOConstants.DeviceDataAction.READ_MOST_RECENT)
} |
public func getDetailedStepsData(action: BOConstants.DeviceDataAction, position: Int?)
Descripción: |
Método para realizar operaciones de consulta de los pasos almacenados en el dispositivo con más detalle. El resultado de la operación se recibirá en el evento onGetDetailedStepsDataResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
action |
BOConstants.DeviceDataAction |
Describe la operación a realizar. En caso solicitar READ_SPECIFIED es necesario indicar la posición que se quiere consultar |
position |
Int |
Indica la posición del registro que se desea consultar |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getDetailedStepsData(action: BOConstants.DeviceDataAction.READ_SPECIFIED, position: 5)
} |
public func getDetailedSleepData(action: BOConstants.DeviceDataAction, position: Int?)
Descripción: |
Método para realizar operaciones de consulta de los datos de sueño almacenados en el dispositivo. El resultado de la operación se recibirá en el evento onGetDetailedSleepDataResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
action |
BOConstants.DeviceDataAction |
Describe la operación a realizar. En caso solicitar READ_SPECIFIED es necesario indicar la posición que se quiere consultar |
position |
Int |
Indica la posición del registro que se desea consultar |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getDetailedSleepData(action: BOConstants.DeviceDataAction.READ_MOST_RECENT, position: nil)
} |
Descripción: |
Método para realizar operaciones de consulta de los datos ritmo cardíaco almacenados en el dispositivo. El resultado de la operación se recibirá en el evento onGetHeartRateDataResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
action |
BOConstants.DeviceDataAction |
Describe la operación a realizar. En caso solicitar READ_SPECIFIED es necesario indicar la posición que se quiere consultar |
position |
Int |
Indica la posición del registro que se desea consultar |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getHeartRateData(action: BOConstants.DeviceDataAction.READ_MOST_RECENT, position: nil)
} |
public func getSingleHeartRateData(action: BOConstants.DeviceDataAction, position: Int?)
Descripción: |
Método para realizar operaciones de consulta de los datos ritmo cardíaco almacenados en el dispositivo con más detalle. El resultado de la operación se recibirá en el evento onGetSingleHeartRateDataResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
action |
BOConstants.DeviceDataAction |
Describe la operación a realizar. En caso solicitar READ_SPECIFIED es necesario indicar la posición que se quiere consultar |
position |
Int |
Indica la posición del registro que se desea consultar |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getSingleHeartRateData(action: BOConstants.DeviceDataAction.READ_MOST_RECENT, position: nil)
} |
Descripción: |
Método para realizar operaciones de consulta de los datos variabilidad de ritmo cardíaco almacenados en el dispositivo. El resultado de la operación se recibirá en el evento onGetHRVDataResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
action |
BOConstants.DeviceDataAction |
Describe la operación a realizar. En caso solicitar READ_SPECIFIED es necesario indicar la posición que se quiere consultar |
position |
Int |
Indica la posición del registro que se desea consultar |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getHRVData(action: BOConstants.DeviceDataAction.READ_MOST_RECENT, position: nil)
} |
Descripción: |
Método para obtener las alarmas configuradas en el dispositivo. El resultado de la operación se recibirá en el evento onGetAlarmDataResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
action |
BOConstants.DeviceDataAction |
Describe la operación a realizar. Esta operación solo admite las operaciones READ_MOST_RECENT o DELETE |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getAlarmData(action: BOConstants.DeviceDataAction.READ_MOST_RECENT)
} |
Descripción: |
Método para realizar operaciones de consulta de los datos de actividad deportiva almacenados en el dispositivo. El resultado de la operación se recibirá en el evento onGetSportsDataResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
action |
BOConstants.DeviceDataAction |
Describe la operación a realizar. En caso solicitar READ_SPECIFIED es necesario indicar la posición que se quiere consultar |
position |
Int |
Indica la posición del registro que se desea consultar |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getSportsData(action: BOConstants.DeviceDataAction.READ_MOST_RECENT, position: nil)
} |
Descripción: |
Método para activar el modo de actividad deportiva en el dispositivo. El resultado de la operación se recibirá en el evento onSportModeControlEnableResponse. Al activar este modo, se empiezan a recibir eventos onBraceletHeartBeatPacketReceived cada segundo, con los datos de la actividad. Para salir del modo de actividad deportiva es necesario enviar el comando nuevamente con el parámetro END |
Parametros: |
Atributo |
Tipo |
Descripción |
controlMode |
BOConstants.DeviceControlMode |
Indica la operación a realizar sobre la actividad deportiva iniciada (inicar, pausar, continuar o detener) |
sportMode |
BOConstants.DeviceSportMode |
Indica el tipo de actividad deportiva que se va a realizar |
levelSelection |
Int |
Debe indicarse en caso de que la actividad deportiva sea BREATH. En ese caso, se debe indicar un valor entre 0 y 2 |
timePeriod |
Int |
Indica el periodo de actividad deportiva previsto en minutos |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getSportsData(action: BOConstants.DeviceDataAction.READ_MOST_RECENT, position: nil)
} |
Descripción: |
Método para activar el modo de actividad deportiva en el dispositivo. El resultado de la operación se recibirá en el evento onSportModeControlEnableResponse. Al activar este modo, se empiezan a recibir eventos onBraceletHeartBeatPacketReceived cada segundo, con los datos de la actividad |
Parametros: |
Atributo |
Tipo |
Descripción |
controlMode |
BOConstants.DeviceControlMode |
Indica la operación a realizar sobre la actividad deportiva iniciada (inicar, pausar, continuar o detener) |
sportMode |
BOConstants.DeviceSportMode |
Indica el tipo de actividad deportiva que se va a realizar |
levelSelection |
Int |
Debe indicarse en caso de que la actividad deportiva sea BREATH. En ese caso, se debe indicar un valor entre 0 y 2 |
timePeriod |
Int |
Indica el periodo de actividad deportiva previsto en minutos |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.sportModeControlEnable(controlMode: startStop,
sportMode: BOConstants.DeviceSportMode.RUN,
levelSelection: nil,
timePeriod: 25)
} |
public func setAppHeartBeatPacket(distance: Double, matchSpeed: BOTime, mobileGPSStrengthSignal: Int)
Descripción: |
Al activar el modo de actividad deportiva con el comando sportModeControlEnable, es posible enviar información al reloj para que sea mostrada en la pantalla del dispositivo. Esta información puede enviarse cada segundo, para poder actualizar los datos en pantalla. |
Parametros: |
Atributo |
Tipo |
Descripción |
distance |
Double |
Indica la distancia recorrida en kilómetros |
matchSpeed |
BOTime |
Indica ritmo del ejercicio. Valor más lento es 255m:59s |
mobileGPSStrengthSignal |
Int |
Indica la intensidad de la señal GPS. Admite los valores de 1 a 3 |
|
Ejemplo de ejecución: |
let matchSpeed = BOTime.init(minutes: 5, seconds: 33)
if let d = BOManager.sharedInstance.getDevice() {
if let m = matchSpeed {
d.setAppHeartBeatPacket(distance: 6.25, matchSpeed: m, mobileGPSStrengthSignal: 1)
}
} |
public func setUpdateWeatherStatus(weatherStatus: BOConstants.WeatherStatus, temperature: Int)
Descripción: |
Método para configurar el tiempo atmosférico y la temperatura en el dispositivo. El resultado de la operación se recibirá en el evento onSetUpdateWeatherStatusResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
weatherStatus |
BOConstants.WeatherStatus |
Describe el tiempo atmosférico que se quiere presentar en el reloj |
temperature |
Int |
Indica la temperatura ambiental en grados |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.setUpdateWeatherStatus(weatherStatus: BOConstants.WeatherStatus.SUNNY, temperature: 18)
} |
public func setPhotoMode()
Descripción: |
Método para activar el modo de disparo de fotografías desde el dispositivo. Al activarse, en la pantalla del reloj aparece un botón que, al ser pulsado, envía el evento onFirmwareCommandReceived para activar el disparador de la cámara en el móvil. El resultado de la operación se recibirá en el evento onSetPhotoModeResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.setPhotoMode()
} |
public func clearHistoricalSportData()
Descripción: |
Método para eliminar la información histórica referente a la actividad deportiva. El resultado de la operación se recibirá en el evento onClearHistoricalSportDataResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.clearHistoricalSportData()
} |
Descripción: |
Método para realizar operaciones de consulta de los datos de oxígeno en sangre almacenados en el dispositivo. El resultado de la operación se recibirá en el evento onGetBloodOxygenDataResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
action |
BOConstants.DeviceDataAction |
Describe la operación a realizar. En caso solicitar READ_SPECIFIED o es necesario indicar la posición que se quiere consultar |
position |
Int |
Indica la posición del registro que se desea consultar |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getBloodOxygenData(action: BOConstants.DeviceDataAction.READ_MOST_RECENT, position: nil)
} |
Descripción: |
Método para realizar operaciones de consulta de los datos de temperatura almacenados en el dispositivo. El resultado de la operación se recibirá en el evento onGetTemperatureDataResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
action |
BOConstants.DeviceDataAction |
Describe la operación a realizar. En caso solicitar READ_SPECIFIED es necesario indicar la posición que se quiere consultar |
position |
Int |
Indica la posición del registro que se desea consultar |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getTemperatureData(action: BOConstants.DeviceDataAction.READ_MOST_RECENT, position: nil)
} |
public func setSocialDistanceReminder(interval: Int, duration: Int, alarmSignal: Int)
Descripción: |
Método para configurar el recordatorio de distancia social en el dispositivo. El resultado de la operación se recibirá en el evento onSetSocialDistanceReminderResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
interval |
Int |
Indica el intervalo de escaneo de otros relojes cercanos |
duration |
Int |
Indica la duración de cada escaneo de dispositivos |
alarmSignal |
Int |
Indica la alarma configurada para sonar cuando no se cumpla la distancia social |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.setSocialDistanceReminder(interval: 2, duration: 20, alarmSignal: 1)
} |
public func getSocialDistanceReminder(interval: Int, duration: Int, alarmSignal: Int)
Descripción: |
Método para obtener la fecha y hora actual del dispositivo. El resultado de la operación se recibirá en el evento onGetSocialDistanceReminderResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
interval |
Int |
Indica el intervalo de escaneo de otros relojes cercanos |
duration |
Int |
Indica la duración de cada escaneo de dispositivos |
alarmSignal |
Int |
Indica la alarma configurada para sonar cuando no se cumpla la distancia social |
|
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getSocialDistanceReminder(interval: 2, duration: 20, alarmSignal: 1)
} |
Descripción: |
Método para configurar la toma automática de oxígeno en sangre. El resultado de la operación se recibirá en el evento onSetAutomaticBloodOxygenDetectionPeriodResponse |
Parametros: |
Atributo |
Tipo |
Descripción |
workingMode |
BOConstants.DeviceAutomaticWorkingMode |
Indica el modo de configuración de la toma automática oxígeno en sangre (en rango de horas o intervalo de tiempo) |
startTime |
BOTime |
Indica la hora de inicio de las mediciones configurada en el reloj |
endTime |
BOTime |
Indica la hora de finalización de las mediciones configurada en el reloj |
weekEnable |
BOWeekEnabler |
Indica los días en los que se habilita la toma automática de oxígeno en sangre |
periodTime |
Int |
Indica la periodicidad en minutos de la toma de mediciones |
|
Ejemplo de ejecución: |
let startTime = BOTime.init(hour: 8, minutes: 30)
let endTime = BOTime.init(hour: 23, minutes: 59)
let weekEnable = BOWeekEnabler.init(monday: false, tuesday: true, wednesday: true, thursday: false, friday: true, saturday: true, sunday: true)
if let s = startTime, let e = endTime, let d = BOManager.sharedInstance.getDevice() {
d.setAutomaticBloodOxygenDetectionPeriod(workingMode: BOConstants.DeviceAutomaticWorkingMode.IN_INTERVAL,
startTime: s,
endTime: e,
weekEnable: weekEnable,
periodTime: 360)
} |
public func getAutomaticBloodOxygenDetectionPeriod()
Descripción: |
Método para recuperar la configuración de la toma automática de oxígeno en sangre. El resultado de la operación se recibirá en el evento onGetAutomaticBloodOxygenDetectionPeriodResponse |
Ejemplo de ejecución: |
if let d = BOManager.sharedInstance.getDevice() {
d.getAutomaticBloodOxygenDetectionPeriod()
} |
Eventos
A continuación vamos a describir cada uno de esos eventos, dividiéndolos en dos secciones, una que trata los eventos globales y otra con los eventos de respuesta a comandos:
-
Eventos generales
Este evento se recibe cuando el dispositivo se encuentra disponible para realizar una conexión.
Atributo |
Tipo |
Descripción |
device |
BODevice |
Indica el dispositivo que está disponible para la conexión |
connected(device: BODevice)
Este evento se recibe cuando se ha establecido la conexión bluetooth con el dispositivo.
Atributo |
Tipo |
Descripción |
device |
BODevice |
Indica el dispositivo al que se ha conectado |
disconnected(device: BODevice)
Este evento se recibe cuando se ha interrumpido la conexión bluetooth con el dispositivo.
Atributo |
Tipo |
Descripción |
device |
BODevice |
Indica el dispositivo al que se ha desconectado |
Este evento se recibe cuando se ha producido un error como resultado de una petición realizada al reloj.
Atributo |
Tipo |
Descripción |
commandIdentifier |
BOConstants.CommandIdentifiers |
Describe el identificador del comando al que hace referencia el evento |
data |
Any |
Describe el error recibido desde el reloj en su formato original. Este dato puede ser en formato String (describiendo en error) o incluyendo un objeto Error |
onLog(message: String)
Este evento se recibe cuando se ha activado el servicio de reporte de logs.
Atributo |
Tipo |
Descripción |
message |
String |
Describe el mensaje del sistema para la detección de problemas o el seguimiento del proceso |
-
Eventos de respuesta a comandos
onSetTimeResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setTime
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onGetTimeResponse(success: Bool, date: Date?)
Evento que se recibe como respuesta a una petición al comando getTime
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
date |
Date |
Si el comando se ha procesado correctamente, indica la fecha configurada en el reloj |
onSetUserPersonalInformationResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setUserPersonalInformation
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onGetUserPersonalInformationResponse(success: Bool, userInformation: BOUserInformation?)
Evento que se recibe como respuesta a una petición al comando getUserPersonalInformation
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
userInformation |
BOUserInformation |
Si el comando se ha procesado correctamente, describe la información del usuario configurada en el reloj |
onSetDeviceParametersResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setDeviceParameters
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onGetDeviceParametersResponse(success: Bool, deviceParameters: BODeviceParameters?)
Evento que se recibe como respuesta a una petición al comando getDeviceParameters
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
deviceParameters |
BODeviceParameters |
Si el comando se ha procesado correctamente, describe los parámetros de configuración del reloj |
onSetDeviceIDCodeResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setDeviceIDCode. Este comando no tiene un comando de recuperación del dato como tal, sino que el identificador fijado por este comando se puede recuperar en el comando getUserPersonalInformation.
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onSetRealTimeStepModeResponse(success: Bool, stepInformation: BORealTimeStepData?)
Evento que se recibe como respuesta a una petición al comando setRealTimeStepMode
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
stepInformation |
BORealTimeStepData |
Si el comando se ha procesado correctamente, describe la información referente a los pasos realizados por el usuario |
onSetTargetStepsResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setTargetSteps
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onGetTargetStepsResponse(success: Bool, steps: Int?)
Evento que se recibe como respuesta a una petición al comando getTargetSteps
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
steps |
Int |
Si el comando se ha procesado correctamente, indica el objetivo de pasos diario configurado en el reloj |
onGetDeviceBatteryResponse(success: Bool, batteryLevel: Int?)
Evento que se recibe como respuesta a una petición al comando getDeviceBattery
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
batteryLevel |
Int |
Si el comando se ha procesado correctamente, indica el nivel de batería del reloj en porcentaje |
onGetMACAddressResponse(success: Bool, device: BODevice, macAddress: String?)
Evento que se recibe como respuesta a una petición al comando getMACAddress
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
device |
BODevice |
Indica el dispositivo al que pertenece la dirección MAC |
macAddress |
String |
Si el comando se ha procesado correctamente, indica la dirección MAC del reloj |
onGetSoftwareVersionNumberResponse(success: Bool, version: String?, date: Date?)
Evento que se recibe como respuesta a una petición al comando getSoftwareVersionNumber
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
version |
String |
Si el comando se ha procesado correctamente, indica la versión del firmware instalado en el reloj |
date |
Date |
Si el comando se ha procesado correctamente, indica la fecha de la versión del firmware instalado en el reloj |
onSetFactoryResetResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setFactoryReset
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onSetMCUResetResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setMCUReset
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onSetAutomaticHeartRateDetectionPeriodResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setAutomaticHeartRateDetectionPeriod
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onGetAutomaticHeartRateDetectionPeriodResponse(success: Bool, workingMode: BOConstants.DeviceAutomaticWorkingMode?, startTime: BOTime?, endTime: BOTime?, weekEnable: BOWeekEnabler?, periodTime: Int?)
Evento que se recibe como respuesta a una petición al comando getAutomaticHeartRateDetectionPeriod
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
workingMode |
BOConstants.DeviceAutomaticWorkingMode |
Si el comando se ha procesado correctamente, indica el modo de configuración de la toma automática de pulso (en rango de horas o intervalo de tiempo) |
startTime |
BOTime |
Si el comando se ha procesado correctamente, indica la hora de inicio de las mediciones configurada en el reloj |
endTime |
BOTime |
Si el comando se ha procesado correctamente, indica la hora de finalización de las mediciones configurada en el reloj |
weekEnable |
BOWeekEnabler |
Si el comando se ha procesado correctamente, indica los días en los que se habilita la toma automática de pulso |
periodTime |
Int |
Si el comando se ha procesado correctamente, indica la periodicidad en minutos de la toma de mediciones |
onSetAlarmResponse(success: Bool, alarms: [Int]?)
Evento que se recibe como respuesta a una petición al comando setAlarm
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
alarms |
[Int] |
Si el comando se ha procesado correctamente, describe una lista con los identificadores de las alarmas que se han configurado correctamente |
onSetNotificationResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setNotification
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onSetActivityPeriodResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setActivityPeriod
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onGetActivityPeriodResponse(success: Bool, startTime: BOTime?, endTime: BOTime?, weekEnable: BOWeekEnabler?, motionReminderPeriod: Int?, minimumNumberSteps: Int?, motionEnabled: Bool?)
Evento que se recibe como respuesta a una petición al comando getActivityPeriod
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
startTime |
BOTime |
Si el comando se ha procesado correctamente, indica la hora de inicio del periodo activo del usuario |
endTime |
BOTime |
Si el comando se ha procesado correctamente, indica la hora de finalización del periodo activo del usuario |
weekEnable |
BOWeekEnabler |
Si el comando se ha procesado correctamente, describe los días de de la semana del periodo activo del usuario |
motionReminderPeriod |
Int |
Si el comando se ha procesado correctamente, indica el intervalo de recordatorio de movimiento en minutos |
minimumNumberSteps |
Int |
Si el comando se ha procesado correctamente, indica el número mínimo de pasos a aplicar en el periodo de actividad |
motionEnabled |
Bool |
Si el comando se ha procesado correctamente, indica si se habilita la detección de movimiento o no |
onGetTotalStepsDataResponse(success: Bool, totalStepsData: [BOStepData]?)
Evento que se recibe como respuesta a una petición al comando getTotalStepsData
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
totalStepsData |
[BOStepData] |
Si el comando se ha procesado correctamente, describe el listado de registros con la actividad de pasos almacenada en el reloj. En caso de una operación de borrado de datos, solo se retorna el primer parámetro |
onGetDetailedStepsDataResponse(success: Bool, stepData: [BODetailedStepData]?)
Evento que se recibe como respuesta a una petición al comando getDetailedStepsData
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
stepData |
[BODetailedStepData] |
Si el comando se ha procesado correctamente, describe el listado de registros con el detalle de la actividad de pasos almacenada en el reloj. En caso de una operación de borrado de datos, solo se retorna el primer parámetro |
onGetDetailedSleepDataResponse(success: Bool, sleepData: [BOSleepData]?)
Evento que se recibe como respuesta a una petición al comando getDetailedSleepData
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
sleepData |
[BOSleepData] |
Si el comando se ha procesado correctamente, describe el listado de registros con el detalle de la actividad de sueño almacenada en el reloj. En caso de una operación de borrado de datos, solo se retorna el primer parámetro |
onGetHeartRateDataResponse(success: Bool, heartRateData: [BOHeartRateData]?)
Evento que se recibe como respuesta a una petición al comando getHeartRateData
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
heartRateData |
[BOHeartRateData] |
Si el comando se ha procesado correctamente, describe el listado de registros con las mediciones de ritmo cardíaco detallado almacenadas en el reloj. En caso de una operación de borrado de datos, solo se retorna el primer parámetro |
onGetSingleHeartRateDataResponse(success: Bool, heartRateData: [BOSingleHeartRateData]?)
Evento que se recibe como respuesta a una petición al comando getSingleHeartRateData
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
heartRateData |
[BOHeartRateData] |
Si el comando se ha procesado correctamente, describe el listado de registros con las mediciones de ritmo cardíaco almacenadas en el reloj. En caso de una operación de borrado de datos, solo se retorna el primer parámetro |
onGetHRVDataResponse(success: Bool, hrvData: [BOHRVData]?)
Evento que se recibe como respuesta a una petición al comando getHRVData
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
hrvData |
[BOHRVData] |
Si el comando se ha procesado correctamente, describe el listado de registros de variabilidad de ritmo cardíaco almacenadas en el reloj. En caso de una operación de borrado de datos, solo se retorna el primer parámetro |
onGetAlarmDataResponse(success: Bool, alarmData: [BOAlarmData]?)
Evento que se recibe como respuesta a una petición al comando getAlarmData
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
alarmData |
[BOAlarmData] |
Si el comando se ha procesado correctamente, describe el listado de alarmas configuradas en el reloj. En caso de una operación de borrado de datos, solo se retorna el primer parámetro |
onGetSportsDataResponse(success: Bool, sportData: [BOSportData]?)
Evento que se recibe como respuesta a una petición al comando getSportsData
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
sportData |
[BOSportData] |
Si el comando se ha procesado correctamente, describe el listado de registros de actividad deportiva almacenados en el reloj. En caso de una operación de borrado de datos, solo se retorna el primer parámetro |
onSportModeControlEnableResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando sportModeControlEnable
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onBraceletHeartBeatPacketReceived(success: Bool, sportData: BOSportData?)
Evento que se recibe si se ha activado el modo de actividad deportiva mediante el comando sportModeControlEnable. Este evento se recibe cada segundo mientras se mantiene activo el modo de actividad deportiva.
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
sportData |
BOSportData |
Si el comando se ha procesado correctamente, indica los datos asociados a la actividad deportiva iniciada |
onSetUpdateWeatherStatusResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setUpdateWeatherStatus
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onSetPhotoModeResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setPhotoMode
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onFirmwareCommandReceived(success: Bool, command: BOConstants.DeviceFirmwareCommand?, enable: Bool?)
Evento que se recibe desde el reloj sin ser solicitado. Este comando puede recibirse al activar el modo de disparo de fotografías remoto, iniciar o acabar una llamada, controlar un elemento multimedia o activar la funcionalidad de encontrar el móvil desde el reloj.
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
success |
BOConstants.DeviceFirmwareCommand |
Indica el tipo de funcionalidad que se ha activado desde el reloj |
enable |
Bool |
Indica si debe activarse o desactivarse la funcionalidad anterior |
onClearHistoricalSportDataResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando clearHistoricalSportData
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onGetBloodOxygenDataResponse(success: Bool, oxygenData: [BOOxygenData]?)
Evento que se recibe como respuesta a una petición al comando getBloodOxygenData
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
oxygenData |
[BOOxygenData] |
Si el comando se ha procesado correctamente, describe el listado de registros de oxígeno en sangre almacenados en el reloj. En caso de una operación de borrado de datos, solo se retorna el primer parámetro |
onGetTemperatureDataResponse(success: Bool, temperatureData: [BOTemperatureData]?)
Evento que se recibe como respuesta a una petición al comando getTemperatureData
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
temperatureData |
[BOTemperatureData] |
Si el comando se ha procesado correctamente, describe el listado de registros de temperatura almacenados en el reloj. En caso de una operación de borrado de datos, solo se retorna el primer parámetro |
onProcessSOSFunctionReceived()
Evento que se recibe desde el reloj sin ser solicitado. Este comando se recibe al activar el envío de alerta SOS desde el reloj. No se recibe ningún parámetro adicional.
onSetSocialDistanceReminderResponse(success: Bool, interval: Int?, duration: Int?, alarmSignal: Int?)
Evento que se recibe como respuesta a una petición al comando setSocialDistanceReminder
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
interval |
Int |
Si el comando se ha procesado correctamente, indica el intervalo de comprobación de distancia social en minutos |
duration |
Int |
Si el comando se ha procesado correctamente, indica la duración de la comprobación de distancia social en segundos |
alarmSignal |
Int |
Si el comando se ha procesado correctamente, indica la alarma configurada en caso de que la distancia social no se cumpla |
onGetSocialDistanceReminderResponse(success: Bool, interval: Int?, duration: Int?, alarmSignal: Int?)
Evento que se recibe como respuesta a una petición al comando getSocialDistanceReminder
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
interval |
Int |
Si el comando se ha procesado correctamente, indica el intervalo de comprobación de distancia social en minutos |
duration |
Int |
Si el comando se ha procesado correctamente, indica la duración de la comprobación de distancia social en segundos |
alarmSignal |
Int |
Si el comando se ha procesado correctamente, indica la alarma configurada en caso de que la distancia social no se cumpla |
onSetAutomaticBloodOxygenDetectionPeriodResponse(success: Bool)
Evento que se recibe como respuesta a una petición al comando setAutomaticBloodOxygenDetectionPeriod
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
onGetAutomaticBloodOxygenDetectionPeriodResponse(success: Bool, workingMode: BOConstants.DeviceAutomaticWorkingMode?, startTime: BOTime?, endTime: BOTime?, weekEnable: BOWeekEnabler?, periodTime: Int?)
Evento que se recibe como respuesta a una petición al comando getAutomaticBloodOxygenDetectionPeriod
Atributo |
Tipo |
Descripción |
success |
Bool |
Indica si el comando ha sido procesado correctamente o no |
workingMode |
BOConstants.DeviceAutomaticWorkingMode |
Si el comando se ha procesado correctamente, indica el modo de configuración de la toma automática de oxígeno en sangre (en rango de horas o intervalo de tiempo) |
startTime |
BOTime |
Si el comando se ha procesado correctamente, indica la hora de inicio de las mediciones configurada en el reloj |
endTime |
BOTime |
Si el comando se ha procesado correctamente, indica la hora de finalización de las mediciones configurada en el reloj |
weekEnable |
BOWeekEnabler |
Si el comando se ha procesado correctamente, indica los días en los que se habilita la toma automática de oxígeno en sangre |
periodTime |
Int |
Si el comando se ha procesado correctamente, indica la periodicidad en minutos de la toma de mediciones |
BODeviceList
BODeviceList es la clase que describe una lista de dispositivos BeatOne.
Métodos
A continuación pasaremos a describir los métodos públicos disponibles en la clase
BODeviceList
-
Métodos
public func updateWith(device: BODevice)
Descripción: |
Método para añadir un dispositivo a la lista. El método comprueba si el dispositivo que se desea añadir ya existe para actualizarlo o añadirlo. |
Parametros: |
Atributo |
Tipo |
Descripción |
device |
BODevice |
Indica el dispositivo que se quiere añadir a la lista |
|
Ejemplo de ejecución: |
deviceList.updateWith(device: myDevice)
|
public func count() -> Int
Descripción: |
Método para conocer el número de dispositivos que contiene la lista |
Ejemplo de ejecución: |
let items = myDeviceList.count() |
public func getDevice(index: Int) -> BODevice?
Descripción: |
Método para obtener el dispositivo que ocupa la posición indicada por el parámetro index. |
Parametros: |
Atributo |
Tipo |
Descripción |
index |
Int |
Indica la posición del dispositivo que queremos recuperar |
|
Ejemplo de ejecución: |
let myDevice = deviceList.getDevice(index: 1)
|
public func getDeviceWithIdentifier(identifier: String) -> BODevice? {
Descripción: |
Método para obtener el dispositivo con el identificador (UUID) indicado por el parámetro identifier. |
Parametros: |
Atributo |
Tipo |
Descripción |
identifier |
String |
Indica el UUID del dispositivo que queremos recuperar |
|
Ejemplo de ejecución: |
let myDevice = deviceList.getDeviceWithIdentifier(identifier: "a031a8fe-98fb-11eb-a8b3-0242ac130003")
|
public func removeDevice(index: Int) -> Bool
Descripción: |
Método para eliminar el dispositivo que ocupa la posición indicada por el parámetro index. En caso de quedar eliminado se retorna un true y, en caso de no encontrarse, false. |
Parametros: |
Atributo |
Tipo |
Descripción |
index |
Int |
Indica la posición del dispositivo que queremos eliminar |
|
Ejemplo de ejecución: |
let success = deviceList.removeDevice(index: 1)
|
public func removeDeviceWithIdentifier(identifier: String) -> Bool {
Descripción: |
Método para eliminar el dispositivo con el identificador (UUID) indicado por el parámetro identifier. En caso de quedar eliminado se retorna un true y, en caso de no encontrarse, false. |
Parametros: |
Atributo |
Tipo |
Descripción |
identifier |
String |
Indica el UUID del dispositivo que queremos eliminar |
|
Ejemplo de ejecución: |
let success = deviceList.removeDeviceWithIdentifier(identifier: "a031a8fe-98fb-11eb-a8b3-0242ac130003")
|
public func getDevices() -> [BODevice] {
Descripción: |
Método para obtener la lista de dispositivos que contiene el objeto BODeviceList. |
Ejemplo de ejecución: |
let myList = deviceList.getDevices()
|
public func getSortedListByRSSI() -> [BODeviceList] {
Descripción: |
Método para ordenar el objeto BODeviceList por cercanía de los dispositivos incluidos. |
Ejemplo de ejecución: |
let myList = deviceList.getSortedListByRSSI()
|
BOUserInformation
Esta clase contiene los atributos propios del usuario del reloj. Se utiliza tanto para configurar esta información en el dispositivo como para recuperar la información configurada en él.
Atributo |
Tipo |
Descripción |
gender |
BOConstants.UserGender |
Describe el género del usuario |
age |
Int |
Describe la edad del usuario |
height |
Int |
Describe la altura del usuario, indicada en centímetros |
weight |
Int |
Describe el peso del usuario, indicado en kilogramos (no se admiten decimales) |
strideLength |
Int |
Describe la longitud de la zancada del usuario, indicada en centímetros |
deviceId |
String |
Parámetro reservado. Describe el identificador de dispositivo que se establece con el comando setDeviceIDCode |
BODeviceParameters
Esta clase contiene los atributos propios del dispositivo. Se utiliza tanto para configurar esta información en el dispositivo como para recuperar la información configurada en él.
Atributo |
Tipo |
Descripción |
distanceUnit |
BOConstants.DeviceDistanceUnit |
Describe la unidad de distancia configurada en el reloj (km o millas) |
hourDisplay |
BOConstants.DeviceHourDisplay |
Describe el formato de hora configurada en el reloj (12h o 24h) |
wristSenseEnabled |
Bool |
Describe si está activada la vibración del reloj |
temperatureUnit |
BOConstants.DeviceTemperatureUnit |
Describe la unidad de temperatura configurada en el reloj (grados Celsius o Fahrenheit) |
nightMode |
Bool |
Describe si está activado el modo nocturno en el reloj |
ANCSEnabled |
Bool |
Describe si está activada la alerta de recepción de contenido en redes sociales |
ANCSInformation |
BOANCSInformation |
Describe la activación de alertas de recepción de contenido por cada red social |
basicHeartRateSetting |
Int |
Describe el nivel de activación del ritmo cardíaco. El valor debe ser superior a 40 |
screenBrightness |
Int |
Describe el nivel de iluminación de la pantalla del reloj. El valor debe estar comprendido entre 0 (más brillo) y 15 (menos brillo) |
dialInterface |
Int |
Describe el diseño de pantalla configurado en el reloj. El valor debe estar comprendido entre 0 y 5 |
socialDistanceEnabled |
Bool |
Describe si está activada la alerta de distancia social comprometida |
language |
BOConstants.DeviceLanguage |
Describe el idioma configurado en el reloj (Inglés o Chino) |
BOANCSInformation
Esta clase contiene los atributos propios de la activación de avisos para los servicios del móvil o cada una de las redes sociales descritas.
Atributo |
Tipo |
Descripción |
phoneCall |
Bool |
Describe si se recibirá una alerta si se produce una llamada telefónica |
mobilePhoneInformation |
Bool |
Describe si se recibirá una alerta si se produce la llegada de un SMS |
wechat |
Bool |
Describe si se recibirá una alerta si se recibe un mensaje de WeChat |
facebook |
Bool |
Describe si se recibirá una alerta si se recibe un mensaje de Facebook |
instagram |
Bool |
Describe si se recibirá una alerta si se recibe un mensaje de Instagram |
skype |
Bool |
Describe si se recibirá una alerta si se recibe un mensaje de Skype |
telegram |
Bool |
Describe si se recibirá una alerta si se recibe un mensaje de Telegram |
twitter |
Bool |
Describe si se recibirá una alerta si se recibe un mensaje de Twitter |
vkclient |
Bool |
Describe si se recibirá una alerta si se recibe un mensaje de VKClient |
whatsapp |
Bool |
Describe si se recibirá una alerta si se recibe un mensaje de WhatsApp |
qq |
Bool |
Describe si se recibirá una alerta si se recibe un mensaje de QQ |
in_ |
Bool |
Describe si se recibirá una alerta si se recibe un mensaje de IN |
BOTime
Esta clase contiene los atributos propios de una hora. Se utiliza tanto para enviar datos horarios al reloj como para recibirlos.
Atributo |
Tipo |
Descripción |
hour |
Int |
Describe el componente "hora" de una hora |
minutes |
Int |
Describe el componente "minutos" de una hora |
seconds |
Int |
Describe el componente "segundos" de una hora |
Métodos
- public init?(hour: Int, minutes: Int)
Permite crear un objeto BOTime con componentes hour y minutes.
- public init?(minutes: Int, seconds: Int)
Permite crear un objeto BOTime con componentes minutes y seconds.
- public func toString() -> String?
Permite mostrar el contenido del objeto BOTime.
Por ejemplo, un objeto:
let time = BOTime(hour: 13, minutes: 22)
Se muestra así:
print(time.toString())
"13:22"
BOWeekEnabler
Esta clase contiene los atributos propios de la activación de cierta característica por semana. Permite activar o desactivar el servicio por cada uno de los días de la semana.
Atributo |
Tipo |
Descripción |
monday |
Bool |
Describe la activación o desactivación los lunes |
tuesday |
Bool |
Describe la activación o desactivación los martes |
wednesday |
Bool |
Describe la activación o desactivación los miércoles |
thursday |
Bool |
Describe la activación o desactivación los jueves |
friday |
Bool |
Describe la activación o desactivación los viernes |
saturday |
Bool |
Describe la activación o desactivación los sábados |
sunday |
Bool |
Describe la activación o desactivación los domingos |
Métodos
- public func toString() -> String?
Permite mostrar el contenido del objeto BOWeekEnabler.
Por ejemplo, un objeto:
let weekEnable = BOWeekEnabler.init(monday: false,
tuesday: true,
wednesday: true,
thursday: false,
friday: true,
saturday: true,
sunday: true)
Se muestra así:
print(weekEnable.toString())
"Tuesday, Wednesday, Friday, Saturday, Sunday"
BOGeneralStepData
Esta clase contiene los atributos propios de una actividad relacionada con pasos.
Atributo |
Tipo |
Descripción |
steps |
Int |
Describe el número de pasos |
calories |
Int |
Describe la energía consumida en calorías |
distance |
Int |
Describe la distancia recorrida en metros |
duration |
Int |
Describe la duración de la actividad en segundos |
BOStepData
Esta clase contiene los atributos propios del registro de una actividad relacionada con pasos. Es una clase que hereda los atributos de BOGeneralStepData, añadiendo algunas características.
Atributo |
Tipo |
Descripción |
id |
Int |
Describe el identificador del registro de pasos |
date |
Date |
Describe la fecha del registro de pasos |
target |
Int |
Describe el objetivo en pasos |
rapidMovement |
Int |
Describe la duración de la actividad intensiva en segundos |
BORealTimeStepData
Esta clase contiene los atributos propios del registro en tiempo real de una actividad relacionada con pasos. Es una clase que hereda los atributos de BOStepData.
Atributo |
Tipo |
Descripción |
heartRate |
Int |
Describe el ritmo cardíaco registrado durante la actividad |
temperature |
Date |
Describe la temperatura registrada durante la actividad |
BODetailedStepData
Esta clase contiene los atributos propios del registro de una actividad relacionada con pasos con el detalle de los pasos realizados por minuto. Es una clase que hereda los atributos de BOStepData.
Atributo |
Tipo |
Descripción |
stepsPerMinute |
[Int] |
Describe los pasos realizados durante la actividad en intervalos de un minuto, con un máximo de 10 elementos (10 minutos) |
BOSleepData
Esta clase contiene los atributos propios de la actividad de sueño.
Atributo |
Tipo |
Descripción |
id |
Int |
Describe el identificador del registro de sueño |
date |
Date |
Describe la fecha del registro de sueño |
duration |
Int |
Describe la duración del sueño en segundos |
sleepPer5Minutes |
[Int] |
Describe la calidad del sueño durante el periodo indicado, a intervalos de cinco minutos y con un máximo de 24 elementos (dos horas) |
BOHeartRateData
Esta clase contiene los atributos propios del ritmo cardíaco.
Atributo |
Tipo |
Descripción |
id |
Int |
Describe el identificador del registro de ritmo cardíaco |
date |
Date |
Describe la fecha del registro de ritmo cardíaco |
heartRateEveryMinute |
[Int] |
Describe las pulsaciones por minuto, con un máximo de 15 elementos (15 minutos) |
BOSingleHeartRateData
Esta clase contiene los atributos de una medición de ritmo cardíaco.
Atributo |
Tipo |
Descripción |
id |
Int |
Describe el identificador del registro de ritmo cardíaco |
date |
Date |
Describe la fecha del registro de ritmo cardíaco |
heartRate |
[Int] |
Describe las pulsaciones registradas |
BOHRVData
Esta clase contiene los atributos de la variabilidad de ritmo cardíaco (HRV). Es una clase que hereda los atributos de BOSingleHeartRateData
Atributo |
Tipo |
Descripción |
id |
Int |
Describe el identificador del registro de ritmo cardíaco |
date |
Date |
Describe la fecha del registro de ritmo cardíaco |
heartRate |
[Int] |
Describe las pulsaciones registradas |
BOAlarmData
Esta clase contiene los atributos correspondientes a las alarmas.
Atributo |
Tipo |
Descripción |
alarmEnabled |
Bool |
Describe si la alarma debe ser activada o no |
alarmType |
BOConstants.DeviceAlarmType |
Describe el tipo de alarma |
alarmTime |
BOTime |
Describe la hora en que se quiere fijar la alarma |
weekEnable |
BOWeekEnabler |
Describe los días de la semana en que se quiere fijar la alarma |
alarmText |
String |
Describe el texto que aparecerá en la pantalla del reloj mientras suena la alarma |
BOSportData
Esta clase contiene los atributos correspondientes a una sesión de entrenamiento deportivo.
Atributo |
Tipo |
Descripción |
id |
Int |
Describe el identificador del registro de entrenamiento deportivo |
date |
Date |
Describe la fecha del registro de entrenamiento deportivo |
sportType |
BOConstants.DeviceSportMode |
Describe el tipo de actividad deportiva |
heartRate |
Int |
Describe el ritmo cardíaco durante la sesión de entreno |
movementTime |
Int |
Describe la duración del entrenamiento en segundos |
steps |
Int |
Describe el número de pasos realizados durante el entrenamiento |
movementSpeed |
BOTime |
Describe la velocidad del entrenamiento, como el tiempo necesario para recorrer un kilómetro al ritmo registrado |
calories |
Int |
Describe las calorías consumidas durante el entrenamiento en calorías |
distance |
Int |
Describe la distancia recorrida durante el entrenamiento en metros |
BOOxygenData
Esta clase contiene los atributos correspondientes al registro de oxígeno en sangre.
Atributo |
Tipo |
Descripción |
id |
Int |
Describe el identificador del registro de oxígeno en sangre |
date |
Date |
Describe la fecha del registro de oxígeno en sangre |
bloodOxygen |
Int |
Describe el porcentaje de oxígeno en sangre |
BOTemperatureData
Esta clase contiene los atributos correspondientes al registro de temperatura del usuario.
Atributo |
Tipo |
Descripción |
id |
Int |
Describe el identificador del registro de temperatura del usuario |
date |
Date |
Describe la fecha del registro de temperatura del usuario |
temperature |
Int |
Describe la temperatura registrada |
BOConstants
Esta clase contiene todas las constantes del SDK. A continuación se describe cada grupo de constantes y los valores respectivos.
Bluetooth States
Describe el estado de activación del módulo Bluetooth.
Constante |
Valor |
POWERED_OFF |
0 |
POWERED_ON |
1 |
Bluetooth Permissions
Describe los permisos de acceso al módulo Bluetooth.
Constante |
Valor |
Descripción |
REQUIRED |
-2 |
Se requiere otorgar permisos de acceso |
UNSATISFIYING |
-1 |
Los permisos otorgados no son suficientes |
UNKNOWN |
0 |
Se desconocen los permisos otorgados |
PROVIDED |
1 |
Los permisos de acceso a Bluetooth otorgados son los correctos |
Scan Type
Describe el tipo de escaneo de dispositivo a realizar.
Constante |
Valor |
Descripción |
SCAN |
0 |
Se realiza un escaneo simple |
SCAN_AND_CONNECT |
1 |
Se realiza un escaneo y se establece una conexión con el primer dispositivo encontrado |
Connection State
Describe el estado en el que se puede encontrar la conexión al dispositivo Bluetooth
Constante |
Valor |
Descripción |
DISCONNECTED |
-1 |
Indica que el dispositivo se ha desconectado |
IDLE |
0 |
Indica que la conexión está a la espera |
SCANNING |
1 |
Indica que la conexión está escaneando dispositivos |
CONNECTING |
2 |
Indica que la app está estableciendo la conexión al |
CONNECTED |
3 |
Se realiza un escaneo y se establece una conexión con el primer dispositivo encontrado |
User Gender
Indica el género del usuario
Constante |
Valor |
Descripción |
FEMALE |
0 |
Indica que el usuario es mujer |
MALE |
1 |
Indica que el usuario es hombre |
Device Distance Unit
Indica la unidad de distancia configurada en el dispositivo.
Constante |
Valor |
Descripción |
KM |
0 |
Indica que el dispositivo muestra la distancia en kilómetros |
MILE |
1 |
Indica que el dispositivo muestra la distancia en millas |
Device Temperature Unit
Indica la unidad de temperatura configurada en el dispositivo.
Constante |
Valor |
Descripción |
CELSIUS |
0 |
Indica que el dispositivo muestra la temperatura en grados Celsius |
FAHRENHEIT |
1 |
Indica que el dispositivo muestra la temperatura en grados Fahrenheit |
Device Weather Status
Indica el tiempo atmosférico a mostrar en el reloj. Esta constante se utiliza para mostrar un gráfico en la pantalla del smartwatch.
Constante |
Valor |
Descripción |
SUNNY |
1 |
Indica día soleado |
CLOUDY |
2 |
Indica día nublado |
RAINY |
3 |
Indica día lluvioso |
SNOWY |
4 |
Indica día nevado |
Device Hour Display
Indica el formato de hora configurado en el dispositivo
Constante |
Valor |
Descripción |
HOUR_24_DISPLAY |
0 |
Indica que el dispositivo muestra la hora en formato 24 horas (ejemplo: "13:30") |
HOUR_12_DISPLAY |
1 |
Indica que el dispositivo muestra la hora en formato 12 horas (ejemplo: "01:30 PM") |
Device Language
Indica el idioma configurado en el dispositivo
Constante |
Valor |
Descripción |
ENGLISH |
0 |
Indica que el dispositivo está configurado en Inglés |
SPANISH |
1 |
Indica que el dispositivo está configurado en Español |
Device Enable Switch
Constante que indica si una opción está activada o debe activarse.
Constante |
Valor |
Descripción |
DISABLED |
0 |
Indica que una opción está desactivada |
ENABLED |
1 |
Indica que una opción está activada |
Device ANCS
Constante que indica una aplicación o tipo de contenido de redes sociales.
Constante |
Valor |
Descripción |
PHONE_CALL |
0 |
Indica que se está recibiendo una llamada telefónica |
MOBILE_PHONE_INFORMATION |
1 |
Indica que se trata de contenido móvil |
WECHAT |
2 |
Indica que se trata de contenido de WeChat |
FACEBOOK |
3 |
Indica que se trata de contenido de Facebook |
INSTAGRAM |
4 |
Indica que se trata de contenido de Instagram |
SKYPE |
5 |
Indica que se trata de contenido de Skype |
TELEGRAM |
6 |
Indica que se trata de contenido de Telegram |
TWITTER |
7 |
Indica que se trata de contenido de Twitter |
VKCLIENT |
8 |
Indica que se trata de contenido de VKClient |
WHATSAPP |
9 |
Indica que se trata de contenido de WhatsApp |
QQ |
10 |
Indica que se trata de contenido de QQ |
IN |
11 |
Indica que se trata de contenido de IN |
STOP_CALL_REMINDER |
255 |
Indica que se trata de la finalización de una llamada telefónica |
Device Automatic Working Mode
Indica el modo de operación de la función de medición automática
Constante |
Valor |
Descripción |
OFF |
0 |
Indica que las mediciones automáticas están desactivadas |
IN_TIMEZONE |
1 |
Indica que las mediciones automáticas se realizan dentro de un rango de tiempo |
IN_INTERVAL |
2 |
Indica que las mediciones automáticas se realizan cada cierto intervalo de tiempo |
Device Alarm Type
Indica el tipo de alarma configurada. Cada tipo de alarma tiene asignado un gráfico que se muestra en la pantalla del smartwatch cuando se dispara.
Constante |
Valor |
Descripción |
ALARM |
1 |
Indica que se trata de una alarma tradicional |
MEDICINE_REMINDER |
1 |
Indica que la alarma es un recordatorio para la toma de un medicamento |
WATER_REMINDER |
2 |
Indica que la alarma es un recordatorio para beber agua |
Device Data Action
Esta constante se utiliza como parámetro en el tratamiento de los datos almacenados en el reloj (datos de sueño, pasos, ritmo cardíaco, etc). Mediante ellos se pueden eliminar los datos, recuperar todos los datos o solicitar los registros individualmente.
No todas las acciones están disponibles en todos los comandos.
Constante |
Valor |
Descripción |
DELETE |
99 |
Indica que se quiere eliminar los datos a los que afecta el comando solicitado |
READ_MOST_RECENT |
0 |
Indica que se quiere acceder a todos los datos afectados por el comando solicitado |
READ_SPECIFIED |
1 |
Indica que se quiere acceder a un dato específico.
Los comandos que aceptan este parámetro requieren también que se proporcione el identificador del registro deseado |
READ_NEXT |
2 |
Indica que se desea acceder a los registros a partir del último registro recibido en la anterior llamada.
Los comandos que aceptan este parámetro requieren también que se proporcione el identificador del registro deseado |
Las operaciones de consulta de datos se iniciarán con una llamada que utilice los parámetros READ_MOST_RECENT o READ_SPECIFIED. Una vez obtenidos los datos, si se ejecuta el mismo comando con el parámetro READ_NEXT, se obtendrá el siguiente bloque de datos. La cantidad de registros incluidos en cada respuesta son variables.
Device Control Mode
Esta constante se utiliza para interactuar con la reproducción de contenidos en el móvil desde el reloj. Permite operar desde el smartwatch como si se tratara de un mando a distancia.
Constante |
Valor |
Descripción |
START |
1 |
Indica que se quiere empezar la reproducción del contenido multimedia |
PAUSE |
2 |
Indica que se quiere pausar la reproducción del contenido multimedia |
CONTINUE |
3 |
Indica que se quiere continuar la reproducción del contenido multimedia |
END |
4 |
Indica que se quiere finalizar la reproducción del contenido multimedia |
Device Firmware Command
Esta constante se utiliza para identificar comandos que son enviados desde el reloj con diversas funcionalidades.
Constante |
Valor |
Descripción |
CALL_OPERATION |
0 |
Indica que se quiere operar con las llamadas desde el reloj |
TAKE_PICTURE |
1 |
Indica que se quiere tomar una fotografía desde el reloj |
MUSIC_CONTROL |
2 |
Indica que se quiere controlar el contenido multimedia desde el reloj |
FIND_PHONE |
3 |
Indica que se quiere utilizar la opción para buscar el móvil desde el reloj |
Device Sport Mode
Indica el tipo de actividad física que se va a realizar.
Constante |
Valor |
Descripción |
RUN |
0 |
Indica que se va a realizar ejercicio físico de carrera |
CYCLING |
1 |
Indica que se va a realizar ciclismo |
BADMINTON |
2 |
Indica que se va a jugar a badminton |
FOOTBALL |
3 |
Indica que se va a jugar a fútbol |
TENNIS |
4 |
Indica que se va a jugar a tenis |
YOGA |
5 |
Indica que se va a ejercitar yoga |
BREATH |
6 |
Indica que se van a realizar ejercicios de respiración |
DANCE |
7 |
Indica que se va a realizar actividad física relacionada con el baile |
BASKETBALL |
8 |
Indica que se va a jugar a baloncesto |
HIKING |
9 |
Indica que se va a realizar senderismo |
GYM |
10 |
Indica que se van a realizar ejercicios de gimnasia |
Command Identifiers
Indica el identificador de comando a enviar al reloj.
Constante |
Descripción |
SET_TIME |
Comando para enviar la fecha y hora al reloj |
GET_TIME |
Comando para recuperar la fecha y hora del reloj |
SET_USER_PERSONAL_INFORMATION |
Comando para enviar la información del usuario (género, edad, altura, peso y zancada) |
GET_USER_PERSONAL_INFORMATION |
Comando para recuperar la información del usuario |
SET_DEVICE_PARAMETERS |
Comando para configurar los parámetros del dispositivo (unidades de distancia y temperatura, formato de hora en pantalla, vibración, etc.) |
GET_DEVICE_PARAMETERS |
Comando para recuperar los parámetros del dispositivo |
SET_DEVICE_ID_CODE |
Comando para establecer el identificador del reloj |
SET_REALTIME_STEP_MODE |
Comando para configurar el registro de pasos en tiempo real |
SET_TARGET_STEPS |
Comando para configurar el objetivo de pasos |
GET_TARGET_STEPS |
Comando para recuperar el objetivo de pasos configurado |
GET_DEVICE_BATTERY |
Comando para recuperar el nivel de batería del reloj |
GET_MAC_ADDRESS |
Comando para recuperar la dirección MAC del reloj |
GET_SOFTWARE_VERSION_NUMBER |
Comando para recuperar la versión del firmware del reloj |
SET_FACTORY_RESET |
Comando para devolver el reloj a los valores de fábrica |
SET_MCU_RESET |
Comando para reiniciar la unidad del microcontrolador del reloj |
SET_AUTOMATIC_HEART_RATE_DETECTION_PERIOD |
Comando para configurar la toma automática del ritmo cardíaco |
GET_AUTOMATIC_HEART_RATE_DETECTION_PERIOD |
Comando para recuperar la configuración de la toma automática del ritmo cardíaco |
SET_ALARM |
Comando para configurar alarmas |
SET_NOTIFICATION |
Comando para el envío de notificaciones |
SET_ACTIVITY_PERIOD |
Comando para configurar el periodo de actividad del usuario |
GET_ACTIVITY_PERIOD |
Comando para recuperar la configuración del periodo de actividad del usuario |
GET_TOTAL_STEPS_DATA |
Comando para recuperar la información sobre pasos almacenada en el reloj |
GET_DETAILED_STEPS_DATA |
Comando para recuperar la información detallada sobre pasos almacenada en el reloj |
GET_DETAILED_SLEEP_DATA |
Comando para recuperar la información detallada sobre sueño almacenada en el reloj |
GET_HEART_RATE_DATA |
Comando para recuperar la información del ritmo cardíaco almacenada en el reloj |
GET_SINGLE_HEART_RATE_DATA |
Comando para recuperar la información de intervalo de ritmo cardíaco almacenada en el reloj |
GET_HRV_TEST_DATA |
Comando para recuperar la información de la variabilidad de ritmo cardíaco almacenada en el reloj |
GET_ALARM_DATA |
Comando para recuperar la configuración de alarmas |
GET_SPORTS_DATA |
Comando para recuperar la información de actividad deportiva almacenada en el reloj |
SPORT_MODE_CONTROL_ENABLE |
Comando para controlar el inicio y fin de la actividad deportiva |
APP_HEART_BEAT_PACKET |
Comando reservado. Cuando se inicia el registro en tiempo real del ritmo cardíaco se recibe información identificada por esta constante |
BRACELET_HEART_BEAT_PACKET |
Comando reservado. Cuando se inicia el registro en tiempo real del ritmo cardíaco se recibe información identificada por esta constante |
SET_UPDATE_WEATHER_STATUS |
Comando para configurar el tiempo climatológico en el reloj |
SET_PHOTO_MODE |
Comando para configurar el disparador de fotografías desde el móvil |
FIRMWARE_COMMAND |
Comando reservado. Identifica una funcionalidad enviada desde el reloj. Puede estar relacionada con las llamadas telefónicas, tomar una fotografía o utilizar la funcionalidad de encontrar el móvil |
CLEAR_HISTORICAL_SPORT_DATA |
Comando para realizar la limpieza de los datos históricos en el reloj (excepto los referentes al sueño) |
GET_BLOOD_OXYGEN_DATA |
Comando para recuperar la información de oxígeno en sangre almacenada en el reloj |
GET_TEMPERATURE_DATA |
Comando para recuperar la información de temperatura almacenada en el reloj |
SOS_FUNCTION |
Comando reservado. Identifica que se ha activado la funcionalidad de envío de SOS desde el móvil |
SOCIAL_DISTANCE_REMINDER |
Comando utilizado tanto para la configuración como para la recuperación de los ajustes pertenecientes al recordatorio de distancia social |
SET_AUTOMATIC_BLOOD_OXYGEN_DETECTION_PERIOD |
Comando para configurar la toma automática de oxígeno en sangre |
GET_AUTOMATIC_BLOOD_OXYGEN_DETECTION_PERIOD |
Comando para recuperar la configuración de la toma automática de oxígeno en sangre |
Command Error Identifiers
Indica el identificador de error de un comando como respuesta al ser enviado al reloj.
Constante |
Descripción |
SET_TIME |
Comando de error al enviar la fecha y hora al reloj |
GET_TIME |
Comando de error al recuperar la fecha y hora del reloj |
SET_USER_PERSONAL_INFORMATION |
Comando de error al enviar la información del usuario |
GET_USER_PERSONAL_INFORMATION |
Comando de error al recuperar la información del usuario |
SET_DEVICE_PARAMETERS |
Comando de error al configurar los parámetros del dispositivo |
GET_DEVICE_PARAMETERS |
Comando de error al recuperar los parámetros del dispositivo |
SET_DEVICE_ID_CODE |
Comando de error al establecer el identificador del reloj |
SET_REALTIME_STEP_MODE |
Comando de error al configurar el registro de pasos en tiempo real |
SET_TARGET_STEPS |
Comando de error al configurar el objetivo de pasos |
GET_TARGET_STEPS |
Comando de error al recuperar el objetivo de pasos configurado |
GET_DEVICE_BATTERY |
Comando de error al recuperar el nivel de batería del reloj |
GET_MAC_ADDRESS |
Comando de error al recuperar la dirección MAC del reloj |
GET_SOFTWARE_VERSION_NUMBER |
Comando de error al recuperar la versión del firmware del reloj |
SET_FACTORY_RESET |
Comando de error al devolver el reloj a los valores de fábrica |
SET_MCU_RESET |
Comando de error al reiniciar la unidad del microcontrolador del reloj |
SET_AUTOMATIC_HEART_RATE_DETECTION_PERIOD |
Comando de error al configurar la toma automática del ritmo cardíaco |
GET_AUTOMATIC_HEART_RATE_DETECTION_PERIOD |
Comando de error al recuperar la configuración de la toma automática del ritmo cardíaco |
SET_NOTIFICATION |
Comando para el envío de notificaciones |
SET_ACTIVITY_PERIOD |
Comando de error al configurar el periodo de actividad del usuario |
GET_ACTIVITY_PERIOD |
Comando de error al recuperar la configuración del periodo de actividad del usuario |
SPORT_MODE_CONTROL_ENABLE |
Comando de error al controlar el inicio y fin de la actividad deportiva |
SET_PHOTO_MODE |
Comando de error al configurar el disparador de fotografías desde el móvil |
CLEAR_HISTORICAL_SPORT_DATA |
Comando de error al realizar la limpieza de los datos históricos en el reloj |
SET_AUTOMATIC_BLOOD_OXYGEN_DETECTION_PERIOD |
Comando de error al configurar la toma automática de oxígeno en sangre |
GET_AUTOMATIC_BLOOD_OXYGEN_DETECTION_PERIOD |
Comando de error al recuperar la configuración de la toma automática de oxígeno en sangre |