14

我正在尝试使用蓝牙在 iOS 应用程序和 Raspberry Pi 之间进行通信。Raspberry Pi 为此目的使用 Python 脚本。

我最初使用的是这个PyBluez库,但是它不支持蓝牙 LE,因此不能CoreBluetooth在 iOS 上使用。
我的下一个解决方案是使用私有BluetoothManager框架与 Pi 进行通信,但这在 iOS 7 上不起作用

我进行了更多研究,并看到了使用 PyBluez 手动发送/接收 LE 数据包的建议,但这似乎非常复杂,我真的不知道从哪里开始。

所以此刻,我被困住了。我需要:

  • 通过 iOS 与非 LE 蓝牙设备通信的解决方案,或
  • 通过 Python 在 Raspberry Pi 上作为 LE 设备进行广告和通信的解决方案
4

3 回答 3

1

一种选择是购买一个带有 BLE 堆栈的 USB 加密狗。

我们使用了 Laird BL620-USB,刷有 BL600 固件,作为 BLE 外围设备运行。

在加密狗中拥有 BLE 堆栈意味着它可以像简单的 USB 串行端口一样从 Raspberry Pi 进行通信,而无需使用任何 linux 蓝牙堆栈。

BL600 已经包含 Nordic / Laird 专有的虚拟串行端口配置文件,因此您可以实现类似于经典蓝牙 SPP 的简单性,即使在与 iOS 设备通信时也是如此。

Laird 将提供 iOS 和 Android 代码以在移动端使用 VSP。

其他 BLE 模块制造商可能也会这样做。

于 2017-06-25T15:11:02.740 回答
0

你试过这个吗?

默认情况下,Wheezy 发行版没有蓝牙堆栈。bluez 包的版本是 4.99,它对 Low Energy 有不完整的支持。

请记住,在撰写本文时,标准 Raspberry Pi 发行版并不能很好地支持低功耗蓝牙 (BLE)。如上面提供的链接所述,需要进行一些工作才能使其正常工作。

于 2016-01-18T05:32:28.297 回答
-1

NewAer 构建了一个 P2P 消息传递框架,可与某些设备共享 500 字节 (SDK 5) 至 15K。话虽如此,我们可以在 iOS 设备或 iOS 和 Raspberry Pi 3 之间发送 15K。随着 Android 获得对 BLE 的更多操作系统和硬件支持,我们也希望宣传更高的文件大小,但目前仅限于Android 和 iOS 之间为 500 字节。

于 2017-06-26T22:00:03.720 回答