如何在应用程序中最简单地将设备连接到iPad?

10

我正在为公司进行一项重要的产品发布工作。 我们正在设计一种新型设备,希望将其集成到iOS应用程序中。 (顺便说一句,我们最近已被接受进入苹果MFi计划,所以我们已经过了这一步。)

我们希望创建一个硬件/软件生态系统,在其中,用户可以启动我们的iPad应用程序(是的,它只适用于iPad而不是iPhone或iPod Touch设备),并且该应用程序将自动发现和链接到我们开发的任何近距离硬件。

这意味着我需要在iPad和硬件内部实现某种形式的设备连接过程。

是否有办法从iOS应用程序内部对蓝牙设备进行自动连接?

我知道Core Bluetooth框架可以做到这一点,但它仅适用于新的iPhone 4S。 这不是一个选择。

我还研究了外部附件框架,它可用于连接外部设备,无论它们是通过iPod端口还是蓝牙连接的。 这是一个选择,但如果我理解正确,我们的硬件必须先与iPad配对,然后iOS软件才能连接到它。 这不是最佳选择,因为尽管我们的许多设备可能在某一时间不在附近,但我们的客户可能会拥有数百个他们希望使用我们的软件连接到的设备。

我有哪些合理的选择或替代方案? 最终目标是为用户提供一种非常简单的方法,使其能够在iPad上从我们的软件中连接到我们的设备。

注意:我必须不违反Apple TOS协议,也不能越狱iPad。

更新(2012年3月7日)今天我看到“新iPad”(正式名称)将支持蓝牙4.0。我猜这意味着这款iPad设备将能够使用核心蓝牙框架。但这并不能立即解决我的问题,因为我们仍然需要与“上一代”iPad设备保持兼容性,但这对于其他寻找答案的人可能是值得指出的。


我想知道你是否会得到任何回复,因为所有这些(通常)都受NDA条款的约束。至于“专为iPad制作”的徽标:这让我想起了旧的Intel 486 CPU上的印记“兼容Windows” :-) - ott--
是的,几乎所有你可以为iOS设备开发硬件的工作都受到保密协议的限制。但是,在这种情况下,我所说的是从iOS设备与其他设备进行通信。我想可能有一些可以讨论的选项,因为为iOS设备编写的软件不受MFi协议的限制,因为它们严格与硬件开发相关。 - RLH
我稍微修改了这个问题,以便清楚地表明我不是在寻找如何从硬件方面解决这个问题的答案。我的问题特定于iOS软件连接选项。我可以在我的iOS项目中做什么来轻松连接到我可以控制的蓝牙硬件? - RLH
我曾认为蓝牙设备总是需要配对的,比如PS3控制器和免提耳机。 - Almo
@Almo- 是的,没错。但是要将蓝牙设备与iOS设备配对,您必须进入“设置”->“通用”->“蓝牙”屏幕,搜索设备并点击它以启动连接。假设完全控制连接软件和硬件,您可以自动化整个过程。我正在寻找最简单、最容易的方法来实现这一点,以便这个过程对我们的客户来说是最“无忧无虑”的,因为他们可能经常需要在多个iOS设备之间进行操作。这种能力在iPhone 4S上与蓝牙LE设备一起使用时可用。 - RLH
2个回答

1

你的其中一个选择是使用Bonjour进行WiFi连接(AdHoc或Infrastructure)。例如,你可以检测到附近的设备(如果它正在维护自己的AdHoc,则通过SSID;如果它在基础设施网络中,则通过服务被公布)。一个很大的缺点是你无法直接连接到设备的网络(从应用程序),用户必须手动完成。

至于蓝牙:一个很大的缺点是缺乏串行协议(未在iPhone / iPod / iPad中实现)。


我们需要这个蓝牙机制作为各种原因的第二通信手段。我们开发的硬件可以连接到本地网络,事实上,我们当前的产品版本已经可以了。然而,并非所有客户都能够通过物理位置限制(WiFi或有线)来网络化他们的设备。此外,这个应用程序将拥有一个超级用户模式供我们的支持技术人员使用。他们也将使用这个应用程序或类似的应用程序来连接到我们的设备并解决任何问题。根据经验,我们的技术人员需要尽可能简单的方式来连接这些设备。 - RLH
好的,当你问到替代方案时,我没看到这必须是BT。iOS设备的问题是它们(最多)只支持HFP 1.5、PBAP、A2DP、AVRCP、PAN、HID配置文件(http://support.apple.com/kb/HT3647)......这就是我在不违反保密协议的情况下能说的全部。 - Rok Jarc
你可以通过蓝牙使设备可被发现,然后选择蓝牙音频调制解调器(并在iOS端使用内置调制解调器),但这就像重新发明轮子。 - Rok Jarc
另一个可能会浮现在脑海中的选项是(既然您已经是MFi的成员),为iPad开发一个dongle。但您可能正在尝试避免这个选项。 - Rok Jarc
你提到了一个代码内置调制解调器。这可能很难实现,但如果它能解决问题,我想了解更多。我对你所说的一无所知。你有更多的信息吗? - RLH
显示剩余4条评论

1

在未配对的情况下,您无法将iOS设备连接到蓝牙设备。这是苹果故意设计的,以减少某人在用户不知情的情况下连接蓝牙设备的可能性。如果每个设备都需要配对是不可接受的(听起来确实如此),并且您不想开发一个转接器,则我唯一能看到的剩余路径是使您的设备能够像网状网络一样中继数据。这样,用户只需与单个设备配对,该配对单元将在其他设备和iPad之间中继通信。


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