我将重新发布这篇文章,以防错过。
我安装了
sudo apt-get install libbluetooth-dev并尝试使用Blue5.54/tools/编译btgatt-client.c
gcc -o btgatt-client btgatt-client.c -lbluetooth但是让'#include "lib/bluetooth.h":no such file or directory'
可能会遗漏什么。我尝试将文件从'/usr/include/bluetooth'的编译文件夹中移出,但似乎不起作用。我也很好奇这个"src/shared/mainloop"是从哪里来的?
我能够运行该示例并连接到nrf应用程序,但无法编译.c文件。
发布于 2020-07-01 14:29:09
BlueZ中的源文件并不是为单独编译而设计的。相反,您应该构建并安装整个BlueZ源代码,这将为您编译btgatt-client.c。有关如何构建整个BlueZ源代码的说明,请参阅以下链接:
在此过程中,您可能会发现需要安装许多依赖项,但您可以使用sudo apt-get install <dependency>安装这些依赖项,也可以尝试不将其包含在构建中。例如,要在不使用systemd的情况下构建BlueZ,可以执行以下操作:-
./configure --disable-systemd
make我希望这能帮到你。
发布于 2020-07-06 13:27:21
@Youssif Saeed谢谢你的回复。
好消息是我发现cause.It似乎在Raspbian Buster上运行的BlueZ蓝牙堆栈有一个问题。我已经将操作系统降级为Stretch,一切看起来都正常运行。
然而,我正在尝试gatt-client示例,当我将nrf应用程序设置为广告模式时,与示例中的UUID完全相同,似乎不起作用。或者,也许我错过了某些part.Going,去尝试一下像ESP32这样的更简单的设备。
已更新
再次感谢guys.DBus网关客户端能够连接到BLMCU。操作的关键是它需要配对>连接并读取BLE服务器
https://stackoverflow.com/questions/62654521
复制相似问题