我正在为我的公司准备一个主要的产品发行版。我们正在设计一个新的设备,我们想要集成到一个iOS应用程序。(FYI,我们最近被苹果MFi项目接受了,所以我们已经过了这一步。)
我们想要的是创建一个硬件/软件生态系统,让我们的用户可以启动我们的iPad应用程序(是的,它是特定于iPad和非iPhone或iPod触摸设备),应用程序将自动发现并连接到我们开发的任何接近的硬件。
这意味着我需要在iPad和硬件中实现某种形式的设备连接过程。
是否有任何方法从iOS应用程序中编码到蓝牙设备的自动连接?
我知道核心蓝牙框架有这种能力,但是,它只适用于新的iPhone 4S。这不是一个选择。
我还研究了外部附件框架,它可以用来连接到外部设备,无论它们是通过iPod端口或蓝牙连接的。这是一个选项,但是,如果我的理解是正确的,我们的硬件必须已经与iPad配对,然后iOS软件才能连接到它。这一点并不可取,因为尽管我们的许多设备可能在某一时间点上不在附近,但我们的客户可能拥有他们可能希望与我们的软件连接的100多台设备。
我的合理选择或选择是什么?最终目标是为我们的用户提供一种非常简单的方法,让他们能够在iPad上从我们的软件连接到我们的设备。
注意:i绝不能越狱违反iPad或违反任何Apple协议。
更新(3-7-2012)我今天看到的‘新iPad’(正式名称)将是蓝牙4.0能力。我假设这意味着这个iPad设备将能够使用核心蓝牙框架。这并不能立即解决我的问题,因为我们确实希望至少与“上一代”iPad设备保持兼容,但对于其他可能正在寻找这样一个答案的人来说,这是值得指出的。
发布于 2012-02-18 05:42:53
如果不先配对,就不能将iOS设备连接到蓝牙设备。这款手机是由苹果公司故意设计的,目的是减少用户在不知情的情况下连接蓝牙设备的可能性。如果配对每个设备是不可接受的(听起来是这样的),而且您不想开发一个dongle,我所能看到的唯一剩下的路径就是让您的设备能够像网状网络一样在它们之间中继数据。这样,用户只需与单个设备配对,而该配对单元将在其他设备和iPad之间中继通信。
发布于 2012-02-09 18:55:30
您的选择之一是使用WiFi (AdHoc或Infrastructure)和Bonjour。例如,您将能够检测到附近的设备(如果它正在维护自己的AdHoc,然后通过SSID;如果它在基础设施网络中,则通过发布服务)。一个很大的缺点是你不能直接连接(从应用程序)到设备的网络用户--用户必须手动连接。
至于BT:最大的缺点是缺乏串行协议(没有在iPhone/iPod/iPad中实现)。
https://stackoverflow.com/questions/9130765
复制相似问题