树莓派蓝牙4.0连接

8

我正在尝试使用CoreBluetooth(蓝牙4.0)通过iPhone连接到树莓派。我已经发现了设备并使用以下代码发送了连接请求:

if (peripheral != self.foundPeripheral) {
    NSLog(@"Try to connect to %@", peripheral.name);
    self.foundPeripheral = peripheral;
    [self.centralManager stopScan];
    [self.centralManager connectPeripheral:peripheral options:nil];

}

didConnectPeripheral和didFailedToConnectPeripheral都没有被调用。我还确保设置了RPi以使用Bluetooth Low Energy进行广告。

sudo hciconfig hci0 leadv

但是当我使用以下命令检查活动连接时:
hcitool con

目前没有活动连接。我是否遗漏了为树莓派做的一些设置?另外,外围设备上的名称变量为空,这是因为我还没有连接吗?


2
你是否有运行任何类型的GATT服务器来响应请求?我认为hciconfig可能只是打开广告的开关,但实际上没有任何东西响应连接请求。 - Tim Tisdall
我目前没有运行GATT服务器,但是有些东西必须在运行以处理所有内容。我会研究一下并稍后再评论。谢谢! - Jacobcr
我曾经以为Bluez源码中包含一个用于测试GATT服务器的程序,但是我却找不到它。有一个名叫attrib_server.c的文件似乎对此起了一定作用。 - Tim Tisdall
使用BlueGiga的BLED112 dongle是BlueZ stack的另一种选择。它可以进行闪存,具有相对简单的API和开发工具包,以完成基本任务。您可以使用简单的脚本和XML文件在BLED112 dongle内部编写GATT服务器,并通过USB端点与Linux通信。 - barbazoo
1个回答

3

试用bleno,它是一个node.js的库,可用于在OS X和Linux上创建BLE外设。在我运行Raspbian的树莓派上表现良好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接