BTLE 4.0 – ConnectBlue低能耗串行端口服务

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

在你说之前,这是不可能完成的,我们正在研究蓝牙低功耗4.0作为一个可能的解决scheme。 我们可以创build一个设备,将ConnectBlue的OBS421模块转换为串口适配器(具有突发速度限制)。 为此,connectBlue提供了自己的称为串行端口服务的协议 ,但仅在非常高的层次上进行logging。

  1. 有没有人有使用这个协议的经验? 如果是这样,你能提供一个以这种方式build立通信的例子(目标C)代码吗?
  2. 有没有人向苹果公司提交了一个应用程序,而不会因为侵犯MFI规则而被拒绝呢?

还有一个问题。我试图连接的设备仅支持EZII Escape Computer Command Set标准(“EZ2 2.0”及更高版本的PROG ID)中的串行命令。 它们看起来不同于普通的ATT命令。 示例: <ESC>Gc100<EOT> 。 任何想法,如果我可以通过ConnectBlue的LE-SPS发送这样的命令?

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

我没有使用这个协议,但从文档看起来很直截了当。 你应该能够采取任何核心蓝牙的例子,并适应相当快。

您需要寻找提供服务的外设0x2456e1b926e28f83e744f34f01e9d701

这项服务暴露了两个特点 –

  • 0x2456e1b926e28f83e744f34f01e9d703读写串口
  • 如果您需要stream量控制,请input“credits”的0x2456e1b926e28f83e744f34f01e9d704 。 从本质上来看,这个值表示你可以发送给设备的字节数,你可以写一个值来表示准备从设备接收的字节数

该设备应该支持一个完整的8位数据path,所以我不明白为什么你会有问题发送串行命令。

蓝牙低功耗特别排除在MFI计划之外,因此您不会在此基础上被拒绝 –

我想开发一个只能使用蓝牙低功耗与苹果设备进行通信的配件。 我需要joinMFi计划吗?

不可以。仅使用蓝牙低功耗/ BTLE /蓝牙4.0或iOS支持的标准蓝牙configuration文件连接到Apple设备的附件不属于MFi计划的一部分。

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

GATT发送更小的数据块,您将不得不在另一端连接自己。

请注意,与Bluetooth Classic SPP相比,BLE的吞吐量相当低。 也许大约3kbytes /秒。