蓝牙 Beacon Mesh 设备开发包

更新时间:2024-04-17 06:14:48下载pdf

蓝牙 Beacon Mesh 设备开发包 是基于 TuyaOS 系统裁剪的适用于涂鸦蓝牙 Beacon Mesh 协议产品的开发包,开发包将设备配网、上下行数据通信、产测授权、固件 OTA 升级等接口进行封装,并提供标准 API。

您无需关心各芯片平台相关功能的具体实现,只需要基于 TuyaOS 提供的标准 API 进行产品开发,即可接入涂鸦 IoT 开发平台,完成设备智能化。

协议介绍

可接入涂鸦的蓝牙协议包括涂鸦 Mesh 协议(简称:单点连接控制)、SIG Mesh 协议、Beacon Mesh 协议。

协议分类 通信方式 典型特点 应用
Beacon Mesh 与手机或网关之间通过蓝牙广播进行通信 小数据包、近距离、超低速率、超低成本、小型网状网络 低成本门磁、PIR(Passive infrared)、温湿度传感器、低成本灯带、低成本墙面贴、遥控器、场景开关
涂鸦 Mesh 与手机或网关建立蓝牙连接进行通信 直连、低功耗、传输速率快 手环、手表、智能牙刷、智能体脂秤
SIG Mesh 遵循蓝牙 SIG 组织的 Mesh 标准的组网通信 网状网络、大规模群控 Mesh 灯具、商业照明、智能家居套件

资源需求

蓝牙 Beacon Mesh 协议相对于涂鸦 Mesh 和 SIG Mesh 非常精简,因此 SDK 特别适合直接移植到各种单点蓝牙、Beacon 芯片上,实现 SoC 级别的低成本应用。

蓝牙 Beacon Mesh SDK 特点:

  • 代码极简:总共约 1000 行 C 语言代码,可运行在 2K RAM + 16K ROM 的芯片上。
  • 支持跨平台:设计层面支持了跨硬件平台,只要实现 10 个以内的硬件和蓝牙广播相关函数,即可实现移植。
  • 功能完备:具备配对解绑、组包拆包、群组管理、多跳转发、加密解密、安全策略等丰富的 IoT 通信能力。

能力地图

设备管理

能力
说明
初始化 了解初始化流程对于理解蓝牙设备的软件框架会有很大帮助。
初始化是指设备上电进入 main 函数之后,调用一系列接口,完成设备硬件环境的初始化、TuyaOS 软件的初始化、应用功能的初始化等工作。应用初始化的时候,您需要注意初始化的顺序,业务逻辑的初始化一般要放在蓝牙协议栈初始化之后,要尤其注意不同模块初始化的依赖条件。
重置 设备重置的目标是把设备恢复到配网之前的状态,方便用户再次进行配网。
如果是本地重置,设备断电再上电能够自动恢复到之前的配网状态,用于误重置恢复。如果是手机移除,则认为不是误重置,设备断电上电后还是未配网状态。
授权 授权的目标是将普通的蓝牙设备转换为涂鸦的蓝牙设备。
授权的方式是将云端生成的设备标识信息写入到设备的非易失性存储器(一般为芯片的 Flash)之中,用于后续设备正常运行时的设备认证和配网激活流程。可以通过直接修改代码和上位机下发授权信息两种路径进行授权,前者主要在调试阶段使用,后者主要在量产阶段使用。
产测 产测可以发现蓝牙设备在生产过程中可能出现的硬件问题,提高良品率。
根据产测阶段的不同,产测分为 PCBA 产测和成品产测:
  • PCBA 产测可以通过串口跟蓝牙设备通信
  • 成品产测只能通过蓝牙无线连接的方式跟设备通信
从而检测设备的射频功能和外设功能是否正常。

功耗分级

能力
说明
常规功耗 常规功耗设备具备双向通信能力,可以帮助其他节点转发数据。
超低功耗 超低功耗节点一般用来做传感、遥控器等低功耗产品,此种类型产品在配网过程中需要保持收发,在配网之后在中断唤醒或周期性唤醒后,进行上报数据,然后立刻进入深度休眠(DeepSleep)状态。

网络能力

能力
说明
群组 一个 蓝牙 Beacon Mesh 网络,支持 0x0001-0x5FFF 个群组, 一个节点最多同时属于 8 个群组。
转发 配网后的命令上、下行支持转发,转发跳数为 3。
遥控 设备支持被 Beacon 遥控器对码控制,遥控器不用单独加入涂鸦 App,可以与已经配网或没有配网的被控设备进行对码控制。该功能是弱安全等级的,一般用于灯具、风扇、遥控车等产品:
  • 一个被控设备最多能同时被三个遥控器配对。
  • 一个遥控器最多有六个组和一个全控。
  • 一个设备已经被三个遥控器绑定时,又有个新的遥控器与其对码,最早与设备对码的那个遥控器会被自动解绑。
  • 遥控器的设备鉴权认证采用抽样代理认证策略。
升级 对于非 OTP(One Time Programmable)芯片,设备支持 OTA 升级:
  • OTA 升级采用广播方式,40KB 固件大约需要 10 分钟升级完成。
  • OTA 升级速度较慢,只支持在网关下升级,不支持手机直接升级。
  • OTA 升级采用双备份方式,能够保证设备在升级过程中由于异常情况不会永远不可用。但同时也会占用双倍的 Flash。
双链路 既可以通过手机本地添加新设备,也可以通过网关添加新设备。控制设备时,根据情况自动选择手机本地控制和网关控制。

设备驱动

能力
说明
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 驱动,提供调试例程:可以通过上位机启动/关闭看门狗,可以开启/关闭自动喂狗功能,也可以通过上位机测试手动喂狗的功能。

设备安全

能力
说明
安全体系 涂鸦自有算法通过连接认证、请求授权、指令下发等多重交互保障设备安全。涉及到的安全措施有:
  • 一机一密,每一个接入涂鸦的蓝牙芯片都会在出厂时烧录涂鸦分配的唯一授权信息,用于安全认证。
  • 采用一种与 AES128 类似的占用 Flash 和运算量小的加密算法。
  • 防重放,每条命令具备递增指令序列号。
  • 防拼接,每条指令有严格的自校验完整性算法。

支持与帮助

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