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.