本系列课程将介绍如何使用 帮助开发者更快地掌握产品开发 、、、、 使用其他开发工具,以实现产品接入涂鸦云,完成产品智能化。您可以通过本课程快速了解涂鸦蓝牙模块及其 SDK 获得技术支持的部署、开发过程、术语名词和渠道。
一. 蓝牙模组
蓝牙云模块是涂鸦提供的蓝牙支持 LE 一系列超高性价比的自主研发模块,协议、尺寸规格、工作温度和焊接方法。模块广泛应用于各种蓝牙 LE 您可以根据自己的产品需求选择产品。详情请参考 云模组。
1.1 模组分类
分类 | 模组名称 | 说明 |
---|---|---|
BP 系列 | BPLCB、BP3L、BPU | Phyplus 蓝牙标准协议模块平台 |
BT 系列 | BT2L-A、BT3L、BT5S、BT7L、BT8P、BTU … | Telink 蓝牙标准协议模块平台 |
BN 系列 | TYBN1 | Nordic 蓝牙标准协议模块平台 |
BR 系列 | BR3L | Realtek 蓝牙标准协议模块平台 |
TYBT 系列 | TYBT1、TYBT2、TYBT3、TYBT4、TYBT8 … | Telink 蓝牙涂鸦私人协议模块 |
BK 系列 | YLB1 | Beken 蓝牙标准协议模块平台 |
… | … | … |
云模块的一般命名规则如下:芯片平台 系列 性能。(有些模块只使用一些字段)
例: 对应 B(BLE) T(Telink) U(U系列/U形结构); 对应 TY(涂鸦) B(BLE) N(Nordic) 1(1系列)。
1.2 硬件设计
您可以参考 BLE 模组 硬件设计目录下的模块规格。除了电气参数和其他信息外,您还需要合理分配引脚来实现产品的各种功能。模块规格书提供了引脚的类型和重用功能。您也可以通过芯片官方网站了解更多信息,但您需要注意模块引脚和 IC 引脚的对应关系。
二. 蓝牙 SDK
涂鸦蓝牙 SDK(BLE SDK)是基于 TuyaOS 该系统适用于蓝牙协议产品的开发 SDK。SDK 将设备配网、上下行数据通信、产测授权、固件 OTA 包装升级等接口,并提供相关函数。您不需要关心蓝牙芯片平台的具体实现,只需要遵循 SDK 提供的标准 API 适配可实现接入涂鸦 IoT 平台,完成智能设备。
2.1 SDK 分类
分类 | 适用芯片 | 说明 |
---|---|---|
蓝牙 SDK | 第三方芯片 | 根据芯片平台的编译链工具和编译选项,生成抽象硬件层和跨芯片平台 lib 库,你需要将 lib 库集成到自己的芯片中 SDK 在开发应用代码之前,先适应硬件。 |
蓝牙芯片 SDK | 涂鸦标准芯片 | 适应特定芯片平台 SDK。可与相应芯片平台的云模块相匹配,直接开发应用代码。 |
为了进一步降低开发难度,涂鸦适应了一些主流蓝牙芯片平台,并为该芯片平台提供了网络模块,因此 也可称为 。您只需选择特定类型 SDK,涂鸦标准芯片的模块可以直接开发应用代码,更快地完成设备的智能化。目前,涂鸦蓝牙芯片 SDK 支持平台包括:
厂商 | 芯片平台 |
---|---|
Nordic | nRF52832 |
Cypress | PSoC63 |
博通集成 | BK3431Q |
博通集成 | BK3632 |
富芮坤 | FR8018H |
奉加微 | PHY6222 |
泰凌微 | TLSR8253 |
… | … |
更多关于 和 的 SDK 请参考支持 硬件支持。
2.2 SDK 架构
层级 | 说明 |
---|---|
Application | 基于 (Tuya BLE SDK)构建的应用程序。 |
Message or CallBack | SDK 通过 Message 或者设备 App 注册的 CallBack 函数向设备 App 发送数据(状态、数据等)。 |
Main Process Function | 为 SDK 的主引擎,设备应用程序(Application)需要一直调用。如果芯片平台(Platform)基于 OS,SDK 会基于 Port 层提供的 OS 相关 API 自动创建一个任务用于执行 Main Process Function。如果是非 OS 平台,需要设备应用程序循环调用。 |
Tuya BLE SDK API | SDK 提供相关 API 用于设备实现蓝牙相关的管理、通信等。如果使用 OS,API 的调用将采用基于消息的异步机制,API 的执行结果将会以 Message 或者 CallBack 的方式通知给设备的 Application。如果是非 OS,API 的返回值即为执行结果。 |
SDK Config | SDK 可裁剪可配置,通过 config 文件中的宏定义操作,例如配置 SDK 适用于多协议设备的通用配网模式,蓝牙单点设备、基于 ECDH 秘钥协商加密模式、是否使用 OS 等。 |
Tuya BLE SDK | SDK 封装了涂鸦蓝牙通信协议,提供构建涂鸦蓝牙应用所需的服务接口。 |
Port | 蓝牙 SDK 所需要的接口抽象,需要用户根据具体的芯片平台移植实现。 |
Platform | 所使用的芯片平台,芯片和协议栈由芯片公司维护。 |
三. 开发流程
涂鸦蓝牙模组 SDK 开发的基本流程如下:
- :在 涂鸦 IoT 平台 上创建产品,需注册涂鸦 IoT 开发者账号;
- :获取 SDK、软件安装包等,搭建开发必备的软/硬件环境;
- :在涂鸦蓝牙模组 SDK 基础上进行必要的配置后,将生成的初版固件烧录至模组并对其进行授权,使设备能接入涂鸦云;
- :在涂鸦 SDK 提供的相关 API 基础上,完成应用代码的开发;
- :通过查看设备现象、本地设备日志、云端日志等手段完成功能调试,请参考 调试说明;
- :批量生产的产品需在生产阶段对设备的联网和控制能力进行测试,简称 ,请参考 生产测试 和 蓝牙 SDK 产测;
- :产品发布后,可以将需要升级的固件上传至涂鸦 IoT 平台,完成设备 OTA 升级。
具体操作方法将在后续课程中进行介绍。
四. 名词解释
下表为涂鸦蓝牙模组 SDK 开发中常用的术语名词,建议您在学习本课程前先掌握它们的含义。
名词 | 解释 |
---|---|
PID | 产品 ID (Product ID),是开发者在涂鸦 IoT 平台所创建产品的唯一编号。PID 关联了产品具体的功能、App 控制面板、出货信息等所有跟这个产品相关的信息。如果把产品比喻为人,那么 PID 则是产品的身份证。 |
UUID | 通用唯一标识符 (Universally Unique Identifier),是设备唯一的识别码,也是设备接入涂鸦云的授权凭证,长度是 16 位。 |
Device ID | 设备 ID,有时也称设备虚拟 ID,是设备配网激活时,根据 UUID 在云端随机生成的设备凭证。 |
Authkey | 物联网平台为设备颁发的设备密钥,和 UUID 一一匹配,长度是 32 位。 |
Mac 地址 | MAC 地址一般采用 6 字节(48 比特),48 比特都有其规定的意义,前 24 位是由生产网卡的厂商向 IEEE 申请的厂商地址,后 24 位由厂商自行分配,这样的分配使得世界上任意一个拥有 48 位 MAC 地址的网卡都有唯一的标识。所以要求客供 MAC 的客户要有自己购买的 MAC 地址块。 |
DP | 数据点 (Data point),有时也称 DP 点,指的是智能产品具备的功能点。 |
固件 Key | 固件上传涂鸦 IoT 平台后生成的唯一编码代号,蓝牙固件默认为 8 字节。 |
授权码 | 有时也称为激活码、Token,设备授权后才能接入涂鸦云。授权码清单形式的授权码包括 UUID、Authkey 和 Mac 地址,生产凭证形式的授权码与 固件 key、固件名称、固件版本强绑定。 |
原厂 | 即芯片厂家,常出现于描述芯片平台的官方资料时。 |
蓝牙绑定 | 指蓝牙设备通过 与 APP 经过一系列密钥交换、鉴权建立起的一种设备与 APP 账号的绑定关系,以及表示设备在云端的绑定状态。 |
蓝牙解绑 | 指蓝牙设备解除与 APP 账号的绑定关系,进入未绑定未连接状态,设备存储的相关密钥、绑定状态等信息也会被清除。 |
蓝牙连接 | 仅表示蓝牙设备链路层的状态为连接状态。 |
蓝牙广播 | 仅表示蓝牙设备链路层的状态为广播状态。 |
… | … |
更多有关涂鸦 IoT 平台使用的术语名词请参考 名词解释。
五. 技术支持
5.1 开发工具
涂鸦累积成千上万次产品智能化经验,分析了常见的 IoT 产品功能,基于 Arduino 规范打造了稳定成熟的 ,以帮助开发者快速入门 IoT 产品开发、缩短产品研发周期。通过涂鸦三明治开发套件,您可以非常方便地以类似“三明治”层层叠加的方式组合成一个完整的 IoT 产品原型。
涂鸦三明治开发套件根据不同的功能可以划分为 、、、,您可以通过 三明治开发套件 了解更多信息。目前已支持的 BLE SoC 主控板有 和 。
本课程将以涂鸦三明治开发套件的 、 和 为例,介绍如何使用涂鸦蓝牙模组及其 SDK 进行产品开发。
5.2 开源 Demo
涂鸦 Demo 中心 提供了很多基于 开发的智能硬件产品开源 Demo,您也可以在 三明治开发社区 找到相关教程。您可以根据下表列出的 Demo 信息查找您想要了解的资料。
Demo | 模组 | 芯片平台 | SDK 获取 |
---|---|---|---|
智能颈部按摩仪 [教程] [仓库] | BTU | TLSR825x | Github 仓库 |
智能烧水壶 [教程] [仓库] | BTU | TLSR825x | Github 仓库 |
智能窗帘机器人 [教程] [仓库] | BTU | TLSR825x | Github 仓库 |
智能调味勺子 [教程] [仓库] | BT3L | TLSR825x | Github 仓库 |
智能呼啦圈 [教程] [仓库] | BTU | TLSR825x | Github 仓库 |
智能药盒 [教程] [仓库] | TYBN1 | nRF52832 | 在涂鸦 IoT 平台获取 |
智能魔法棒 [教程] [仓库] | TYBN1 | nRF52832 | 在涂鸦 IoT 平台获取 |
智能除味器 [教程] [仓库] | TYBN1 | nRF52832 | 在涂鸦 IoT 平台获取 |
… | … | … | … |
注:涂鸦蓝牙模组 SDK 已进行版本升级,上表 Github 仓库链接到的 tuya_ble_sdk_Demo_Project_tlsr8253 为旧版 SDK,技术文档请参考 BLE SDK 说明 和 BLE SDK Demo 说明。建议在 涂鸦 IoT 平台 创建产品并选择 (选择一款 BLE 模组) 后,下载对应芯片平台的 用于您的产品开发。
另外,涂鸦开发者社区 为开发者提供了丰富的传感驱动和通用功能组件,帮助开发者更快实现产品功能。
5.3 相关链接
您可以通过以下链接获得更多的技术支持:
- 涂鸦开发者平台
- 文档中心
- TuyaOS - 蓝牙设备接入
- 云模组 - BLE 模组
- 烧录授权 - BLE 模组
- 帮助中心
- 技术与支持
无 第 2 课:产品创建