如何通过蓝牙将iOS设备与非iOS设备(Arduino设备)连接?

8

在谷歌上搜索后,我发现人们说只有通过“MFi计划”才能连接iOS设备和非iOS设备。这是真的吗?

我的项目主要集中在通过蓝牙直接与Arduino设备发送和接收信息。

是否可以在不进行越狱的情况下实现iOS和非iOS设备之间的通信?如果可以,是否有参考资料?

(我查看了Stack Overflow问题如何让iPhone通过无线或蓝牙访问另一个非iPhone设备?。)


2
我对iOS不太熟悉。MFI锁定情况是否也阻止使用蓝牙HID设备?也就是说,标准的蓝牙键盘能在iOS设备上工作吗?如果可以的话,你可以使用类似这样的产品:http://www.sparkfun.com/products/10938 它是一个预装有HID固件的蓝牙芯片。它可以与Arduino一起使用,以编程方式向主机设备发送按键数据。 - FoamyGuy
标准的蓝牙键盘可以在iOS设备上使用吗? - ManuelSchneid3r
我正在使用TI CC2540,<a href="http://www.ti.com/product/cc2540&DCMP=LowPowerRFICs+Other&HQS=Other+OT+cc2540"> ref</a>。 - antonio081014
2个回答

14

如我在上面链接的问题中所述,非越狱的iOS设备对外部设备的蓝牙通信仅限于符合MFi标准的蓝牙硬件。

然而,新型iOS设备(iPhone 4S、新款iPad)可以通过新的Core Bluetooth框架与外部设备进行蓝牙4.0 LE通信,而无需这些设备符合MFi标准。这种交互是通过该框架实现的,它允许您向蓝牙LE设备发送和接收任意数据。不过,这仅适用于列出的较新iOS设备。

Tim指出了一个有趣的hack,你也许可以利用它使你的设备看起来像是一个蓝牙HID键盘。像这样的条码扫描器就有特殊模式,可以在iOS上表现为HID设备。你也许可以根据这个想法整合一些东西,但所有数据传输都将是从你的设备单向传输的,并且看起来需要将数据输入到文本字段中,就好像你连接了一个键盘。


BT LE适合传输大量数据吗?如果我需要在iPhone和外围设备之间建立一个管道,我需要SPP。对吗? - Gal
1
@Gal - 这取决于你如何定义“大”。理论上,蓝牙LE支持高达50 kbps的数据速率,而传统蓝牙则为1200 kbps。这对于传感器和控制场景来说已经足够了,但对于音频或视频流媒体来说就不太够了。 - Brad Larson
@Brad Larson♦,感谢您的快速回复!假设我想要传输整个通讯录,coreBT是否足够? - Gal
@Gal - 再次强调,这个速度取决于通讯录的大小,但是它应该足够小,以至于以50 kbps的速度传输不会太糟糕。 - Brad Larson
非 MFi 兼容的外部键盘能否连接到 iOS 设备? - Javal Nanda
@JavalNanda - 如果它们显示为标准键盘,那么是的。 - Brad Larson

3

Alasdair Alan的"(iOS Sensor Apps with Arduino)"是一个不错的参考资源。我曾经使用过另一种微处理器(mbed)的Wifi,但对于蓝牙还不确定。Alasdair在Twitter上很活跃,通常会很好心地回答问题。


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