GNU/Linux >> Znalost Linux >  >> Linux

Jak provést nízkoenergetické skenování bluetooth prostřednictvím knihovny BlueZ C

Příklad na druhé odpovědi mi nefunguje, zastaví se v Skenování...

Další odkaz funguje pro jazyk c, ale má chybu při odesílání bajtů, které mají informace o signálu de rssi. https://github.com/glock45/intel-edison-playground/blob/master/scan.c

tento řádek 121:

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

by mělo být:

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

Našel jsem je při pohledu do bluez-version/monitor/*.c , kde je program btmon. Můžete vidět datové typy a struktury, hcidump.c je velmi užitečné a packets.c a main.c také, ale o zásuvkách hci je toho hodně, co se můžete dozvědět


Programování BLE s BlueZ na Galileo nebo Edison je podobné jakékoli jiné platformě x86.

Edison (a Galileo) se obvykle dodává s předinstalovanými knihovnami BlueZ. Stačí se s nimi propojit pomocí kódu C a programovat podobně jako na jiné platformě x86.

Úplný příklad skenování bluetooth kódu C pomocí BlueZ naleznete na tomto odkazu.

Podívejte se na tento příklad skenování BLE

A HCI API zde.


Linux
  1. Jak provádět čichání paketů pomocí Libpcap s ukázkovým kódem C

  2. Jak inicializovat sdílenou knihovnu v Linuxu

  3. Jak zkontrolovat, zda je knihovna nainstalována?

  1. Jak nainstalovat knihovnu Ncurses v Linuxu

  2. Jak vyrobit Iphone jako myš přes Bluetooth?

  3. Jak SSH přímo na cíl přes jumphost pomocí SSH Config bez dalšího příkazu ssh

  1. Jak Scp přes střední stroj?

  2. Jak zahrnout statickou knihovnu do makefile

  3. Knihovna Bluetooth pro BlueZ (Windows)