3

我想要在嵌入式系统上使用成熟的蓝牙堆栈的建议。它必须轻巧且占用空间相对较小。

最好它也是开源的,支持 BLE 并且可以在没有操作系统的情况下运行。但这些并不是严格要求的。

它不一定是免费的。它也将用于商业用途。

我正在运行一个 STM32 处理器 (ARM),它应该直接支持或者足够通用,以便于移植。

亲切的问候

4

4 回答 4

3

Apache 现在有一个名为NimBLE的开源 BLE 堆栈,可在其MyNewt操作系统上运行。它在 nRF5x 芯片上运行,是唯一一个模糊完整的开源 BLE 堆栈。我还没有尝试过,但它看起来很不错。

编辑:我试过了。截至目前(2016 年 9 月),它确实有效 - 您可以读取/写入/通知特征等。有一些缺失的功能,但它绝对是可用的。

请注意,代码写得非常好(例如,他们甚至记录了哪些函数在中断上下文中运行!)但它是经典的 C89,因此有很多手动内存管理、令人担忧的指针魔术、信任数组长度等等。newt他们的构建系统也不支持 C++ 。

于 2016-08-17T13:22:38.427 回答
1

您使用的是什么蓝牙芯片或模块?

您可能会发现芯片制造商可以为您提供嵌入式 BT 堆栈。

例如,优质蓝牙 4.0 芯片的供应商 CSR(剑桥硅无线电)有一款名为 Synergy 的产品,它是用于嵌入式设备的 BT 堆栈。有一个 Android 和一个 WinCE 版本,但也有一个核心版本,它已经并且可以移植到许多不同的操作系统和硬件平台。

www.csrsupport.com

我认为博通也生产 BT 芯片。

于 2012-08-08T07:07:25.510 回答
1

你可以看看 Smalltooth。它针对 PIC24 和 PIC32,但可能适用于 ARM。 SmallTooth 蓝牙堆栈是一个开源蓝牙堆栈,从头开始编码,并考虑了嵌入式设备。

于 2014-07-30T07:23:21.210 回答
0

请在http://bluekitchen-gmbh.com上查看我们的 BTstack 蓝牙堆栈

它似乎可以满足您的所有要求。

于 2015-07-10T09:03:23.303 回答