También me he enfrentado al mismo problema, pero podría encontrar una solución adecuada, lo que mejor 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, ya que esto es si se trata de un servidor LE. Si realiza un escaneo con un cliente GATT, obtendrá el nombre de su dispositivo bluez en la lista de escaneo.
Utilice 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
Entonces esto ahora se maneja con el nuevo bluetoothctl herramienta. Se puede configurar una tabla gatt usando esta herramienta de la siguiente manera:-
#bluetoothctl
[bluetoothctl] menu gatt
[bluetoothctl] register-service 0xFFFF # (Choose yes when asked if primary service)
[bluetoothctl] register-characteristic 0xAAAA read # (Select a value of 1 when prompted)
[bluetoothctl] register-characteristic 0xBBBB read,write # (Select a value of 0 when prompted)
[bluetoothctl] register-characteristic 0xCCCC read # (Select a value of 2 when prompted)
[bluetoothctl] register-application # (This commits the services/characteristics and registers the profile)
[bluetoothctl] back
[bluetoothctl] advertise on
Probé esto con algunas combinaciones de servicio/características y pude hacerlo funcionar. Los servicios GAP (0x1800) y GATT (0x1801) están disponibles de forma predeterminada y formarán parte de la tabla GATT cuando haga publicidad. También puede usar el siguiente comando para ver los servicios disponibles:-
[bluetoothctl] show
Controller 00:AA:BB:CC:DD:EE (public)
Name: MyMachine
Alias: MyMachine
Class: 0x000c0000
Powered: yes
Discoverable: no
Pairable: yes
UUID: Headset AG (00001112-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb)
UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb)
**UUID: Unknown (0000ffff-0000-1000-8000-00805f9b34fb)**
UUID: Headset (00001108-0000-1000-8000-00805f9b34fb)
Modalias: usb:v1D6Bp0246d0532
Discovering: no