SILICON LABS 6.1.2.0 GA 蓝牙网状网络 SDK 说明
SILICON LABS 6.1.2.0 GA 蓝牙网状网络 SDK

蓝牙网状网络是一种适用于蓝牙低功耗 (LE) 设备的新拓扑,可实现多对多 (m:m) 通信。它针对创建大型设备网络进行了优化,非常适合楼宇自动化、传感器网络和资产跟踪。我们的蓝牙开发软件和 SDK 支持蓝牙 Mesh 和蓝牙 5.3 功能。开发人员可以将网状网络通信添加到 LE 设备,例如联网灯、家庭自动化和资产跟踪系统。该软件还支持蓝牙信标、信标扫描和 GATT 连接,因此蓝牙网状网络可以连接到智能手机、平板电脑和其他蓝牙 LE 设备。

此版本包含蓝牙网状网络规范版本 1.1 支持的功能。

这些发行说明涵盖 SDK 版本:

6.1.2.0 于 14 年 2024 月 XNUMX 日发布
6.1.1.0 于 2 年 2024 月 XNUMX 日发布
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 的链接时优化功能已被禁用,导致图像大小略有增加。

新品

新功能
在版本 6.0.1.0 中添加
SLC组件的变化:

除了 Provisioned 和 Provisioned 角色之外,还添加了第三个 BT Mesh 角色 - 自定义 BT Mesh 角色,应用程序可以自由实现自定义角色。例如amp例如,可以在运行时选择 Provisioned 或 Provisioned 角色。

在版本 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 客户端模型的用法。前任ample 不再控制场景(场景客户端)btmesh_soc_light 被重命名为 btmesh_soc_light_ctl
前任amp文件不再演示 LC 服务器模型和场景服务器、调度程序服务器和时间服务器模型 btmesh_soc_hsl 已重命名为 btmesh_soc_light_hslample 不再演示 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 Sc​​ene 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_occupancy_sensor_profile_成分数据元数据第 2 页 NLC 对 Occupancy Sensor Pro 的支持file btmesh_generic_level_client_ext 用于使用通用移动未确认消息和通用增量未确认消息扩展通用基础组件 ncp_btmesh_ae_server 用于为节点启用 Silabs 配置服务器供应商模型,以允许通过广告扩展进行数据传输 ncp_btmesh_ae_server 用于为节点启用 Silabs 配置客户端供应商模型。 ncp_btmesh_user_cmd 用于使用 BGAPI 用户消息、响应和事件演示 NCP 主机和 NCP 目标之间的通信。

新 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 void sl_btmesh_update_lightness(uint16_t lightness, uint32_t remaining_ms); btmesh_event_log 具有更细粒度的可配置性选项 btmesh_ctl_client 的 sl_btmesh_ctl_client.h 有一个 API 更改,而不是 void sl_btmesh_set_temperature(uint8_t new_color_temperature_percentage);
新的 APi 是 void sl_btmesh_ctl_client_set_temperature(uint8_ttemperature_percent); void 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.2.0 版中修复 

ID # 描述
1251498 修复了当照明消息(包括转换时间)导致日志中出现不正确的错误消息的问题。
1284204 修复了使用 sl_btmesh_node_power_off 命令时无法保存重放保护列表的问题。
1325267 当配置的写入间隔指数设置为零时,固定元素序列号写入。
1334927 修复了 GATT 代理服务器在资源匮乏期间接收数据时可能导致硬故障的问题。

已在 6.1.0.0 版中修复 

ID # 描述
1235337 使 GATT 服务发现在过载设备上更加稳健。
1247422 使供应商模型在过载设备上的接收更加稳健。
1252252 修复了当通用移动消息导致变暗时,可能会溢出到变暗的情况。
1254356 修复了朋友子系统取消初始化的回归。
1276121 修复了当嵌入式配置程序调用密钥刷新过程时 BGAPI 级别的应用程序密钥索引截断。

已在 6.0.1.0 版中修复 

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 快速入门指南。

安装和使用

蓝牙网状网络 SDK 是 Silicon Labs SDK 套件 Gecko SDK (GSDK) 的一部分。要快速开始使用 GSDK,请安装 Simplicity Studio 5,它将设置您的开发环境并指导您完成 GSDK 安装。 简单工作室 5 包括使用 Silicon Labs 设备进行 IoT 产品开发所需的一切,包括资源和项目启动器、软件配置工具、带有 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/ 上找到。

安全信息
安全保管库集成
此版本的堆栈与 Secure Vault 密钥管理集成。当部署到 Secure Vault High 设备时,网状加密密钥将使用 Secure Vault 密钥管理功能进行保护。下表显示了受保护的密钥及其存储保护特性。

钥匙 节点上的可导出性 Provisioner 上的可导出性 笔记
网络密钥 可导出 可导出 网络密钥的派生仅存在于 RAM 中,而网络密钥存储在闪存中
应用密钥 不可出口 可导出
设备密钥 不可出口 可导出 在 Provisioner 的情况下,应用于 Provisionerr 自己的设备密钥以及其他设备的密钥

标记为“不可导出”的密钥可以使用,但不能 view在运行时编辑或共享。

标记为“可导出”的密钥可以在运行时使用或共享,但在存储在闪存中时保持加密状态。

有关 Secure Vault 密钥管理功能的更多信息,请参阅 AN1271:安全密钥存储。

安全建议

要订阅安全公告,请登录 Silicon Labs 客户门户,然后选择帐户主页。 单击“主页”转到门户主页,然后单击“管理通知”磁贴。 确保选中“软件/安全咨询通知和产品变更通知 (PCN)”,并且您至少订阅了您的平台和协议。 单击保存以保存任何更改。

下图是examp乐:
安全建议

支持
开发套件客户有资格获得培训和技术支持。使用 Silicon Labs 蓝牙网状网络 web 页 获取有关所有 Silicon Labs 蓝牙产品和服务的信息,并注册产品支持。
联系 Silicon Laboratories 支持人员:http://www.silabs.com/support

简单工作室

符号
物联网产品组合 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 Laboratories Inc.®、Silicon Laboratories®、Silicon Labs®、SiLabs® 和 Silicon Labs 徽标®、Bluegiga®、Bluegiga Logo®、EFM®、EFM32®、EFR、Ember®、Energy Micro、Energy Micro 徽标及其组合、“全球最节能的微控制器”、Redpine Signals®、WiSeConnect、n-Link、EZLink®、EZRadio®、EZRadioPRO®、Gecko®、Gecko OS、Gecko OS Studio、Precision32®、Simplicity Studio®、Telegesis、Telegesis Logo®、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 West Cesar Chavez 美国德克萨斯州奥斯汀 78701

www.silabs.com

公司徽标

文件/资源

SILICON LABS 6.1.2.0 GA 蓝牙网状网络 SDK [pdf] 指示
6.1.2.0 GA 蓝牙 Mesh SDK、6.1.2.0 GA、蓝牙 Mesh SDK、Mesh SDK、SDK

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *