reconoce pero funciona fallo exito dispositivo conectar con como añadido activar linux bluetooth bluetooth-lowenergy bluez gatt

linux - funciona - el dispositivo se ha añadido con exito pero fallo al conectar



BlueZ: cómo configurar un servidor GATT desde la línea de comando (2)

Creo que no es posible configurar GattServer desde CLI. Principalmente porque es una funcionalidad de capa superior, por lo que no hay ninguna herramienta disponible para hacerlo (ya que la mayoría de las herramientas proporcionan funcionalidades de capa más baja).

Pero puedes usar imitar la forma en que bluez crea servicio usando dbus.

Necesitábamos un GattService con dos características (R, W, N)

Lo que terminamos haciendo fue seguir: 1. usar el libgdbus (de la fuente de bluez) Tiene todo el envoltorio de dbus para registrar servicios a bluez.

  1. Creó un traductor (socket IPC) para separar el problema de licencia (GPL)

  2. Enviar un comando al registrador de servicio para crear un servicio e, g - op_code = create_service, uuid = ''service_uuid''

op_code = create_charac, uuid = ''charac_uuid'' flags = ''rwn''

Espero que esto ayude.

Me gustaría saber si hay una manera de configurar un servidor Gatt desde la línea de comandos de Linux. Sé que el comando BlueZ gatttool le permite actuar como un cliente de gatt e interrogar a un servidor de gatt remoto, sin embargo, no creo que esta herramienta pueda usarse para configurar un servidor.

Lo que quiero lograr es un servidor gatt, creado a partir de la línea de comandos , y puede ser interrogado por cualquier dispositivo central (por ejemplo, iOS o Android) para conectarse al servidor GATT, descubrir los servicios y características y manipular los datos en el características.

Ejemplo:

Servidor Gatt con 1 servicio que contiene 3 características.

  • Servicio uuid = 0xFFFF
  • Char 1 uuid = 0xAAAA, valor = 01, propiedades = legible
  • Char 2 uuid = 0xBBBB, valor = 00, propiedades = legible y escribible
  • Char 3 uuid = 0xCCCC, valor = 02, propiedades = notificable

Estoy usando kernel versión 3.11.0 y BlueZ 5.19


También me he enfrentado al mismo problema, pero podría encontrar una solución adecuada, lo que mejor se puede hacer usando una pila bluez en una máquina Ubuntu es usar algunos comandos hci para anunciar paquetes LE. Estos paquetes se anunciarán constantemente como si se tratara de un servidor LE. Si realiza una exploración con un cliente GATT, obtendrá el nombre de su dispositivo bluez en la lista de exploración.

Use los siguientes comandos a continuación:

Establezca los paquetes de publicidad LE con el siguiente comando:

sudo hcitool -i hcix cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 00 00 00 00 C8 00

· Ahora anuncie los paquetes LE con el siguiente comando:

sudo hciconfig hcix leadv