GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo realizar un escaneo de Bluetooth de baja energía a través de la biblioteca BlueZ C

El ejemplo de la otra respuesta no me funciona, se detiene en Scanning...

El siguiente enlace funciona para lenguaje c, pero tiene un error al emitir los bytes que tienen la información sobre la señal rssi. https://github.com/glock45/intel-edison-playground/blob/master/scan.c

esta línea 121:

printf("%s - RSSI %d\n", addr, (**char**)info->data[info->length]);

debería ser:

printf("%s - RSSI %d\n", addr, (**int8_t**)info->data[info->length]);

Los encontré mirando dentro de bluez-version/monitor/*.c , donde está el programa btmon. Puede ver los tipos de datos y estructuras, hcidump.c es muy útil y packets.c y main.c también, pero hay muchos que aprender sobre los sockets hci


La programación BLE con BlueZ en Galileo o Edison es similar a cualquier otra plataforma x86.

Edison (y Galileo) generalmente viene con bibliotecas BlueZ preinstaladas. Solo necesita vincularse con ellos con su código C y programar de manera similar a otra plataforma x86.

Para ver un ejemplo de escaneo de bluetooth de código C completo con BlueZ, consulte este enlace.

Consulte este ejemplo de escaneo BLE

Y la API de HCI aquí.


Linux
  1. ¿Cómo hacer que Iphone sea un mouse a través de Bluetooth?

  2. Cómo realizar un rastreo de paquetes usando Libpcap con código de ejemplo C

  3. Cómo inicializar una biblioteca compartida en Linux

  4. Cómo incluir una biblioteca estática en un archivo MAKE

  5. ¿Cómo verificar si una biblioteca está instalada?

Cómo configurar una política de análisis de vulnerabilidades de Nessus

Cómo hacer un escaneo de puertos en Linux

Cómo hacer una copia de seguridad de la base de datos de WordPress a través de MySQL

Cómo hacer una copia de seguridad de la base de datos de WordPress a través de phpMyAdmin

Cómo instalar la biblioteca Python de PyBrain en Linux

Cómo SSH al servidor a través de Linux