初级会员
- 积分
- 67
- 金钱
- 67
- 注册时间
- 2018-7-27
- 在线时间
- 11 小时
|
本帖最后由 水清沙白 于 2019-3-2 18:08 编辑
描述
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
后续会以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使用率等产生影响
|
|