如何开发可连接到Android和iOS设备的蓝牙设备?

问题描述:

我需要创建软件来连接蓝牙设备(我可以使用BLE)。我试过sample code,成功连接到iPhone。但在这个例子中,一个iPhone发送数据(外设)和其他接收数据(*),而我需要连接设备发送接收数据。我研究了几种BLE器件,但没有发现如何以及如果器件可以执行两种操作(发送和接收)。如何开发可连接到Android和iOS设备的蓝牙设备?

我还需要知道我是否也可以使用相同的蓝牙设备与iPhone和Android手机连接(我听说过双模式或类似的东西)。

所以,我的问题是:

  1. 我能有一个蓝牙设备,可以从iPhone发送和接收数据/?如果是的话,我需要什么(硬件和软件[Xcode以上的东西?])?

  2. 如何编程蓝牙设备以使用Apple协议?我需要开发套件还是Apple的特别产品?

  3. 我可以有一个蓝牙设备,可以通过iPhone和Android连接(不一定在同一时间)吗?这是否需要特别考虑?

谢谢大家!

1)是的,你可以。问题是你在想什么类型的设备?但是,你必须开发微控制器等。iOS应用程序LightBlue是很好的。我用它来调试。关于它的WWDC会议很好。
2)蓝牙低能耗有一个协议,它与苹果无关...
3)Android不正式支持BLE。它没有框架。摩托罗拉使用自制的框架。其他人,我不知道,当他们有BLE芯片时就是这种情况。

+0

感谢您的回答Larme! 所以: 1)我打算使用Bluegiga - 评估BT111构建一个将为iPhone发送信息的设备。当我试用Peripheral/Central从1个iPhone到另一个工作正常。我的问题是,当我使用Bluegiga - 评估BT111,这将如何工作?它只是发送一个信号和corebluetooth将得到它? 您可以将LightBlue应用程序和WWDC会话链接到我吗? 3)我认为,双模模块,可以在两台设备上工作,ONDE时间将BLE和另一个是正常的蓝牙信号... – user1571399 2013-02-21 14:27:55

+1

LightBlue:https://itunes.apple.com/us/app/lightblue/ id557428110?mt = 8 WWDC:这是会话#705,名称高级核心蓝牙(转到iOS门户找到它)。 在使用Bluegiga之前,我建议您使用LightBlue。 – Larme 2013-02-21 14:45:27

1)您可以使用相同的框架(CoreBluetooth)将iPhone置于*或边缘角色。对于外设角色,您只需要XCode和iOS 6或更高版本以及自己的*(另一个iPhone,Android智能手机,BLE USB Dongle等)。

2)没有任何“苹果协议”,你必须尊重蓝牙规范。

3)不,蓝牙设备只能同时连接到一个主设备。

我认为我们的应用LightBlue会很高兴帮助你。我只想补充一点,我们刚刚添加了一个可在此处找到的教程:http://blog.punchthrough.com/post/46285311872/testing-bluetooth-low-energy-devices

关于您的问题#3,是的,您可以拥有一个与设备无关的设备。不过,我建议首先开发iOS版本,苹果的一些要求比android更严格(例如连接间隔)。

三星Galaxy S3似乎是使用最多的BLE设备。摩托罗拉目前拥有自己的BLE堆栈,功能强大但颇具风度。

  1. 这一切都取决于你想要通信的设备。如果它是外部附件,EA Hardware的芯片需要成为来自苹果的MFI的投诉。
  2. 你有外置配件的框架,将建立BT连接和发现设备等等等等。