【问题标题】:BTLE 4.0 - ConnectBlue Low Energy Serial Port ServiceBTLE 4.0 - ConnectBlue 低功耗串口服务
【发布时间】:2014-08-09 19:40:32
【问题描述】:

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

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

  1. 有人有使用此协议的经验吗?如果是这样,您能否提供一个以这种方式建立通信的示例(目标 C)代码?
  2. 有没有人向 Apple 提交了一个应用程序,并且没有因为违反 MFI 规则而被拒绝?

还有一个问题.. 我尝试连接的设备仅支持 EZII Escape 计算机命令集标准中的串行命令(“EZ2 2.0”及更高版本的 PROG ID)。它们看起来与常见的 ATT-Commands 不同。示例:<ESC>Gc100<EOT>。 知道我是否可以通过 ConnectBlue 的 LE-SPS 发送此类命令?

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

【问题讨论】:

  • 你能让这个模块工作吗?
  • 它工作正常,并在 Appstore 上获得批准。您所需要的只是一个串行堆栈,并注意正确配置它以与您的设备通信。我遇到了一个问题,因为它不支持奇校验,我必须手动执行奇偶校验算法,但它可以工作。

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


【解决方案1】:

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

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

这个服务暴露了两个特征——

  • 0x2456e1b926e28f83e744f34f01e9d703 读写串口
  • 0x2456e1b926e28f83e744f34f01e9d704 用于“积分”,如果您需要流量控制。本质上,这个值似乎表示您可以发送到设备的字节数,您可以编写一个值来指示您准备从设备接收的字节数

该设备应该支持完整的 8 位数据路径,所以我不明白为什么您在发送串行命令时会遇到问题。

Bluetooth Low Energy 是来自 MFI 计划的 specifically excluded,因此您不会因此而被拒绝 -

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

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

【讨论】:

    【解决方案2】:

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

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

    请注意,与蓝牙经典 SPP 相比,BLE 的吞吐量非常低。也许大约 3kbytes/sec。

    【讨论】:

    • 吞吐量实际上可以满足我的需求。我实际上需要与串行 RS232 端口通信,并且该端口的波特率最大为 9600,所以……不用担心速度。
    猜你喜欢
    • 2016-10-09
    • 2023-03-21
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多