蓝牙®网状网络 SDK 6.1.0.0 GA
Gecko SDK 套件 4.4
10 年 2024 月 XNUMX 日
蓝牙Mesh SDK 6.1.0.0 GA芯片
蓝牙网状网络是一种适用于蓝牙低功耗 (LE) 设备的新拓扑,可实现多对多 (m:m) 通信。它针对创建大型设备网络进行了优化,非常适合楼宇自动化、传感器网络和资产跟踪。我们的蓝牙开发软件和 SDK 支持蓝牙 Mesh 和蓝牙 5.3 功能。开发人员可以将网状网络通信添加到 LE 设备,例如联网灯、家庭自动化和资产跟踪系统。该软件还支持蓝牙信标、信标扫描和 GATT 连接,因此蓝牙网状网络可以连接到智能手机、平板电脑和其他蓝牙 LE 设备。
此版本包含蓝牙网状网络规范版本 1.1 支持的功能。
这些发行说明涵盖 SDK 版本:
6.1.0.0 于 10 年 2024 月 XNUMX 日发布
6.0.1.0 于 14 年 2024 月 XNUMX 日发布
6.0.0.0 于 13 年 2023 月 XNUMX 日发布
![]()
主要特色
- Mesh 1.1 的合格实施
- 添加了网络照明控制(NLC)专业版files
兼容性和使用声明
有关安全更新和通知的更多信息,请参阅与此 SDK 一起安装的 Gecko 平台发行说明中的“安全”一章或位于 Silicon Labs 发行说明页面。 Silicon Labs 还强烈建议您订阅安全公告以获取最新信息。有关说明,或者如果您是 Silicon Labs 蓝牙网状 SDK 的新手,请参阅使用此版本。
兼容的编译器:
IAR Embedded Workbench for ARM (IAR-EWARM) 版本 9.40.1
- 在 macOS 或 Linux 上使用 wine 通过 IarBuild.exe 命令行实用程序或 IAR Embedded Workbench GUI 构建可能会导致错误 file由于 wine 生成 short 的散列算法中的冲突,s 被使用 file 名字。
- 建议使用 macOS 或 Linux 的客户不要在 Simplicity Studio 之外使用 IAR 进行构建。 这样做的客户应该仔细核实正确的 file正在使用。
GCC(GNU 编译器集合)版本 12.2.1,随 Simplicity Studio 提供。
- GCC 的链接时优化功能已被禁用,导致图像大小略有增加。
新品
此版本的 Gecko SDK (GSDK) 将是最后一个版本,综合支持所有 EFM 和 EFR 设备(根据需要对此版本进行补丁除外)。从 2024 年中期开始,我们将引入单独的 SDK:
- 现有的 Gecko SDK 将继续支持系列 0 和 1 设备。
- 新的 SDK 将专门针对系列 2 和系列 3 设备。
Gecko SDK 将继续支持所有系列 0 和 1 设备,并且我们的软件政策下提供的长期支持、维护、质量和响应能力不会发生变化。
新的 SDK 将从 Gecko SDK 分支出来,并开始提供新功能,帮助开发者获得优势tag我们的 2 和 3 系列产品的先进功能。
这一决定与客户反馈一致,反映了我们致力于提高质量、确保稳定性和增强性能,以在我们的软件 SDK 中提供卓越的用户体验。
1.1 新功能
在版本 6.0.1.0 中添加
SLC组件的变化:
除了配置者和配置者角色之外,还添加了第三个 BT Mesh 角色 - 自定义 BT Mesh 角色,应用程序可以自由地实现自定义角色。对于前amp在该文件中,可以在运行时选择 Provisioner 或 Provisionee 角色。
在版本 6.0.0.0 中添加
新的网络照明控制 (NLC) examp乐应用程序:
btmesh_soc_nlc_basic_lightness_controller 用于演示 BT Mesh NLC Basic Lightness Controller Profile
btmesh_soc_nlc_basic_scene_selector 用于演示 BT Mesh NLC 基本场景选择器 Profile
btmesh_soc_nlc_dimming_control 用于演示 BT Mesh NLC 调光控制器 Profile
btmesh_soc_nlc_sensor_ambient_light 用于演示 BT Mesh NLC 环境光传感器 Profile
btmesh_soc_nlc_sensor_ocupancy 用于演示 BT Mesh NLC Occupancy Sensor Profile (人数统计)
前任的变化amp乐应用程序:
btmesh_soc_sensor_server 被删除,其功能被分为 3 个 examp莱斯:
- btmesh_soc_sensor_thermometer 用于使用温度计演示传感器服务器模型
- btmesh_soc_nlc_sensor_ocupancy 用于演示 BT Mesh NLC Occupancy Sensor Profile (人数统计)
- btmesh_soc_nlc_sensor_ambient_light 用于演示 BT Mesh NLC 环境光传感器 Profile
btmesh_soc_switch 已重命名为 btmesh_soc_switch_ctl,其目的是演示 Light CTL 客户端模型的用法。前任amp文件不再控制场景(场景客户端)
btmesh_soc_light 更名为 btmesh_soc_light_ctl
前任amp文件不再演示 LC 服务器模型和场景服务器、调度程序服务器和时间服务器模型
btmesh_soc_hsl 已重命名为 btmesh_soc_light_hsl
前任amp文件不再演示 LC 服务器模型和场景服务器、调度程序服务器和时间服务器模型
所有前任的变化amp乐应用程序:
DFU 映像更新由 Python 脚本生成,而不是 create_bl_file.bat/.sh files
为所有 ex 添加了对网格组合数据页 1、2、128、129、130 的支持amp文件,这些页面是由 BT Mesh Configurator 工具自动生成的。
新的 SLC 组件:
btmesh_nlc_basic_lightness_controller 用于演示 BT Mesh NLC Basic Lightness Controller Profile
btmesh_nlc_basic_lightness_controller_profile_构图数据元数据第 2 页 NLC 对 Basic Lightness Controller Pro 的支持file
btmesh_nlc_basic_scene_selector 用于演示 BT Mesh NLC 基本场景选择器 Profile
btmesh_nlc_basic_scene_selector_profile_构图数据元数据第 2 页 NLC 对 Basic Scene Selector Pro 的支持file
btmesh_nlc_dimming_control 用于演示 BT Mesh NLC 调光控制器 Profile
btmesh_nlc_dimming_control_profile_成分数据元数据第 2 页 NLC 对 Dimming Controller Pro 的支持file
btmesh_nlc_ambient_light_sensor 用于演示 BT Mesh NLC 环境光传感器 Profile
btmesh_nlc_ambient_light_sensor_profile_构图数据元数据第 2 页 NLC 对环境光传感器 Pro 的支持file
btmesh_nlc_ocupancy_sensor 用于演示 BT Mesh NLC Occupancy Sensor Profile (人数统计)
btmesh_nlc_ocupancy_sensor_profile_成分数据元数据第 2 页 NLC 对 Occupancy Sensor Pro 的支持file
btmesh_generic_level_client_ext 用于使用通用移动未确认和通用增量未确认消息扩展通用基础组件
ncp_btmesh_ae_server 用于启用节点的 Silabs 配置服务器供应商模型,以允许通过广告扩展进行数据传输
ncp_btmesh_ae_server 用于为节点启用 Silabs Configuration Client 供应商模型。
ncp_btmesh_user_cmd 用于使用 BGAPI 用户消息、响应和事件演示 NCP 主机和 NCP 目标之间的通信。
1.2 新API
在版本 6.1.0.0 中添加
BGAPI 补充:
新命令已添加到节点类中,以将扫描响应数据与 Mesh 配置和 Mesh 代理服务通告相关联。与 Mesh 代理服务广告关联的扫描响应数据可以为每个网络密钥单独设置,因此它可以包含使用该密钥加密的数据,但由应用程序来管理。新命令是:
- sl_btmesh_node_set_proxy_service_scan 响应:设置代理服务通告的扫描响应数据
- sl_btmesh_node_clear_proxy_service_scan_response:清除代理服务广告的扫描响应数据
- sl_btmesh_node_set_provisioning_service_scan 响应:设置配置服务通告的扫描响应数据
- sl_btmesh_node_clear_provisioning_service_scan_response:清除配置服务广告的扫描响应数据
供应商模型类中添加了一个新命令来设置模型行为选项。目前有一个选项控制是否从堆中为每个供应商模型分配工作缓冲区以用于消息接收报告。默认值 (1) 分配一个缓冲区,当设备处于高负载时,这会增加事件报告的弹性,但会占用额外的堆内存。
新命令是:
- sl_btmesh_vendor_model_set_option:设置供应商模型行为选项
新命令已添加到诊断类中以报告与友谊相关的事件。新命令是:
- sl_btmesh_diagnostic_enable_friend:启用与友谊相关的诊断事件的生成
- sl_btmesh_diagnostic_disable_friend:禁用生成与友谊相关的诊断事件
- sl_btmesh_diagnostic_get_friend:检索与友谊相关的诊断计数器
添加到诊断类的新事件如下:
- sl_btmesh_diagnostic_friend_queue:消息被添加到友谊消息队列的事件
- sl_btmesh_diagnostic_friend_relay:消息被中继到 LPN 的事件
- sl_btmesh_diagnostic_friend_remove:消息从好友消息队列中删除的事件
在版本 6.0.0.0 中添加
SLC组件的变化:
ncp_btmesh_dfu 组件的 ncp_btmesh_dfu.h 有一个新的 API
void sl_btmesh_ncp_dfu_handle_cmd(void *data, bool *cmd_handled);
btmesh_provisioning_decorator 组件在配置失败后不会重新启动配置
btmesh_lighting_server 的 sl_btmesh_lighting_server.h 有一个新的 API
无效sl_btmesh_update_lightness(uint16_t亮度,uint32_t剩余_ms);
btmesh_event_log 具有更细粒度的可配置选项
btmesh_ctl_client 的 sl_btmesh_ctl_client.h 有 API 更改
而不是
无效 sl_btmesh_set_Temperature(uint8_t new_color_Temperature_percentage);
新的 APi 是
无效 sl_btmesh_ctl_client_set_温度(uint8_t 温度_百分比);
无效 sl_btmesh_ctl_client_set_lightness(uint8_t lightness_percent);
BGAPI 补充:
添加了用于设备诊断的新 BGAPI 类。它为应用程序提供了 Mesh 堆栈统计计数器以及基于事件的网络 PDU 中继和代理报告,可以根据需要激活和停用。
诊断类中的 BGAPI 命令为:
- sl_btmesh_diagnostic_init:初始化诊断组件
- sl_btmesh_diagnostic_deinit:取消初始化诊断组件
- sl_btmesh_diagnostic_enable_relay:启用网络 PDU 中继/代理活动的基于事件的报告
- sl_btmesh_diagnostic_disable_relay:禁用网络 PDU 中继/代理活动的基于事件的报告
- sl_btmesh_diagnostic_get_relay:获取迄今为止中继/代理网络 PDU 的数量
- sl_btmesh_diagnostic_get_statistics:获取网格堆栈统计计数器
- sl_btmesh_diagnostic_clear_statistics:零网格堆栈统计计数器
诊断类中的BGAPI事件是:
- sl_btmesh_diagnostic_relay:报告网络 PDU 已由堆栈中继或代理的事件
改进
在版本 6.1.0.0 中更改
用于检索统计信息的诊断类 BGAPI 命令已更改为检索数据块,而不是一次检索所有数据。调用者应该提供它请求的块的大小以及统计数据中块的偏移量,并且在给定请求约束的情况下,调用将返回尽可能多的数据。
在版本 6.0.0.0 中更改
配置器或节点现在可以使用配置客户端模型及其自己的主地址作为消息的目的地来配置自身。这可以通过测试 BGAPI 命令来替代自配置。
代码优化可能会导致固件映像比以前稍小,具体取决于所使用的功能集。
代码优化可能会导致 RAM 使用量比以前稍小,具体取决于所使用的功能集。
Mesh 堆栈不再需要或支持已弃用的 BLE 广告器和扫描器组件。相反,它使用每个版本的当前版本(用于非扩展广告的旧广告商和旧扫描仪,以及用于扩展广告的扩展广告商和扩展扫描仪)。同时使用 BLE 和 Mesh BGAPI 的应用程序也不应再使用已弃用的 BLE 广告器和扫描器组件。
修正问题
已在 6.1.0.0 版中修复
| ID # | 描述 |
| 1235337 | 使 GATT 服务发现在过载设备上更加稳健。 |
| 1247422 | 使供应商模型在过载设备上的接收更加稳健。 |
| 1251498 | 修复了照明消息(包括转换时间)导致日志中出现错误消息的问题。 |
| 1252252 | 修复了当通用移动消息导致变暗时,可能会溢出到变暗的情况。 |
| 1254356 | 修复了朋友子系统取消初始化的回归。 |
| 1276121 | 修复了当嵌入式配置程序调用密钥刷新过程时 BGAPI 级别的应用程序密钥索引截断。 |
已在 6.0.0.1 版中修复
| ID # | 描述 |
| 1226000 | 扩展Provisioner BGAPI功能,用于检查节点身份,还可以检查私有节点身份。 |
| 1206620 | 修复了高负载期间缺少 BGAPI 事件导致的问题,以纠正固件验证问题。 |
| 1230833 | 修复了朋友子系统取消初始化的问题,以便重新初始化无需重置设备即可进行。 |
| 1243565 | 修复了配置程序初始化失败时可能发生的崩溃,例如ample 因为 DCD 格式错误。 |
| 1244298 | 修复了场景客户端模型的注册状态事件中虚假额外八位字节的报告。 |
| 1243556 | 删除了 BT Mesh 应用程序组件的自动节点初始化。现在,所有组件也可以在 Provisioner 角色中使用。 |
已在 6.0.0.0 版中修复
| ID # | 描述 |
| 360955 | 第一和第二注意定时器事件之间的间隔可以不是一秒。 |
| 1198887 | 所有子网的专用信标随机广告商地址都是相同的,但它应该不同。 |
| 1202073 | Btmesh_ncp_empty 前ample 在带有 GCC 编译器的 BRD4182 上没有足够的 RAM。 |
| 1202088 | Btmesh_soc_switch 前amp使用 IAR 编译器时,BRD4311 和 BRD4312 上的文件没有足够的 RAM |
| 1206714 | 当子网添加到代理服务器时,代理服务器应通过代理连接发出信标 |
| 1206715, 1211012, 1211022 |
当支持远程配置时,配置服务器模型以及大型组合数据服务器模型中应支持设备组合数据页 2、129 和 130 |
| 1211017 | 当全球和本地位置都已知时,应定期发布位置信息 |
| 1212373 | 打开和关闭数百个代理连接后代理连接处理中的资源泄漏 |
| 1212854 | 到 LPN 的拉模式 MBT 传输未成功完成 |
| 1197398, 1194443 |
DFU 分发器应用程序目前无法成功处理超过 60 个节点 |
| 1202088 | Btmesh_soc_switch_ctl examp文件可在所有带有 IAR 编译器的板上进行编译。 |
当前版本中的已知问题
粗体显示的问题是自上一版本以来添加的。
| ID # | 描述 | 解决方法 |
| 401550 | 没有分段消息处理失败的 BGAPI 事件。 | 应用程序需要从超时/缺少应用层响应来推断失败;对于供应商模型,已提供 API。 |
| 454059 | KR过程结束时会产生大量的密钥刷新状态变化事件,这可能会淹没NCP队列。 | 增加项目中的 NCP 队列长度。 |
| 454061 | 与往返延迟测试中的 1.5 相比,观察到性能略有下降。 | |
| 624514 | 如果所有连接均处于活动状态且 GATT 代理正在使用,则重新建立可连接广告时会出现问题。 | 多分配一个比需要的连接。 |
| 841360 | 通过 GATT 承载的分段消息传输性能较差。 | 确保底层BLE连接的Connection间隔较短;确保 ATT MTU 足够大以适合全网状 PDU;调整最小连接事件长度以允许每个连接事件传输多个 LL 数据包。 |
| 1121605 | 舍入错误可能会导致计划的事件在与预期略有不同的时间触发。 | |
| 1226127 | 主机配置者前amp当开始配置第二个节点时,文件可能会被卡住。 | 在配置第二个节点之前重新启动主机配置程序应用程序。 |
| 1204017 | 分发服务器无法处理并行的自我固件更新和固件上传。 | 不要并行运行固件自我更新和固件上传。 |
弃用的项目
在版本 6.0.0.0 中已弃用
BGAPI 命令 sl_btmesh_node_get_networks() 已被弃用。请改用 sl_btmesh_node_key_key_count() 和 sl_btmesh_node_get_key()。
BGAPI 命令 sl_btmesh_test_set_segment_send_delay() 和 sl_btmesh_test_set_sar_config() 已被弃用。请改用 sl_btmesh_sar_config_set_sar_transmitter() 和 sl_btmesh_sar_config_server_set_sar_receiver() 。
已移除商品
在版本 6.0.0.0 中删除
BGAPI 命令 sl_btmesh_test_set_local_config() 和 sl_btmesh_test_get_local_config() 已被删除。
BGAPI 命令 sl_btmesh_node_get_statistics() 和 sl_btmesh_node_clear_statistics() 已被删除。
使用此版本
此版本包含以下内容
- Silicon Labs 蓝牙网状网络堆栈库
- 蓝牙网状网络amp应用程序
如果您是首次使用,请参阅 QSG176:Silicon Labs 蓝牙 Mesh SDK v2.x 快速入门指南。
7.1 安装使用
蓝牙网状网络 SDK 作为 Silicon Labs SDK 套件 Gecko SDK (GSDK) 的一部分提供。要快速开始使用GSDK, 安装 Simplicity Studio 5,这将设置您的开发环境并引导您完成 GSDK 安装。 Simplicity Studio 5 包含使用 Silicon Labs 设备开发物联网产品所需的一切,包括资源和项目启动器、软件配置工具、带有 GNU 工具链的完整 IDE 以及分析工具。在线提供安装说明 Simplicity Studio 5 用户指南.
或者,可以通过从 GitHub 下载或克隆最新版本来手动安装 Gecko SDK。 看 https://github.com/SiliconLabs/gecko_sdk 了解更多信息。
Simplicity Studio 5.3 及更高版本中的 GSDK 默认安装位置已更改。
- Windows:C:\用户\ \SimplicityStudio\SDKs\gecko_sdk
- MacOS:/用户/ /SimplicityStudio/SDKs/gecko_sdk
特定于 SDK 版本的文档随 SDK 一起安装。附加信息通常可以在 知识库文章 (KBA)。有关此版本和早期版本的 API 参考和其他信息可在 https://docs.silabs.com/.
7.2 安全信息
安全保管库集成
此版本的堆栈与 Secure Vault 密钥管理集成。当部署到 Secure Vault High 设备时,网状加密密钥将使用 Secure Vault 密钥管理功能进行保护。下表显示了受保护的密钥及其存储保护特性。
| 钥匙 | 节点上的可导出性 | Provisioner 上的可导出性 | 笔记 |
| 网络密钥 | 可导出 | 可导出 | 网络密钥的派生仅存在于 RAM 中,而网络密钥存储在闪存中 |
| 应用密钥 | 不可出口 | 可导出 | |
| 设备密钥 | 不可出口 | 可导出 | 在 Provisioner 的情况下,应用于 Provisionerr 自己的设备密钥以及其他设备的密钥 |
标记为“不可导出”的密钥可以使用,但不能 view在运行时编辑或共享。
标记为“可导出”的密钥可以在运行时使用或共享,但在存储在闪存中时保持加密状态。
有关 Secure Vault 密钥管理功能的更多信息,请参阅 AN1271:安全密钥存储.
安全建议
要订阅安全公告,请登录 Silicon Labs 客户门户,然后选择帐户主页。 单击“主页”转到门户主页,然后单击“管理通知”磁贴。 确保选中“软件/安全咨询通知和产品变更通知 (PCN)”,并且您至少订阅了您的平台和协议。 单击保存以保存任何更改。
![]()
7.3 支持
开发套件客户有资格获得培训和技术支持。使用 Silicon Labs 蓝牙网状网络 web 页 获取有关所有 Silicon Labs 蓝牙产品和服务的信息,并注册产品支持。
联系 Silicon Laboratories 支持人员: http://www.silabs.com/support.
简单工作室
一键访问 MCU 和无线工具、文档、软件、源代码库等。 适用于 Windows、Mac 和 Linux!
![]()
www.silabs.com/物联网 |
www.silabs.com/simplicity |
www.silabs.com/quality |
www.silabs.com/community |
免责声明
Silicon Labs 致力于为客户提供所有外设和模块的最新、准确且详尽的文档,供使用或打算使用 Silicon Labs 产品的系统和软件实施者使用。特性数据、可用模块和外设、内存大小和内存地址均指每个特定设备,所提供的“典型”参数在不同应用中可能会有所不同。应用示例amp本文描述的文件仅用于说明目的。 Silicon Labs 保留对本文中的产品信息、规格和描述进行更改的权利,恕不另行通知,并且不对所包含信息的准确性或完整性提供保证。出于安全或可靠性原因,Silicon Labs 可能会在制造过程中更新产品固件,恕不另行通知。此类更改不会改变产品的规格或性能。对于使用本文档中提供的信息所造成的后果,Silicon Labs 不承担任何责任。本文件并不暗示或明确授予设计或制造任何集成电路的任何许可。未经 Silicon Labs 具体书面同意,这些产品未设计或授权用于任何 FDA III 类设备、需要 FDA 上市前批准的应用或生命支持系统。 “生命支持系统”是指旨在支持或维持生命和/或健康的任何产品或系统,如果出现故障,可以合理预期会导致重大人身伤害或死亡。 Silicon Labs 产品并非为军事应用而设计或授权。 Silicon Labs 产品在任何情况下均不得用于大规模杀伤性武器,包括(但不限于)核武器、生物武器或化学武器,或能够运载此类武器的导弹。 Silicon Labs 不承担所有明示和默示的保证,并且对于因在此类未经授权的应用程序中使用 Silicon Labs 产品而造成的任何伤害或损害不承担任何责任。
笔记: 此内容可能包含攻击性术语,但现已过时。 Silicon Labs 将尽可能使用包容性语言替换这些术语。欲了解更多信息,请访问 www.silabs.com/about-us/inclusive-lexicon-project
商标信息
Silicon Laboratories Inc.®、Silicon Laboratories®、Silicon Labs®、SiLabs® 和 Silicon Labs 徽标®、Bluegiga®、Bluegiga 徽标®、EFM®、EFM32®、EFR、Ember®、Energy Micro、Energy Micro 徽标及其组合、“全球最节能的微控制器”、Redpine Signals®、WiSeConnect、n-Link、ThreadArch®、EZLink®、EZRadio®、EZRadioPRO®、Gecko®、Gecko OS、Gecko OS Studio、Precision32®、Simplicity Studio®、Telegesis、Telegesis 徽标®、USBXpress®、Zentri、Zentri 徽标和 Zentri DMS、Z-Wave® 等是 Silicon Labs 的商标或注册商标。ARM、CORTEX、Cortex-M3 和 THUMB 是 ARM Holdings 的商标或注册商标。Keil 是 ARM Limited 的注册商标。 Wi-Fi 是 Wi-Fi Alliance 的注册商标。本文提及的所有其他产品或品牌名称均为其各自所有者的商标。
硅实验室公司
400 西塞萨尔查韦斯
德克萨斯州奥斯汀 78701
美国
www.silabs.com
文件/资源
![]() |
SILICON LABS 蓝牙 Mesh SDK 6.1.0.0 GA 芯片 [pdf] 使用说明书 蓝牙Mesh SDK 6.1.0.0 GA芯片,Mesh SDK 6.1.0.0 GA芯片,SDK 6.1.0.0 GA芯片,芯片 |

