更新时间:2024-07-30 03:09:39下载pdf
蓝牙 Mesh 设备开发包 是基于 TuyaOS 系统裁剪的适用于涂鸦蓝牙 Mesh 协议产品的开发包,开发包将设备配网、上下行数据通信、产测授权、固件 OTA 升级等接口进行封装,并提供标准 API。
您无需关心各芯片平台相关功能的具体实现,只需要基于 TuyaOS 提供的标准 API 进行产品开发,即可接入涂鸦开发者平台,完成设备智能化。
能力 | 说明 |
---|---|
初始化 | 了解初始化流程对于理解蓝牙 Mesh 设备的软件框架会有很大帮助。 初始化是指设备上电进入 main 函数之后,调用一系列接口,完成设备硬件环境的初始化、TuyaOS 软件的初始化、应用功能的初始化等工作。应用初始化的时候,您需要注意初始化的顺序,业务逻辑的初始化一般要放在蓝牙协议栈初始化之后,要尤其注意不同模块初始化的依赖条件。 |
授权 | 授权的目标是将普通的蓝牙设备转换为涂鸦的蓝牙设备。 授权的方式是将云端生成的设备标识信息写入到设备的非易失性存储器之中,一般为芯片的 Flash,用于后续设备正常运行时的设备认证和配网激活流程。可以通过代码内直接调用授权信息写入接口以及涂鸦烧录授权上位机下发授权信息,前者主要在调试阶段使用,后者主要在量产阶段使用。 |
产测 | 产测可以发现蓝牙设备在生产过程中可能出现的硬件问题,提高良品率。 根据产测阶段的不同,产测分为 PCBA 产测和成品产测:
|
能力 | 说明 |
---|---|
通信方式 | 根据不同的产品类型与应用场景,设备分为两种类型:
|
通信策略 | 当设备已经绑定到网关,同时被手机蓝牙连接时,此时从 App 内控制时优先选择网关 ADV 通信。只有当设备未绑定到网关,或者网关离线时,才会选择手机蓝牙控制。 |
网关绑定 | 设备支持绑定到一个网关下:
|
Proxy 能力 | Proxy 能力可以理解为手机的代理,通过与手机 GATT 连接通信,将手机的消息转换为 ADV 转发到 Mesh 网络中,解决了手机无法持续地扫描监听网络的缺点。 手机只需要连接一个 Proxy 节点,即可以与整个 Mesh 网络内的节点进行通信。 |
Relay 能力 | Relay 能力是将其他设备发的广播包进行转发,达到一个 Mesh 广播消息能够在网络内扩散的效果。 |
能力 | 说明 |
---|---|
配网方式 | 设备支持通过手机蓝牙配网与网关配网。手机通过 GATT 连接后下发网络信息,网关则通过 ADV 与设备进行通信。同时配网支持以下两种方式:
|
重置方式 | 设备重置的目标是把设备恢复到配网之前的状态,方便用户再次进行配网。 根据触发方式不同,分为本地重置和 App 重置。 |
设备网络恢复 | 设备本地重置后,如果再调用恢复接口,即可恢复到重置前的网络。 一般应用于设备本地重置场景,当由于人为误操作导致设备重置后,一段时间内未配网或者设备重新上电,即可恢复网络信息。 |
能力 | 说明 |
---|---|
DP 通信模型 | 涂鸦设备的控制是由 DP(Data Point)数据来承载的。网关与 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 上创建一系列的动作,在点击执行时顺序下发所有的控制命令。注意,对于 Mesh 网络不建议一键执行中连续下发多条命令,会导致网络风暴、并发冲突严重、丢包与延迟。 |
云端联动与网关联动 |
|
能力 | 说明 |
---|---|
时间获取 | 蓝牙 Mesh 设备可以在与手机建立连接或者绑定在网关下时向云端请求,可以获取到当前时间、经纬度等信息。 |
夏令时获取 | 蓝牙 Mesh 设备可以在与手机建立连接或者绑定在网关下时向云端请求,可以获取到进出夏令时的时间信息。 |
遥控器本地控制 | 遥控器设备可以在脱离 App 与网关的情况下,与设备进行绑定和控制。 |
本地分布式联动 | 本地联动不同于其他联动,是将规则配置到设备中。优点在于去中心化无需云端与网关。设备分为条件设备与动作设备,
|
可靠上报 | 使用可靠上报通道可以保证关键数据上报到达网关的成功率,针对不同的应用场景可以选择不同上报模式。 |
能力 | 说明 |
---|---|
GPIO | GPIO 驱动,提供调试例程:可以通过上位机控制任意 GPIO 输出高低电平,也可以查询任意 GPIO 的当前电平。 |
UART | UART 驱动,提供调试例程:可以通过上位机设置任意 UART 的波特率,也可以控制任意 UART 发送自定义数据。 |
PWM | PWM 驱动,提供调试例程:可以通过上位机设置任意通道 PWM 的频率和占空比,也可以控制任意通道 PWM 恢复初始状态。 |
ADC | ADC 驱动,提供调试例程:可以通过上位机读取任意 ADC 通道的数值/电压值,也可以修改 ADC 的分辨率。 |
SPI | SPI 驱动,提供调试例程:可以通过上位机控制任意 SPI 模块的 SDI 和 SDO 引脚互相发送自定义数据,也可以修改任意 SPI 模块的通信速率。 |
IIC | IIC 驱动,提供调试例程:可以通过上位机控制任意 IIC 模块点亮 OLED 屏幕,并显示自定义数据。 |
RTC | RTC 驱动,提供调试例程:可以通过上位机设置/查询设备的 RTC 时间,也可以控制 RTC 模块的启动/停止。 |
Watchdog | Watchdog 驱动,提供调试例程:可以通过上位机启动/关闭看门狗,可以开启/关闭自动喂狗功能,也可以通过上位机测试手动喂狗的功能。 |
能力 | 说明 |
---|---|
常规功耗设备 | 由于 Mesh 设备的 ADV 通信,要求设备必须保持扫描才能收到网络中的数据包,所以普通的 Mesh 设备的功耗是比较高的。不同的芯片平台有差异,大约范围在 5-8mA。 不同发射功率对整体功耗的影响不大,主要是扫描过程中,RF 射频部分产生的功耗以及 MCU 运行的功耗。所以芯片平台的射频工艺以及 MCU 的主频是影响常规设备功耗的主要因素。 |
超低功耗设备 | 设备一般在大部分时间都处于休眠状态,一般由定时器唤醒。或者外部中断触发唤醒后,有数据上报时才会保持较短的唤醒时间,完成数据采集与上报,之后快速进入休眠。休眠过程功耗一般在 10uA 以下。 注意,设备配网过程中,需要保持一段时间的唤醒状态。 |
蓝牙唤醒低功耗设备 | 设备在未工作时,保持周期性休眠唤醒,处于相对较低的功耗(1mA 以内)。当有发往此设备的消息时,设备在唤醒窗口内则可以接收到,之后保持较长时间(典型值 30s)的唤醒状态来接收接下来的控制数据。 此类低功耗策略一般用于电池较大,或者可以太阳能充电的产品。 |
单火类低功耗设备 | 设备保持周期性的休眠唤醒,但无法保持长时间的唤醒状态,所以设备接收的消息需要发送端做更多的重传处理,来覆盖设备的唤醒窗口。 此类设备一般只应用于单火开关类设备。 |
能力 | 说明 |
---|---|
蓝牙固件 OTA | 通过智能生活 App 或者网关,与设备建立 GATT 连接蓝牙设备,传输固件数据进行 OTA。支持断点续传、数据完整性校验、断电断网等异常处理能力。 |
批量 OTA | 通过网关批量选择多个设备同时进行升级。缺点在于时间较长,且升级过程中设备不可控制。此功能一般应用于大规模网络的批量固件更新,例如在夜晚或者设备不使用的时间内,进行批量静默更新。 |
在开发过程遇到问题,您可以登录 TuyaOS 开发者论坛 子设备开发版块 进行沟通咨询。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