Linux示例中的BLE Bridge Mode

时间:2016-07-27 12:37:41

标签: c linux bluetooth bluetooth-lowenergy

我想在我的主板上使用蓝牙(4.0)传输它的名称,以便任何移动应用程序都可以看到它的名称,移动应用程序启动与我的蓝牙的配对和连接。

我见过一些蓝牙(4.0)扫描附近设备的例子;例如: - 它扫描蓝牙Mouser /键盘,但在这种情况下,蓝牙(4.0)处于选择想要连接的设备的模式,我希望它反向,所以任何移动应用程序都可以看到我的蓝牙并获得连接它和沟通。

如何在Linux中将我的蓝牙(4.0)置于这种模式?有没有可以使用的C库蓝牙(4.0)是进入桥接模式而不是扫描附近设备的模式?

1 个答案:

答案 0 :(得分:0)

您可以像这样设置设备名称:

hciconfig name "foo"

并通过以下方式检查您的姓名:

hciconfig name

您还必须为他人的设备启用低能耗广告:

hciconfig leadv

您可以将设备配置为接受这样的传入连接(lm表示链接模式):

hciconfig lm MASTER,ACCEPT

这样内核即使没有侦听套接字也会接受连接。

考虑到您想要进行实际通信,您需要编写程序,接受连接并发送/接收数据。只是将您的设备置于其他设备可以连接到它的模式下并不值得(因为您无法进行通信)。

基本原则是打开一个L2CAP套接字,通道ID为4(低能耗),然后进行标准绑定/监听/接受。我建议你看一下Bluez的源代码和例子。