tutorial ios bluetooth bluetooth-lowenergy

tutorial - iOS BLE Bluetooth-enviar/recibir datos HEX



ios bluetooth swift tutorial (2)

No, eso no es posible, pero el motivo no es iOS, sino que los "servicios" y las "características" son solo parte de cómo se define el protocolo BLE.

Especificaciones oficiales: https://developer.bluetooth.org/TechnologyOverview/Pages/BLE.aspx

Perfil de atributo genérico

La última especificación Bluetooth utiliza una arquitectura basada en servicios basada en el protocolo de atributos (ATT). Toda comunicación en baja energía tiene lugar sobre el Perfil de Atributo Genérico (GATT). Una aplicación u otro perfil utiliza el perfil GATT para que un cliente y un servidor puedan interactuar de forma estructurada.

El servidor contiene una serie de atributos, y el perfil GATT define cómo usar el protocolo de atributos para descubrir, leer, escribir y obtener indicaciones. Estas características admiten una arquitectura basada en servicios. Los servicios se utilizan como se define en las especificaciones de perfil. GATT le permite exponer el servicio y las características definidas en la especificación de perfil.

Estoy creando una aplicación iOS que debe conectarse a un dispositivo BLE personalizado. Necesito la aplicación iOS para enviar 2 comandos HEX, uno para habilitar una parte del dispositivo y otra para solicitar datos.

¿Hay alguna forma en iOS para enviar / recibir datos HEX personalizados, aparte de trabajar con servicios y características?


La otra respuesta es accidentalmente correcta, pero por las razones equivocadas.

Por supuesto, es posible que BLE envíe cualquier clase de datos, no solo GATT. Es solo que iOS te obliga a trabajar con GATT . No hay API de iOS para nada más. Entonces, sí, es iOS lo que te impide hacerlo.

Si no lo obligan a trabajar con GATT, habría algunas otras opciones:

  • Canales basados ​​en crédito L2CAP: usted crea un canal que le permite enviar 23 octetos completos de datos por paquete (eso está en BLE 4.0 y 4.1; 4.2 permite más que eso), en el formato que elija.
  • Con acceso a HCI, puede enviar un paquete de datos ACL personalizado para evitar el encabezado L2CAP. Pero también necesita modificar el otro lado para asegurarse de que lo analiza correctamente.