studio reales proyectos programacion libro introducción incluye herramientas fundamentos fuente español código con avanzado aplicaciones c++ c bluetooth raspberry-pi bluez

reales - Ejemplo de lectura/escritura C/C++ BLE con Bluez



libro de android studio en español pdf (1)

Estoy empezando a construir una red BLE simple con un microcontrolador y una pi de frambuesa (dongle BLE de tardis). Como punto de partida, estoy buscando un ejemplo simple de C o C ++ para leer / escribir un dispositivo BLE, similar a lo que puedo hacer a través de la línea de comando. Los ejemplos que he encontrado hasta ahora son bastante complicados. Como principiante BLE necesito algunos ejemplos muy simples para construir antes de seguir adelante con un diseño más complicado. Estoy de acuerdo con la codificación del nombre del dispositivo BLE como lo hice en el ejemplo de gatttool a continuación.

Así es como actualmente uso las opciones de línea de comando de Bluez.

Desde la línea de comando, puedo usar:

$ sudo hcitool lescan LE Scan ... BB:A0:50:02:18:07 MyDevice

A continuación, puedo conectarme al dispositivo en la línea de comando con gatttool:

$ sudo gatttol -b BB:A0:50:02:18:07 -I [BB:A0:50:02:18:07][LE]> connect Attempting to connect to BB:A0:50:02:18:07 Connection successful

Finalmente, puedo leer y escribir usando los controles apropiados

[BB:A0:50:02:18:07][LE]> char-write-req 000f 0100 Characteristic value was written successfully [BB:A0:50:02:18:07][LE]> char-write-cmd 0011 4C467A

Algunos sitios que he utilizado para la investigación inicial y para comenzar:
http://people.csail.mit.edu/albert/bluez-intro/c404.html
https://github.com/carsonmcdonald/bluez-experiments/blob/master/experiments/scantest.c


Algo simple? ¿Qué tan corto es un pedazo de cuerda? Personalmente, creo que el código gatttool en sí es lo suficientemente simple como para seguir y extraer para sus propios fines (lo he hecho recientemente). Pero si eso no es adecuado para usted, entonces otra opción es libgatt . Básicamente es el mismo código que usa gatttool, pero se ha incluido más cómodamente en una API de biblioteca pública. Eche un vistazo a gatt.h que tiene connect / read / write, etc. Con suerte, debería ser evidente cómo usar eso.