BTLE 4.0 - ConnectBlue低能量串行端口服务

时间:2014-06-19 09:52:10

标签: ios objective-c ios7 bluetooth-lowenergy core-bluetooth

我正在寻找一种通过串口(RS232)将数据从嵌入式设备加载到iPhone的方法。该应用程序需要在AppStore上,我们的公司不属于MFI计划。

在你说之前,它无法完成,我们正在研究蓝牙低功耗4.0作为一种可能的解决方案。我们可以创建一个可以将ConnectBlue的OBS421模块转换为串口适配器的设备(具有速度突发限制)。为此,connectBlue提供了自己的protocol称为串行端口服务,但它仅在非常高的级别上进行了记录。

  1. 有没有人有使用此协议的经验?如果是这样,你能提供一个以这种方式建立通信的示例(目标C)代码吗?
  2. 有没有人向Apple提交过这样做的应用程序而没有因侵犯MFI规则而遭到拒绝?
  3. 还有一个问题..我尝试连接的设备仅支持EZII Escape计算机命令集标准中的串行命令(PROG ID为“EZ2 2.0”及更高版本)。它们看起来与常见的ATT命令不同。示例:<ESC>Gc100<EOT>。 不知道我是否可以通过ConnectBlue的LE-SPS发送这样的命令?

    非常感谢您的帮助。 谢谢!

2 个答案:

答案 0 :(得分:3)

我没有使用过这个协议,但从文档中看起来很简单。您应该能够采用任何核心蓝牙示例并相当快速地进行调整。

您需要查找提供服务0x2456e1b926e28f83e744f34f01e9d701

的外围设备

此服务公开了两个特征 -

  • 0x2456e1b926e28f83e744f34f01e9d703阅读&amp;写入串口
  • 如果您需要流量控制,
  • 0x2456e1b926e28f83e744f34f01e9d704获取“信用”。基本上,似乎此值表示可以发送到设备的字节数,您可以编写一个值来指示您准备从设备接收的字节数

设备应支持完整的8位数据路径,因此我不明白为什么在发送串行命令时会出现问题。

蓝牙低能耗来自MFI计划的specifically excluded,因此您不会在此基础上被拒绝 -

  

我想开发一款与Apple设备通信的配件   仅使用蓝牙低功耗。我是否需要加入MFi计划?

     

没有。仅使用蓝牙连接到Apple设备的附件   支持低能耗/ BTLE /蓝牙4.0或标准蓝牙配置文件   iOS版不属于MFi计划。

答案 1 :(得分:0)

Bluetooth Low Energy没有将SPP定义为标准协议。 您必须使用GATT服务/特性自行编程,您只需要生成自己的128位UUID(谷歌它,有很多UUID生成器,甚至在Mac或Linux上,它很容易从命令提示符生成)

GATT发送较小的数据块,你必须在另一端连接自己。

请注意,与Bluetooth Classic SPP相比,BLE的吞吐量非常低。也许大约3千字节/秒。