Android: perfil de baja energía del GATT de Bluetooth

Estoy buscando enviar información desde mi dispositivo Android a un microcontrolador (como un Arduino). Uso de Bluetooth Classic Simplemente envío una matriz de bytes de datos al microcontrolador y proceso la matriz de bytes en consecuencia.

Comencé a leer acerca de la energía baja de Bluetooth y estoy oyendo toda esta charla sobre perfiles de GATT. ¿Por qué debo crear un perfil GATT? ¿Qué va a hacer un perfil GATT para mí en el caso de intercambiar información de un dispositivo Android con un microcontrolador?

¡Gracias por adelantado!

Los perfiles GATT son una forma de comunicarse entre Bluetooth central y Periférico. Supongamos que tengo una aplicación que lee la temperatura de un sensor. Mi configuración actual es que el teléfono actúe como central, el sensor conectado a un chip LE de bluetooth como periférico.

Así que me comunico a bluetooth LE chip utilizando este perfil. En la declaración de perfil GATT en chip, voy a definir un servicio y dos características. Dos características

  1. Sensor habilitador
  2. Valor de la temperatura

El habilitador de sensores tiene permisos de lectura y escritura, mientras que el valor de temperatura sólo tiene permiso de lectura.

Así que en su aplicación, siempre que quiera leer el valor de la temperatura, primero escribe 0x01 para habilitar la característica y luego lee el valor del valor de la temperatura.

Para identificar las características y servicios, bluetooth tiene el concepto de UUIDs y maneja. Los UUID son globalmente únicos y se asignan identificadores en el chip.

Los servicios encapsulan las características disponibles. Así que en una jerarquía que tiene, perfiles que pueden múltiples servicios que a su vez pueden tener múltiples características.

Explicar todo en una respuesta sería demasiado. ¿Por qué no estudias lo básico aquí ? Encontré estos documentos realmente útiles.

Todo el concepto de Bluetooth Low Energy es utilizar menos potencia para la transmisión entre dos dispositivos Bluetooth. Para lograr esto no se puede usar el tradicional clásico de Bluetooth que mantiene el canal aunque la transmisión de datos no se hace. Por lo tanto, el concepto de ATT / GATT evolucionado que proporciona las especificaciones para la transferencia de los paquetes de datos cortos sobre el enlace BLE entre dos dispositivos de baja energía. Debido a que cuando dos dispositivos no se comunican entonces será tan bueno como detenido. Para implementar los servicios BLE uno tiene que usar estos perfiles y protocolos ATT / GATT.

El GATT proporciona la especificación de cómo un grupo de atributos (que no son más que datos) se agrupan en servicios significativos. Realiza las operaciones comunes de transferencia de datos y almacenamiento sobre ATT definiendo su propio mecanismo cliente-servidor. Esto facilita la vida de los desarrolladores definiendo un marco completo para usted y uno solo necesita agrupar estas características y servicios personalizando para desarrollar perfiles y aplicaciones.

  • BLE GATT onCharacteristicChanged no se llama después de suscribirse a la notificación
  • Android BLE API: GATT Notificación no recibida
  • StartLeScan con 128 UUIDs de bits no funciona en la implementación BLE de Android nativa
  • La devolución de llamada de Gatt de BLuetooth no funciona con la nueva API de Lollipop
  • ¿Por qué setCharactersticNotification () no habilita realmente las notificaciones?
  • BluetoothDevice.ConnectGatt () con el parámetro de transporte
  • BluetoothGatt que muestra 10.000 características idénticas para el servicio
  • Android Cómo leer las propiedades de BLE Readable Writable Notifiable GATT Características
  • Cómo solucionar el error BluetoothGatt: android.os.DeadObjectException error en Android?
  • Lectura de múltiples características de un dispositivo BLE de forma sincrónica (método recomendado para Android)
  • BLE con Android 5.0: ¿Cómo conseguir que un dispositivo actúe como Central AND Server?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.