Wi-Fi + 蓝牙双模设备开发包

更新时间:2024-06-25 06:24:47下载pdf

概述

Wi-Fi + 蓝牙双模设备开发包是基于 TuyaOS 系统裁剪得到的适用于 Wi-Fi + 蓝牙协议产品开发的开发包。开发包包含了设备配网、激活、安全、连接云端、设备控制、OTA 等核心能力,并提供相关函数。您无需关心各 Wi-Fi + 蓝牙芯片平台的设备功能的具体实现方式,只需要按照开发包提供的标准 API 进行适配,即可实现接入涂鸦开发者平台,完成设备智能化。

开发包特性

Wi-Fi + 蓝牙设备开发包和 Wi-Fi 设备开发包的差异主要是对蓝牙的支持,包括蓝牙的配网、控制、遥控等能力。

资源需求

Wi-Fi + 蓝牙设备开发包代码体积约占 250K 的 ROM 空间,正常运行需要约 50K RAM 空间。开发包根据不同芯片平台的占用情况不同,内存占用情况也差异较大。

能力地图

设备管理

能力
说明
初始化 初始化是指设备上电、启动之后,调用一系列接口,完成设备硬件环境的初始化、TuyaOS 软件的初始化、应用功能初始化等工作。应用初始化的时候,开发者需要根据自己的产品形态,提供一些回调函数,用于处理 TuyaOS 内部的状态变化、控制操作、升级等工作。
重置 设备重置是把设备恢复到配网、激活之前状态的操作。根据触发源不同,可以分为本地重置和 App 重置。根据重置后设备所处的状态,又可细分为普通重置(解除绑定)和恢复出厂重置(解绑并清除数据)。
授权 授权是通过将涂鸦产生的设备标识信息写入到设备的不易失存储期间之中,用于后续设备正常运行时的设备认证。授权方式有通过代码的方式授权和通过工具的方式授权,前者主要在调试阶段使用,后者主要在量产生成时使用。

配网和激活

能力
说明
AP 配网 通过设备生成一个 Wi-Fi AP 热点,App 连接此热点,建立 TLS 加密通道,传输配网路由器的 SSID、passwd 以及激活 Token。设备在获取到 SSID、passwd 之后,会去连接路由器,并使用授权信息和 Token,向云端进行设备认证、激活的操作。
闪电配网 通过同一 App 下,已经配网的 Wi-Fi 设备(server),使用 Wi-Fi beacon/prob request/prob response 帧,和待配网(client)的 Wi-Fi 设备之间进行发现、协商秘钥、建立连接,传输 SSID、passwd 以及激活 Token。待配网设备在获取到 SSID、passwd 之后,会去连接路由器,并使用授权信息和 Token,向云端进行设备认证、激活的操作。
蓝牙配网 通过设备发送蓝牙广播,App 通过广播发现此设备,进行蓝牙配对、秘钥交换、连接,传输配网路由器的 SSID、passwd 以及激活 Token。设备在获取到 SSID、passwd 之后,会去连接路由器,并使用授权信息和 Token,向云端进行设备认证、激活的操作。
用户自定义配网 获取 SSID、passwd 的方式有很多种方式,如音频、视频、NFC 等。TuyaOS 提供了一个接口,用于写入开发者使用自己定义的形式获取到的 SSID、passwd 以及激活 Token。在传入 SSID、passwd 和 Token 之后,设备会去连接路由器,并使用授权信息和 Token,向云端进行设备认证、激活。
蓝牙无网络激活(Plug&Play) 在没有 Wi-Fi 网络的场景下,App 通过蓝牙连接设备,获取设备信息,然后代理设备向云端端激活。使得设备在没有 Wi-Fi 路由器的场景下,可以临时作为一个单点蓝牙设备使用。
注意:设备在被蓝牙无网络激活的时候,仅能做简单的控制,和云端相关的能力都是缺失的。
AP 无网络激活 在没有 Wi-Fi 网络的场景下,App 扫描设备上的二维码,获取设备信息,然后代理设备向云端端激活。使得设备在没有 Wi-Fi 路由器的场景下正常使用。
设备配网模式 设备上电、进入配网模式但未配网(短期未配网防误触、长期未配网低功耗)、配网后重置等情况下,设备的具体行为在不同的场景下有不同的需求,为了满足这些场景下的需求,涂鸦定义了 6 种设备配网模式,适用于不同类型的产品。
Wi-Fi 备份 通过 App 配置备用的 SSID、passwd 给设备,在当前连接的路由器断开之后,会自动连接备份 SSID、passwd 列表中信号最好的路由器,避免进行重新配网。

