蓝牙 Mesh 能力地图

更新时间:2023-12-08 09:31:17下载pdf

TuyaOS 蓝牙 Mesh 开发框架就是基于 TuyaOS 的能力地图,按照蓝牙 Mesh 设备工作场景的能力需求,构建的不同规格的、适用于不同场景的 SDK 的集合。这些开发框架提供了统一的接口、丰富的组件能力,您无需关心具体的实现原理,调用接口函数即可快速开发产品功能,并提供了统一的开发体验。

TuyaOS 是基于组件化的概念设计的,提供基础服务、安全、网络服务中间件、丰富的物联网业务功能组件,这些功能组件构成了 TuyaOS 的能力地图。

架构图

蓝牙 Mesh 能力地图

能力列表

设备管理

能力
说明
初始化 了解初始化流程对于理解蓝牙 Mesh 设备的软件框架会有很大帮助。
初始化是指设备上电进入 main 函数之后,调用一系列接口,完成设备硬件环境的初始化、TuyaOS 软件的初始化和应用功能的初始化等工作。
应用初始化的时候,注意初始化的顺序,业务逻辑的初始化一般要放在蓝牙协议栈初始化之后,尤其注意不同模块初始化的依赖条件。
重置 设备重置的目标是把设备恢复到配网之前的状态,方便再次进行配网。
根据触发源不同,分为本地重置和 App 重置。
授权 授权的目标是将普通的蓝牙设备转换为涂鸦的蓝牙设备。
授权的方式是将涂鸦云端生成的设备标识信息写入到设备的非易失性存储器(一般为芯片的 Flash)之中,用于后续设备正常运行时的设备认证和配网激活流程。可以通过代码内直接调用授权信息写入接口以及涂鸦烧录授权上位机下发授权信息,前者主要在调试阶段使用,后者主要在量产阶段使用。

Mesh 配网与重置

能力
说明
配网方式 设备支持通过手机蓝牙配网与网关配网,手机通过 GATT 连接后下发网络信息,网关则通过 ADV 与设备进行通信。同时配网支持一下两种方式:
  • 蓝牙 Mesh 标准 Provision 方式,为蓝牙官方规范约束的一种安全配网方式。
  • 涂鸦自定义私有极速 Provision 方式,为使用涂鸦自定义 GATT 服务与 Vendor Model 自定义数据进行配网。相比蓝牙 Mesh 标准 Provision,支持批量设备的同时快速配网,提高设备的配网效率与成功率。
配网途径
  • 使用涂鸦 App 通过手机蓝牙连接设备后配网。
  • 通过蓝牙网关进行配网,网关通过蓝牙广播与设备通信配网。
重置方式 设备重置的目标是把设备恢复到配网之前的状态,方便客户再次进行配网。
蓝牙 Mesh SDK 提供两种重置方式:
  • MESH_NETWORK_RESET:设备重置且不可恢复。
  • MESH_NETWORK_RESET_WITH_RECOVER:设备重置且可恢复,设备重置后并未完全删除 Mesh 网络信息,使用恢复接口即可恢复到重置前的 Mesh 网络信息。
    用户在 App 上主动移除设备使用的是不可恢复方式,而设备本地移除时可以根据需求选择以上两种方式。
设备网络恢复 设备本地重置后,如果再调用恢复接口,即可恢复到重置前的网络。
一般应用于设备本地重置场景,当由于人为误操作导致设备重置后一段时间内未配网或者设备重新上电,即可恢复网络信息。

Mesh 网络通信

能力
说明
通信方式 根据不同的产品类型与应用场景,设备分为两种类型:
  • Mesh 设备支持 ADV 通信,以及建立蓝牙 LE 连接通过 Mesh Proxy GATT 服务通信。此类设备可同时支持手机蓝牙连接控制与网关广播控制。
  • Mesh 设备仅支持 ADV 通信,不支持与手机连接通信,此类设备只能支持与网关通信。
网关绑定 设备支持绑定到一个网关下,设备通过网关配网则默认绑定在配网的网关下。如果通过手机蓝牙配网,则需要在网关的面板内手动将设备绑定进去。
当网络内有多个网关时,用户可以在网关的面板内解绑或绑定设备,以实现设备自由绑定在指定的网关下。
Proxy 能力 Proxy 能力可以理解为手机的代理,通过与手机 GATT 连接通信,将手机的消息转换为 ADV 转发到 Mesh 网络中,解决了手机无法持续扫描监听网络的能力。
手机只需要连接一个 Proxy 节点,即可以与整个 Mesh 网络内的节点进行通信。
Relay 能力 Relay 能力是将其他设备发的广播包进行转发,使一个 Mesh 广播消息能够在网络通过中继到达更远距离的设备。

设备控制

能力
说明
DP 通信模型 涂鸦 IoT 开发平台 设备的控制都是由 DP 数据来承载的,蓝牙 Mesh 的产品同样使用 DP 来做基本的控制元素。网关与 App 会将 DP 模型数据转换为 Mesh 标准的 Model 与 opcode 数据。具体可参考 SDK 中的文档说明。
SIG Model 通信 目前涂鸦用到 Generic OnOff Model,以及 Light 相关的 Model,应用在照明与电工品类中。
Vendor Model 通信 透传品类全部使用 Vendor Model 来传递 DP 信息,标准品类中无法转换为标准 Mesh opcode 的 DP 数据也将使用 Vendor Model opcode 来传递 DP 数据。具体协议参考 SDK 中的文档说明。
控制通道优先级 当设备已经绑定到网关下同时被手机蓝牙连接时,此时从 App 内控制时优先走网关 ADV 通信。只有当设备未绑定到网关下或者网关离线时,控制才会走手机蓝牙控制。

基础服务

能力
说明
时间获取 蓝牙 Mesh 设备在与手机建立连接或者绑定在网关下时向云端请求,获取到当前时间、经纬度等信息。
夏令时获取 蓝牙 Mesh 设备在与手机建立连接或者绑定在网关下时向云端请求,获取到进出夏令时的时间信息。

高级服务

能力
说明
可靠上报 使用可靠上报通道,可以保证关键数据上报到达网关的成功率。针对不同的应用场景,可以选择不同上报模式。
Mesh 高级能力 1 包括带 TID 下发以及设备状态查询回复打包方案。

设备驱动

能力
说明
GPIO GPIO 驱动,提供调试例程:可以通过上位机控制任意 GPIO 输出高低电平,也可以查询任意 GPIO 的当前电平。
UART UART 驱动,提供调试例程:可以通过上位机设置任意 UART 的波特率,也可以控制任意 UART 发送自定义数据。
PWM PWM 驱动,提供调试例程:可以通过上位机设置任意通道 PWM 的频率和占空比,也可以控制任意通道 PWM 恢复初始状态。
ADC ADC 驱动,提供调试例程:可以通过上位机读取任意 ADC 通道的数值/电压值,也可以修改 ADC 的分辨率。
SPI SPI 驱动,提供调试例程:可以通过上位机控制任意 SPI 模块的 SDI 和 SDO 引脚互相发送自定义数据,也可以修改任意 SPI 模块的通信速率。
I2C I2C 驱动,提供调试例程:可以通过上位机控制任意 I2C 模块点亮 OLED 屏幕,并显示自定义数据。
RTC RTC 驱动,提供调试例程:可以通过上位机设置/查询设备的 RTC 时间,也可以控制 RTC 模块的启动/停止。
Watchdog Watchdog 驱动,提供调试例程:可以通过上位机启动/关闭看门狗,可以开启/关闭自动喂狗功能,也可以通过上位机测试手动喂狗的功能。

设备功耗

能力
说明
常规功耗设备 由于 Mesh 设备的 ADV 通信要求设备必须保持 Scan 才能收到网络中的数据包,所以普通的 Mesh 设备的功耗是比较高的,不同的芯片平台有差异,大约范围在 5-8mA。
不同发射功率对整体功耗的影响不大,主要是 Scan 过程中 RF 射频部分产生的功耗以及 MCU 运行的功耗。所以芯片平台的射频工艺以及 MCU 的主频是影响常规设备功耗的主要因素。
超低功耗设备 设备一般在大部分时间都处于休眠状态,一般由 Timer 唤醒或者外部中断触发唤醒后有数据上报时,才会保持较短的唤醒时间完成数据采集与上报,之后快速进入休眠。休眠过程功耗一般在 10μA 以下。
设备配网过程则需要保持一段时间的唤醒状态。

升级服务

能力
说明
蓝牙固件 OTA 通过涂鸦智能 App/网关与设备建立 GATT 连接,蓝牙设备传输固件数据进行 OTA,支持断点续传、数据完整性校验、断电断网等异常处理能力。

设备配件

能力
说明
Mesh 遥控器控制 遥控器设备可以在脱离 App 与网关的情况下,与设备进行绑定和控制。
蓝牙 Beacon 遥控器控制 支持用户已有蓝牙 LE 遥控器控制,设备可以接收并处理自定义蓝牙广播数据,从而实现遥控器对设备的控制。

支持与帮助

在开发过程遇到问题,您可以登录 TuyaOS 开发者论坛 TuyaOS-子设备开发版块 进行沟通咨询。