通过蓝牙在iOS应用和树莓派之间进行通信

14

我正试图使用蓝牙在iOS应用和树莓派之间进行通信。树莓派正在使用Python脚本完成此任务。

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

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

所以目前,我卡住了。我需要:

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

您找到解决方案了吗?想要做类似的事情吗? - Eric
@Eric 我成功让BluetoothManager在iOS 7上运行(请参见我的链接问题),但我找不到任何可用的连接到设备/服务的工作代码,所以要么它非常隐藏,要么它实际上不是框架的可用功能。最后,我决定将我的目标改为与我的Mac通信,而不是iOS设备,所以我只需编写一个Python脚本即可。 - ttarik
@ev0lution 你好,我想要实现与树莓派连接iOS设备的功能,你有什么解决方案、建议或灵感吗? - Dhaval Bhadania
@Eric 如果你对这个话题有任何想法或建议,请告诉我。 - Dhaval Bhadania
@DhavalBhadania,你有没有针对你的问题得到任何适当的解决方案。如果你有任何想法或解决方案,请建议一下。我也想在离线模式下使用iPhone应用程序与Pi设备通信。如果你有任何解决方案,请建议一下。 - Ram S
@RamS 还没有收到!!! - Dhaval Bhadania
3个回答

1

一种选择是购买一个已经带有BLE堆栈的USB dongle。

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

dongle中带有BLE堆栈意味着可以像简单的USB串口一样从Raspberry Pi进行通信,而不需要使用任何linux蓝牙堆栈。

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

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

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


0

你试过this吗?

默认情况下,Wheezy发行版没有蓝牙堆栈。bluez软件包的版本是4.99,对低功耗蓝牙的支持不稳定。

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


-1
NewAer已经构建了一个P2P消息框架,可以与某些设备共享500字节(SDK 5)到15K。也就是说,我们可以在iOS设备之间或iOS和Raspberry Pi 3之间发送15K。随着Android对BLE的操作系统和硬件支持的进一步增强,我们预计将添加更高的文件大小,但目前在Android和iOS之间仅限于500字节。

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