设备控制

能力
说明
DP 模型&控制协议 TuyaOS 设备模型描述,通过设备模型可以对设备进行控制。
局域网控制 当 App 和设备位于同一个局域网内,可以通过局域网协议对设备进行控制。
蓝牙控制 当 App 位于设备附近,且设备处于离线状态,可以通过蓝牙协议对设备进行控制。
控制通道优先级 不同类型的设备使用场景不同,可以根据产品的需求,调整 Wi-Fi WAN、Wi-Fi LAN、蓝牙的控制的优先级,默认优先级,Wi-Fi LAN 高于 Wi-Fi WAN 高于蓝牙。

基础服务

能力
说明
安全存储 TuyaOS 提供的,使用 Key-Value 形式的,加密的数据存储功能,以及文件形式的,明文的数据存储功能。
健康检测 TuyaOS 提供的,定期执行对设备内存、无线信号、任务状态进行检测的功能,并支持应用自定义的检测指标。
日志服务 TuyaOS 提供的,用于记录设备运行过程的本地日志、记录异常并编码上报的日志序功能。
事件服务 TuyaOS 提供的,事件发布、订阅功能,通过订阅事件,可以感知内部变化的发送,并做相应的处理。
时间服务(时区、夏令时) TuyaOS 提供的,时间管理和维护功能,支持 UTC 时间和本地时间,本地时间由 UTC 时间、时区、夏令时等因素综合得来。
定时队器 TuyaOS 提供的,软件定时功能。
工作队列 TuyaOS 提供的,一种工作队列功能,用于处理低优先级的,可能存在阻塞的异步任务。
连接管理 TuyaOS 提供的,管理设备上各种连接方式的功能,如 Wi-Fi、Ethernet、蓝牙之类的。维护设备和网络直接的连接状态。
线程管理 TuyaOS 提供的,线程管理功能。

设备驱动

连接驱动

能力
说明
Wi-Fi Wi-Fi 驱动
Bluetooth 蓝牙驱动

外设驱动

能力
说明
GPIO GPIO 驱动
ADC ADC 驱动
PWM PWM 驱动
I2C I2C 驱动
I2S I2S 驱动
UART UART 驱动
DAC DAC 驱动
SPI SPI 驱动

功耗管理

能力
说明
Wi-Fi 低功耗 Wi-Fi 低功耗管理

定时服务

能力
说明
本地定时 将定时任务规则下载到设备,本地计时并到期执行任务。
天文定时 本地定时的一种,通过设备所处区域日出日落时间规则设置定时任务。
日历定时 本地定时的一种,更加丰富的定时规则选择,可以使用周循环、奇偶日、隔天、隔小时等规则设置定时任务。

升级服务

能力
说明
静默升级 设备自动扫描云端升级配置,在不需要 App 感知的情况下对设备固件进行升级。
提醒升级/强制升级 云端配置升级,在 App 通过之后,通知设备对固件进行升级。
附属固件升级 对设备上的各种固件、文件进行升级。

设备配件

能力
说明
Wi-Fi FFC 遥控 通过私有的 Wi-Fi Mesh 协议对设备进行遥控。
蓝牙 Beacon 遥控 通过蓝牙 Beacon 对设备进行遥控。

设备安全

能力
说明
安全体系(安全级别,安全能力) 设备身份认证、安全存储、安全通信、隐私数据合规。

网络

能力
说明
iot-dns 服务域名配置、证书管理服务、域名解析服务
https HTTPS 库
mqtt over tls MQTT 库
mbedTLS mbedTLS 库

系统服务

能力
说明
内存管理(tuya heap6) TuyaOS 自研堆管理功能。
TCP/IP 协议栈(tuya lwip) TuyaOS 自维护的 lwIP 协议
蓝牙协议栈(tuya Bluetooth) TuyaOS 自维护的蓝牙协议
tuya wpa supplicant TuyaOS 自维护的 wpa_supplicant 组件

支持与帮助

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