2012-02-03 81 views
10

我正在为我的公司开发主要产品。我们正在设计一款我们想要整合到iOS应用中的新设备。 (仅供参考,我们最近已被Apple MFi计划接受,因此我们已经迈出了这一步。)从应用程序将设备连接到iPad的最简单方法是什么?

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

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

有什么方法可以在iOS应用程序中为自动连接到蓝牙设备编码?

我知道有这种能力的核心蓝牙框架,但它只适用于新的iPhone 4S。这不是一个选项。

我也研究过外部附件框架,可以用来连接外部设备,无论它们是通过iPod端口还是蓝牙连接。这是一个选项,但如果我的理解是正确的,我们的硬件必须在iOS软件可以连接到它之前与iPad配对。这并不令人满意,因为虽然我们的许多设备可能并不在某个时间点附近,但我们的客户可能拥有他们可能希望与我们的软件连接的100台设备。

我的合理选择或替代方案是什么?最终目标是为我们的用户提供一种非常简单的方式,以便能够通过我们的软件在iPad上连接到我们的设备。

NOTE:我不得越狱iPad或破坏任何Apple TOS协议。

UPDATE(3-7-2012)今天我看到'新iPad'(正式命名为)将是Bluetooth 4.0 capable。我认为这意味着iPad设备将能够使用核心蓝牙框架。这并不能立即解决我的问题,因为我们希望至少保持与“上一代”iPad设备的兼容性,但这值得为其他可能正在寻找这种答案的人指出。

+0

不知您是否会收到任何回复,因为所有这些都是(通常情况下)在NDA条款下。对于“Made for iPad”徽标:这提醒了旧版Intel 486 cpu的印有“与Windows兼容”的印记:-) – 2012-02-03 21:07:15

+0

是的,几乎所有可以为iOS设备开发硬件的东西都包含在NDA 。然而,在这种情况下,我正在谈论与来自iOS的设备进行通信。我想可能会有一些可以讨论的选项,因为为iOS设备编写的软件不在MFi协议范围内,因为它们严格与硬件开发有关。 – RLH 2012-02-03 21:19:44

+0

我稍微修改了这个问题,这样很明显,我没有找到如何从硬件方面做到这一点的答案。我的问题是特定于iOS软件连接选项。我可以在iOS项目中做些什么来轻松连接到我可以控制的蓝牙硬件。 – RLH 2012-02-06 17:09:03

回答

1

如果不先配对,则无法将iOS设备连接到蓝牙设备。苹果公司故意这样构建,以减少有人在用户不知情的情况下连接蓝牙设备的可能性。如果配对每个设备是不可接受的(听起来就像是这样),并且您不想开发加密狗,唯一剩下的路径是让您的设备能够像网状网络一样在它们之间转发数据。这样用户只需要与单个设备配对,该配对设备就可以在其他设备和iPad之间中继通信。

1

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

至于BT:缺点是缺少串口协议(未在iPhone/iPod/iPad中实现)。

+0

由于各种原因,我们需要这种蓝牙机制作为辅助通信手段。我们开发的硬件可以连接到本地网络,事实上,我们目前的产品版本也可以。但是,并非所有客户都能够通过物理,位置限制(WiFi或硬连线)来联网设备。此外,此应用将为我们的技术支持人员提供超级用户模式。他们也会使用这个应用程序或类似的应用程序连接到我们的设备,排除任何问题。从经验来看,我们的技术人员需要使用最简单的方法来连接这些设备。 – RLH 2012-02-09 19:59:52

+0

A,好的。当你问到替代品时,我没有看到它必须是BT。 iOS设备的问题在于,它们只支持HFP 1.5,PBAP,A2DP,AVRCP,PAN,HID配置文件(最多只支持HFP配置文件)(http://support.apple.com/kb/HT3647)我可以说没有违反NDA – 2012-02-09 20:12:34

+0

你可以让一个设备通过BT发现,然后去BT音频调制解调器(和在iOS端的代码调制解调器),但这就像重新发明轮子 – 2012-02-09 20:14:34

相关问题