nimble导视
NimBLE是开源蓝牙5.1协议栈( 包括主机和控制器 ),完全取代nordic芯片上的专有协议栈。它是Apache Mynewt项目的一部分。 特点:
-
支持251字节数据包长度
-
支持4种角色并发工作:Broadcaster,Observer,Peripheral and Central
-
支持32个连接并发工作
-
支持Legacy和SC( secure connections )SMP配对和绑定
-
支持扩展广播
-
支持周期广播
-
支持Code phy和2M phy
-
支持蓝牙mesh
文件索引
下面是代码树的指引,
-
nimble/controller: 包含控制器的代码,包括链路层和HCI实现(控制器)
-
nimble/drivers: 包含支持的无线电收发器(Nordic nRF 51和nRF 52)的驱动程序(drivers)
-
nimble/host: 包含host子系统的代码。这包括L2 CAP和ATT等协议,对HCI命令和事件的支持,通用访问配置文件(GAP),通用属性配置文件(GATT)和安全管理器(SM)
-
nimble/host/mesh: 包含蓝牙Mesh子系统的代码
-
nimble/transport: 包含主机和控制器之间支持的传输协议的代码。这包括CPU、emSPI和RAM(当主机和控制器在同一CPU上运行时,在组合构建中使用)
-
porting: 包含支持的操作系统的NimBLE移植层(NPL)的实现。
-
ext: 包含NimBLE使用的外部库。如果操作系统没有提供这些库,则会使用它们
应用示例
在apps文件夹下展示如何使用NimBLE堆栈的示例。 blecent:一个基本的中央设备,没有用户界面。此应用程序扫描支持警报通知服务(ANS)的外围设备。一旦发现这样的外设,blecent就会连接并执行特征读取、特征写入和通知订阅。 blehci:实现一个BLE专用的应用程序。一个单独的仅主机实现,如Linux的BlueZ,可以通过HCI over Ethernet与这个应用程序接口。 bleprph:最小BLE外设的实现。 btshell:一个类似shell的应用程序,允许从命令行配置和使用大部分NimBLE功能。 bleuart :实现一个简单的BLE外设,支持Nordic UART /串行端口仿真服务(https://developer.nordicsemi.com/nRF5_SDK/nRF51_SDK_v8.x.x/doc/8.0.0/s110/html/a00072.html)。
平台移植
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)