9

在对 BLE 主题和 android 进行了数小时的研究后,我发现唯一的事情就是一团糟。为 iOS 开发一个使用 BLE 的应用程序非常简单——一个框架和一些文档。现在,我必须为 android Jelly Bean 4.2.2 编写一个应用程序(该应用程序只能在一个设备上运行,目前仅与 4.2.2 一起提供),它必须发现并连接到 BLE 设备。

我发现,在 4.1 之前,android 上的蓝牙堆栈称为 BlueZ,但在 4.2 中,Google 更改为 Broadcom 的堆栈。我知道在 4.3 中,Android 中有一个官方内置的低功耗蓝牙支持,但该应用程序必须在 4.2.2 下运行。

经过大量研究,我没有找到任何有关 Broadcom 堆栈的文档。有人可以指向一个链接(该链接仍在工作并且不会以 303 错误结束)吗?堆栈是否支持 BLE,是否有人知道这方面的教程或可以提供几行示例代码?

非常感谢您的任何意见!我真的迷失在那个混乱中

利纳德

4

2 回答 2

11

经过 3/4 年和许多观点后,我想自己回答这个问题:

我们与中国制造商进行了交谈,但他们无法告诉我们 JB 4.3 的发布日期(目前看来需要进行硬件升级)。因此,我们寻找另一种解决方案,我们找到了一个:BlueKitchen GmbH ( http://bluekitchen-gmbh.com),一家开发 BTStack 的小公司,这是一个用于越狱 iOS 设备和嵌入式系统的开源蓝牙堆栈,已经修改了他们现有的堆栈,使其与我们特定的 Android 设备兼容。解决方案中涉及的是将设备生根,用我们定制的蓝牙堆栈替换原始蓝牙堆栈,取消设备根,然后将其运送给我们的客户。由于堆栈作为独立于应用程序的系统服务运行,因此应用程序不需要任何 root 权限,并且无需 root 即可通过 Google Play 商店或 ADB 控制台轻松安装和更新。应用程序通过套接字连接与堆栈对话,因此可以使用纯 Java 代码。在应用程序内部,必须区分自定义堆栈和运行 JB 4.3+ 且具有本机 BLE 堆栈的设备。

如果您对 iSafe Innovation 2.0 或 Ruggear RG220 设备的堆栈版本感兴趣,或者如果您想要另一个 Android 设备(带有 BLE 芯片)的堆栈,请随时询问我有关该堆栈在应用程序中的实施情况并联系 BlueKitchen

希望你也能找到解决办法

利纳德

于 2014-09-22T12:39:02.260 回答
1

您可以使用现在已弃用的 AFAIK 三星 BLE SDK。如果我记得,它使用了 TI 或 Broadcom。当然,这只适用于某些三星设备。

我为 BLE 编写了一个包装器,它根据可用性在三星的 SDK 和 4.3+ 的 SDK 之间切换,但它是针对客户端的,所以很遗憾我无法发布它。

于 2013-12-02T15:55:36.513 回答