水清沙白 发表于 2019-3-25 15:58:04

Apache开源蓝牙5.0协议栈-NimBLE



描述


NimBLE 是 Apache 基金会下一个开源的蓝牙5.0协议栈,具备完整的Host及Controller层。资源占用少,支持蓝牙5.0特性,也支持Mesh等功能。
目前已经在RT-Thread上移植该协议栈,并在nrf52832上添加了一系列的profile及应用实例,下面是相关的资源链接介绍:

nimble 软件包介绍:https://github.com/RT-Thread-packages/nimble
52832 工程: https://github.com/EvalZero/nrf52832-nimble
Apache NimBLE 蓝牙 5.0 协议栈介绍:http://mynewt.apache.org/latest/network/docs/index.html

BLE 开发板使用的刚好是青风电子的Nrf52832,因此论坛里的大部分朋友应该是直接双击打卡工程,下载运行的,Github上的52832工程里也有相关的使用说明。
附上一张青风电子的Nrf52832板子靓照:



后续会以nrf52832会平台,持续更新一些相关的Profile及应用示例的文章,Mesh等玩法,感兴趣的也可以一起加入进来。

下面还是介绍一下NimBLE协议栈的功能特性。

特性


[*]扩展广播(LE Advertising Extensions)
[*]2Mbit/s比特率的物理层
[*]长距离编码(Coded PHY for LE Long Range)
[*]高速不可连接广播(High Duty Cycle Non-Connectable Advertising)
[*]高速不可连接广播(High Duty Cycle Non-Connectable Advertising)
[*]新的跳频算法(Channel Selection Algorithm #2)
[*]隐私1.2(LE Privacy 1.2)
[*]安全管理(SM),支持传统配对(LE Legacy Pairing),安全连接(LE Secure Connections),特定秘钥分发(Transport Specific Key Distribution)
[*]链路层PDU数据长度扩展(LE Data Length Extension)
[*]多角色并发(主机(central)/从机(peripheral), server/client)
[*]同时广播和扫描
[*]低速定向广播(Low Duty Cycle Directed Advertising)
[*]连接参数请求(Connection parameters request procedure)
[*]LE Ping
[*]完整的GATT客户端,服务端,以及子功能
[*]抽象的HCI接口层


Profile和Service支持


[*]警报通知服务(ANS)
[*]即时报警服务(IAS)
[*]链路丢失服务(LLS)
[*]电池服务(BAS)
[*]设备信息服务(DIS)
[*]心率服务(HRS)
[*]自行车速度及步调(CSC)
[*]射频功率(TPS)


Mesh特性


[*]广播和GATT承载(Advertising and GATT bearers)
[*]PB-GATT 和 PB-ADV provisioning
[*]模型层(Foundation Models (server role))
[*]支持中继(Relay support)
[*]支持GATT(GATT Proxy)


资源占用

开启外设、中心设备角色以及传统配对等功能,最小仅占用4.5KB RAM,69KB Flash。

角色配置

NimBLE提供极大的灵活性,以满足不同设备和应用场景的需求。

[*]作为中心设备(Central)时,最多支持32个并发连接
[*]作为外围设备(Peripheral)时,最多支持32个并发连接
[*]中心和外围设备任意组合时,支持最多32个并发连接,且能同时运行Observer和Broadcaster角色
[*]外围设备能够连接到多个中心设备
[*]心和外围设备任意组合时,支持最多32个并发连接,且能同时运行Observer和Broadcaster角色
[*]灵活配置调度程序,以便在连接到大量外围设备时允许更大的数据突发


系统配置

NimBLE允许应用程序开发人员配置系统以提取最合适的性能。
无论是追求最大数量的并发连接还是获得高吞吐量,或确保数据传输的低延迟,NimBLE提供了大量选项。
当然,对默认配置的任何更改都会对代码大小,运行时RAM使用率等产生影响




admin 发表于 2019-3-25 19:38:16

支持,这个点个精华,欢迎大家讨论
页: [1]
查看完整版本: Apache开源蓝牙5.0协议栈-NimBLE