10

I'm new in programming Bluetooth low energy using BlueZ.

I want to develop a native code c to scan nearby devices using a BlueZ API for Bluetooth low energy on Intel Edison. I've seen this question, but the answer doesn't really help. Any advice?

4

4 回答 4

11

另一个答案的示例对我不起作用,它在扫描中停止...

下一个链接适用于 c 语言,但在转换包含 de rssi 信号信息的字节时出错。 https://github.com/glock45/intel-edison-playground/blob/master/scan.c

这行 121:

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

应该:

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

我通过查看bluez-version/monitor/*.cbtmon 程序所在的内部找到了这些。您可以看到数据类型和结构,hcidump.c非常有用,而且packets.cmain.c还有很多,但是有很多关于 hci 套接字的知识

于 2015-05-21T18:59:22.387 回答
8

在 Galileo 或 Edison 上使用 BlueZ 进行 BLE 编程类似于任何其他 x86 平台。

Edison(和 Galileo)通常预装了 BlueZ 库。你只需要用你的 C 代码链接它们,并且程序类似于其他 x86 平台。

有关使用 BlueZ 进行蓝牙扫描的完整C 代码示例,请参阅此链接。

请参阅此示例进行 BLE 扫描

还有这里的 HCI API 。

于 2014-11-04T03:36:12.557 回答
5

GattLib(在提出此问题后创建)具有使用 C 扫描/连接到 BLE 设备的工具。

于 2020-06-18T18:08:11.773 回答
0

intel-edison scan.c 代码也适用于 Raspberry Pi。

它可以扫描连接到 arduino Uno 的 Adafruit BLE UART 朋友模块。

在 Pi 上,需要下载 bluez-5.33.tar.gz、libncurses-dev 和 libbluetooth-dev。

要编译 scan.c,请使用

gcc scan.c -lbluetooth -o 扫描

于 2016-02-12T06:48:25.283 回答