在对BLE主题和android进行了几个小时的研究后,我发现唯一一件事就是一团糟。使用BLE为iOS开发一个应用程序非常简单--一个框架和几个文档。现在,我必须为android Jelly Bean 4.2.2编写一个应用程序(该应用程序只能在一个设备上运行,目前仅随4.2.2一起提供),它必须发现并连接到BLE设备。
我发现,在4.1之前,安卓上的蓝牙协议栈被称为BlueZ,但在4.2版本中,谷歌改为博通的蓝牙协议栈。我知道在4.3版本中,android有一个官方内置的蓝牙低能耗支持,但这个应用程序必须在4.2.2下运行。
经过大量的研究,我还没有找到任何关于Broadcom堆栈的文档。有人能给我指出一个链接(它仍然在工作,并且不会以303错误结束)吗?这个堆栈支持BLE吗?有没有人知道关于这方面的教程,或者可以提供几行示例代码?
非常感谢您的任何投入!我真的被弄得一团糟
Linard
发布于 2014-09-22 20:39:02
在经历了3/4年的时间和许多观点之后,我想自己回答这个问题:
我们和中国制造商谈过了,但他们不能给我们JB 4.3的发布日期(目前看起来硬件升级是必要的)。因此,我们寻找另一种解决方案,我们找到了一个: BlueKitchen GmbH (http://bluekitchen-gmbh.com),这是一家小公司,开发了BTStack,这是一个为越狱的iOS设备和嵌入式系统开发的开源蓝牙协议栈,它修改了现有的协议栈,使其与我们特定的安卓设备兼容。该解决方案涉及到设备的根,用我们的自定义蓝牙堆栈替换原始蓝牙堆栈,拔出设备,然后将其发货给我们的客户。由于堆栈作为独立于应用程序的系统服务运行,因此应用程序不需要任何root权限,并且无需root即可通过Google Play Store或ADB控制台轻松安装和更新。应用程序通过套接字连接与堆栈进行通信,因此可以使用纯Java代码。在应用程序内部,必须区分自定义堆栈和运行JB 4.3+和本机BLE堆栈的设备。但由于BLE协议规定了API,所以一切都非常相似。
如果你对Android Innovation2.0或Ruggear RG220设备的堆栈版本感兴趣,或者如果你想要一个适用于其他安卓设备(带有BLE芯片)的堆栈版本,请随时询问我关于该堆栈在应用程序中的实现情况,并联系BlueKitchen。
我希望你也能找到一个解决方案
Linard
发布于 2013-12-02 23:55:37
您可以使用Samsung BLE SDK,它现在已弃用AFAIK。如果我没记错的话,它用的是TI或Broadcom。当然,这只适用于部分三星设备。
我为BLE写了一个包装器,根据可用性在三星的SDK和4.3+的SDK之间切换,但它是为客户端编写的,所以很遗憾我不能发布它。
https://stackoverflow.com/questions/20332277
复制相似问题