Formato de paquete BLE en Android

Según la patente BLE , el tamaño de los datos en un paquete BLE es de 47 bytes. Sin embargo, Android expone sólo 20 bytes de datos.

  • ¿Porqué es eso? ¿Qué se transmite en los 27 bytes restantes?
  • ¿Cuál es el formato exacto del paquete BLE de Android?
  • ¿Es posible utilizar más de 20 bytes en los paquetes BLE de Android? No en paquetes múltiples, sin embargo, como en ¿Cómo enviar más de 20 bytes de datos sobre ble en android? .

El formato estándar para el paquete BLE en el protocolo de transmisión de datos es:

(1 octeto) + Identificador de identificación del dispositivo (2 bytes) + Datos (12-16 bytes) + Suma de comprobación (1 byte)

Sección de comandos: Se trata de valores hexadecimales que debe especificar según el tipo de comando (por ejemplo, nombre del dispositivo, información de fábrica, datos de temperatura y humedad, etc.)

Identificación de identificación del dispositivo: Esto consistirá en el UUID del dispositivo de recepción (puede ser de 16 bits si es un SIG Group Generated UUID o 128 bits si está probando)

Sección de datos: Esta parte contendrá todos los datos que desea enviar (puede tener entre 12 y 16 bytes, aunque se recomienda fijar la longitud del paquete de datos)

CheckSum: Para corrección de errores. Usted puede utilizar un mecanismo diferente, pero luego tendrá que ajustar la parte de datos en consecuencia)

Usted tiene que definir un perfil de gatt personalizado y el servidor si va a implementar algo que no tiene ya un perfil existente en el sitio de SIG Bluetooth.

PS Lea más sobre las especificaciones de dispositivo de su dispositivo externo y también echa un vistazo a las especificaciones de núcleo en el sitio web de bluetooth. Todo lo que haces debe cumplir con sus estándares

Muy bien, Espero que esto ayudó .. Saludos!

Básicamente, el paquete BLE (entregado como registro de exploración a las API de Android) es tan lejos como sé que sólo BLE estándar, al igual que con cualquier otra plataforma.

Es decir, consiste en elementos, y cada elemento consta de 3 elementos en el siguiente orden:

  1. Valor de longitud de datos de 1 byte
  2. Tipo de 1 byte como se define en: GATT profile
  3. Datos, la longitud se define por el valor de longitud de 1 byte

Con mis pruebas en BLE en realidad veo que el registro de escaneo que recibo es en realidad más de lo que puedo anunciar. Asumir tan que usted puede ver los beacons y los dispositivos de BLE que anuncian con más de 31 bytes incluso con los dispositivos androides.

Pero el BluetoothLeAdvertiser API sólo le permitirá tener 31 bytes en el registro de exploración de publicidad que está anunciando desde el dispositivo Android.

No tendría ningún buen razonamiento por qué el límite es de 31 bytes, sólo he probado que se aplica de esa manera.

  • Android BLE Gatt Característica WRITE_TYPE_NO_RESPONSE no funciona
  • Conexión múltiple múltiple
  • APIs en android para Bluetooth Servicio de alerta inmediata en Find me profile
  • Android 4.4.4 Moto G Bluetooth LE vuelve a conectar el problema
  • Cómo buscar dispositivos Bluetooth de baja energía usando la API bluez
  • Cómo programaticamente forzar el descubrimiento de servicios de baja energía de bluetooth en Android sin usar caché
  • Podemos usar iBeacon para transferir datos a través de bluetooth en iOS - android?
  • BluetoothGatt que muestra 10.000 características idénticas para el servicio
  • Evite descubrir los servicios del dispositivo BLE durante la conexión
  • Intención de recibir notificación sobre el evento de conexión BLE en el periférico Android
  • BLE de Android que envía el comando escribiendo las características que no responden
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.