• Home
  • Annotate
  • current directory
Name Date Size #Lines LOC

..29-Oct-2021-

bt_mesh/29-Oct-2021-

bt_shell/29-Oct-2021-

configs/29-Oct-2021-

script/29-Oct-2021-

README.md A D29-Oct-20216.7 KiB10277

bt_defconfig A D29-Oct-20212.7 KiB109105

bt_preconfig A D29-Oct-20213.4 KiB141136

package.yaml A D29-Oct-20218.9 KiB

README.md

1# Chang log
2
320210514
41. 新增Mesh Controlled Relay特性(根据周围邻居节点Relay状态决策是否开启自身Relay功能,以达到消减网络泛洪的目的)。
52. 修改RPL机制,当队列满时覆盖最早写入队列的元素,即最近有消息的节点优先留在队列中。
63. 修复Genie Service中genie OTA bug。
7
8# 概述
9
10Bluetooth Mesh Profile是一种基于BLE(Bluetooth low energy)的Mesh网络解决方案。它使用了一种称为managed-flood-based的技术,Bluetooth  Mesh 使用BLE广播信道传输消息,任意一个节点都可以接收或者转发相同网络里的数据,这样大大扩大了消息的传输范围,使能大规模的网络部署成为可能。
11
12本组件实现了Bluetooth Mesh Profile 1.0版本定义的规范,提供自bearer layer 到 Model layer各个层级的功能。特性支持如下
13
14- Bluetooth Mesh配网,PB-ADV,PB-GATT
15- relay特性
16- proxy特性
17- friend特性
18- LPN特性
19- Configuration Client  Model & Configuration Server Model
20- Mesh Controlled Relay特性
21
22
23## 组件安装
24
25```bash
26yoc init
27yoc install ble_mesh
28```
29
30# 配置
31
32本组件的默认配置位于configs\ble_mesh_default_config.h文件中,对于开发者,不需要修改默认值,如果有修改的需求,需要将新的定义配置到相应Solution中的package.yaml文件,新的配置将覆盖默认值。
33
34下面是本组件的一些配置选项
35
36| 配置                             | 默认值 | 说明                                                         |
37| -------------------------------- | ------ | ------------------------------------------------------------ |
38| CONFIG_BT_MESH                   | 1      | 本组件功能宏,引入该组件后默认定义                           |
39| CONFIG_BT_MESH_PB_ADV            | 1      | 启用PB-ADV配网功能,启用后支持通过蓝牙广播进行配网           |
40| CONFIG_BT_MESH_PB_GATT           | 0      | 启用PB-GATT配网功能,启用后支持BLE GATT进行配网,通常需要支持手机来配网时,需要启用该功能 |
41| CONFIG_BT_MESH_SUBNET_COUNT      | 1      | 默认子网数量为1                                              |
42| CONFIG_BT_MESH_APP_KEY_COUNT     | 1      | 默认应用密钥数量为1                                          |
43| CONFIG_BT_MESH_MODEL_KEY_COUNT   | 1      | 默认Model可绑定密钥数量为1                                   |
44| CONFIG_BT_MESH_MODEL_GROUP_COUNT | 1      | 默认Model可绑定组地址数量为1                                 |
45| CONFIG_BT_MESH_CRPL              | 10     | 默认RPL缓存数量为10条                                        |
46| CONFIG_BT_MESH_MSG_CACHE_SIZE    | 10     | 默认底层消息缓存数量为10条                                   |
47| CONFIG_BT_MESH_ADV_BUF_COUNT     | 9      | 默认Mesh广播可用资源数为10                                   |
48| CONFIG_BT_MESH_TX_SEG_MSG_COUNT  | 1      | 默认并发消息发送数为1。如果同时发送消息超过该配置,将会返回错误。 |
49| CONFIG_BT_MESH_RX_SEG_MSG_COUNT  | 1      | 默认并发消息接收数为1。                                      |
50| CONFIG_BT_MESH_RX_SDU_MAX        | 72     | 默认最大消息收包长度72字节                                   |
51| CONFIG_BT_MESH_TX_SEG_MAX        | 6      | 默认消息可分包数位6。注意CONFIG_BT_MESH_TX_SEG_MAX 至少需要比 CONFIG_BT_MESH_ADV_BUF_COUNT 小3 |
52| CONFIG_BT_MESH_RELAY             | 0      | 启用Mesh Relay特性                                           |
53| CONFIG_BT_MESH_CTRL_RELAY        | 0      | 启用Mesh Controlled Relay特性                                |
54| CONFIG_BT_MESH_LOW_POWER         | 0      | 启用Mesh LPN特性                                             |
55| CONFIG_BT_MESH_FRIEND            | 0      | 启用Mesh Friend特性                                          |
56| CONFIG_BT_MESH_CFG_CLI           | 0      | 启用Mesh Configuration Client Model                          |
57| CONFIG_BT_MESH_HEALTH_CLI        | 0      | 启用Mesh Health Client Model                                 |
58| CONFIG_BT_MESH_SHELL             | 0      | 启用Mesh Shell调试命令                                       |
59| CONFIG_BT_MESH_DEBUG             | 0      | 启用Mesh调试功能,该配置打开后,下面的调试宏才有效           |
60| CONFIG_BT_MESH_DEBUG_NET         | 0      | 启用Mesh Network层调试                                       |
61| CONFIG_BT_MESH_DEBUG_BEACON      | 0      | 启用Mesh Beacon层调试                                        |
62| CONFIG_BT_MESH_DEBUG_CRYPTO      | 0      | 启用Mesh 加密层调试                                          |
63| CONFIG_BT_MESH_DEBUG_PROV        | 0      | 启用Mesh 配网层调试                                          |
64| CONFIG_BT_MESH_DEBUG_ACCESS      | 0      | 启用Mesh 接入层调试                                          |
65| CONFIG_BT_MESH_DEBUG_MODEL       | 0      | 启用Mesh Beacon层调试                                        |
66| CONFIG_BT_MESH_DEBUG_ADV         | 0      | 启用Mesh 广播层调试                                          |
67| CONFIG_BT_MESH_DEBUG_LOW_POWER   | 0      | 启用Mesh LPN层调试                                           |
68| CONFIG_BT_MESH_DEBUG_FRIEND      | 0      | 启用Mesh Friend层调试                                        |
69| CONFIG_BT_MESH_DEBUG_PROXY       | 0      | 启用Mesh 代理层调试                                          |
70| CONFIG_BT_MESH_DEBUG_SETTINGS    | 0      | 启用Mesh 存储调试                                            |
71
72# 接口
73
74本组件对外头文件位于components\ble_mesh\bt_mesh\core\inc\目录,通过#include <api/mesh.h>进行引用。其中API相关说明,参考《[MESH API](docs/mesh_api/MESH_Module_API.md)》文档
75
76# 示例
77
78应用示例参考Solutions中mesh_xxx相关示例程序。
79
80# 错误码
81
82MESH协议栈错误请参考 bt_errno.h 中定义
83
84HCI底层返回错误码参考 hci_err.h 中定义 BT_HCI_ERR_XXX
85
86# 运行资源
87
88不同方案下资源消耗参考
89
90| Solution              | Code size/Bytes | Ro data/Bytes | RW Data/Bytes | BSS/Bytes |
91| ---------------------------- | --------------- | ------------- | ------------- | --------- |
92| mesh_light_node_demo  | 55606           | 7605          | 2361          | 7128      |
93| mesh_switch_node_demo | 42196           | 4150          | 1837          | 4498      |
94| mesh_shell            | 53638           | 10412         | 1752          | 4242      |
95| genie_mesh_light_ctl  | 38438           | 3004          | 1277          | 2970      |
96| genie_mesh_node_ctl   | 38498           | 3032          | 1277          | 2970      |
97| genie_mesh_switches   | 38442           | 3004          | 1277          | 2970      |
98
99# 依赖资源
100
101- ble_host
102