【问题标题】:Raspberry Pi Bluetooth 4.0 Connection树莓派蓝牙 4.0 连接
【发布时间】:2013-04-09 19:01:46
【问题描述】:

我正在尝试使用 CoreBluetooth(蓝牙 4.0)通过 iPhone 连接到 Raspberry Pi。我发现了该设备并使用此代码发送了一个连接请求:

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 设置为使用

宣传蓝牙低功耗
sudo hciconfig hci0 leadv

但是当我使用

检查活动连接时
hcitool con

没有活动连接。我错过了 RPi 的一些设置吗?外设上的name变量也是空白的,是因为我还没有连接吗?

【问题讨论】:

  • 您是否运行了某种 GATT 服务器来响应请求?我认为 hciconfig 可能只是打开开关打开广告,但实际上没有响应连接请求。
  • 我目前没有运行 GATT 服务器,但必须运行某些东西来处理所有内容是有道理的。稍后我将对其进行研究并再次发表评论。谢谢!
  • 我认为有一个测试 GATT 服务器是 Bluez 源代码的一部分,但我找不到它。有一个名为 attrib_server.c 的文件似乎有助于这种角色。
  • BlueZ 堆栈的替代方案是使用 BlueGiga 的 BLED112 加密狗。它是可闪存的,具有相当简单的 API 和开发工具包来完成基本任务。您可以使用简单的脚本和 XML 文件在 BLED112 加密狗内部对 GATT 服务器进行编码,并通过 USB 端点与 Linux 进行通信。

标签: raspberry-pi core-bluetooth bluetooth-lowenergy bluez


【解决方案1】:

试试bleno,它是一个node.js 库,可用于在OS X 和Linux 上创建BLE 外围设备。它在我运行 Raspbian 的 Raspberry Pi 上运行良好。

【讨论】:

    猜你喜欢
    • 2017-03-30
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 2016-12-07
    • 2021-06-20
    • 2014-04-22
    • 2021-04-03
    • 2014-12-05
    相关资源
    最近更新 更多