Con Delphi, podemos monitorizar los latidos del corazón, utilizando un dispositivo Bluetooth LE
Esta aplicación
actúa en modo cliente y al iniciarse lo primero que hace es buscar un
servidor del cual leer los datos de los latidos del corazón.
Este servidor será un dispositivo como los que usan los runners mientras hacen alguna carrera.
Cuando
se pulsa el botón "Scan" comienza la búsqueda de un dispositivo
Bluetooth LE que implemente el servicio "Heart Rate" para ello utiliza
el método "DiscoverDevices"
con un timeout y un array de TBluetooth UUID's, en este caso
BluetoothLE1.DiscoverDevices(2500, [HRSERVICE]) donde HRSERVICE es un
servicio estándar.
TBluetoothUUID = '{0000180D-0000-1000-8000-00805F9B34FB}
Después del timeout se dispara el método "OnEndDiscoverDevices"
Para descubrir los servicios disponibles de un dispositivo se utiliza el método "GetServices" y si los encuentra vuelve a disparar el método GetCharacteristic
HRMEASUREMENT_CHARACTERISTIC: HRMEASUREMENT_CHARACTERISTIC: TBluetoothUUID = '{00002A37-0000-1000-8000-00805F9B34FB}'
BODY_SENSOR_LOCATION_CHARACTERISTIC:BODY_SENSOR_LOCATION_CHARACTERISTIC:
TBluetoothUUID = '{00002A38-0000-1000-8000-00805F9B34FB}'
Despues de conseguir el servicio y sus características comienza a recopilar los datos de los latidos.
Cuando se consigue obtener un valor se llama a "SubscribeToCharacteristic" para recibir datos periódicamente.
Para detener la recepción de datos se llama a "UnSubscribeToCharacteristic".
El evento OnCharacteristicRead se llama cuando se lee un valor.
Dado
que el servidor BluetoothLE envía un paquete con datos "en crudo - modo
Raw" para extraer obtener las pulsaciones por minuto hay que seguir la
especificación GATT (Heart Rate Measurement Data Package Structure),
en cualquier caso en la ayuda de Delphi tenemos varios ejemplos y
además desde RAD Studio - Tools - Getit Package Manager podremos
descargarnos varios ejemplos.
NOTA:
No confundir Bluetooh con Bluetooth LE (Low energy).
BluetoothLE Permite la comunicación entre dispositivos de pila de botón y dispositivos Bluetooth, que opera en 2.4 GHz (una de las bandas ISM), con una tasa de transferencia de 1 Mbps en la capa física, tiene soporte para seguridad, ya que puede emplear el sistema de cifrado AES y esquemas de seguridad configurables
Bluetooth permite un ancho de banda mayor en función de la versión:
Además Bluetooth LE
no necesita parear dispositivos como requiere Bluetooth, tan sólo
necesita encontrar un servidor para empezar a funcionar, excepto si la
aplicación se ejecuta en Windows 8 o Windows 7, en cuyo caso sí que se
necesita parear dispositivos.
No hay comentarios:
Publicar un comentario