涂鸦蓝牙SDK开发系列教程——1.快速入门
Posted 三明治开发社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了涂鸦蓝牙SDK开发系列教程——1.快速入门相关的知识,希望对你有一定的参考价值。
本系列课程将介绍如何使用 涂鸦蓝牙模组及其 SDK 进行产品开发,帮助开发者更快掌握 涂鸦蓝牙模组、涂鸦蓝牙 SDK、涂鸦 IoT 平台、涂鸦三明治开发套件、涂鸦云模组烧录授权平台 等开发工具的使用方法,以实现将产品接入涂鸦云,完成产品智能化。您可以通过本节课快速了解涂鸦蓝牙模组及其 SDK 的部署情况、开发流程、术语名词以及获得技术支持的渠道。
1. 蓝牙模组
蓝牙云模组是涂鸦提供的支持蓝牙 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 平台蓝牙标准协议模组 |
… | … | … |
命名规则
云模组通用命名规则为:(TY) + 通讯类型 + 芯片平台 + 系列 + 性能。(部分模组只会用到部分字段)
例:BTU 对应 B(BLE) + T(Telink) + U(U系列/U形结构);TYBN1 对应 TY(涂鸦) + B(BLE) + N(Nordic) + 1(1系列)。
1.2 硬件设计
您可以参考 BLE 模组 目录下的模组规格书来进行硬件设计。除电气参数等信息外,您需要合理分配引脚来实现产品各项功能,模组规格书中已经给出了各引脚的类型和复用功能,您也可以通过芯片官网资料了解更多信息,但需要注意模组引脚与 IC 引脚的对应关系。
2. 蓝牙 SDK
涂鸦蓝牙 SDK(BLE SDK)是基于 TuyaOS 系统裁剪得到的,适用于蓝牙协议产品开发的 SDK。SDK 将设备配网、上下行数据通信、产测授权、固件 OTA 升级等接口进行封装,并提供相关函数。您无需关心各蓝牙芯片平台的这些功能的具体实现方式,只需要按照 SDK 提供的标准 API 进行适配,即可实现接入涂鸦 IoT 平台,完成设备智能化。
2.1 SDK 分类
分类 | 适用芯片 | 说明 |
---|---|---|
蓝牙 SDK | 第三方芯片 | 抽象硬件层,跨芯片平台,根据芯片平台的编译链工具和编译选项生成 lib 库,您需要将 lib 库集成到自己芯片 SDK 内,先进行硬件适配,才能开发应用代码。 |
蓝牙芯片 SDK | 涂鸦标准芯片 | 针对特定芯片平台进行适配的 SDK。您可以搭配对应芯片平台的云模组使用,直接开发应用代码。 |
为进一步降低开发难度,涂鸦针对部分主流蓝牙芯片平台进行了适配,并提供适配后专用于此芯片平台的联网模组,因此 涂鸦蓝牙芯片 SDK 也可称为 涂鸦蓝牙模组 SDK。您只需选用特定类型的 SDK,再搭配涂鸦标准芯片的模组,可直接进行应用代码开发,更快完成设备智能化。目前涂鸦蓝牙芯片 SDK 支持的平台有:
厂商 | 芯片平台 |
---|---|
Nordic | nRF52832 |
Cypress | PSoC63 |
博通集成 | BK3431Q |
博通集成 | BK3632 |
富芮坤 | FR8018H |
奉加微 | PHY6222 |
泰凌微 | TLSR8253 |
… | … |
更多关于 标准芯片 和 第三方芯片 的 SDK 支持情况,请参考 硬件支持。
2.2 SDK 架构
层级 | 说明 |
---|---|
Application | 基于 涂鸦蓝牙 SDK(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 | 所使用的芯片平台,芯片和协议栈由芯片公司维护。 |
3. 开发流程
涂鸦蓝牙模组 SDK 开发的基本流程如下:
- 产品创建:在 涂鸦 IoT 平台 上创建产品,需注册涂鸦 IoT 开发者账号;
- 环境搭建:获取 SDK、软件安装包等,搭建开发必备的软/硬件环境;
- 烧录授权:在涂鸦蓝牙模组 SDK 基础上进行必要的配置后,将生成的初版固件烧录至模组并对其进行授权,使设备能接入涂鸦云;
- 应用开发:在涂鸦 SDK 提供的相关 API 基础上,完成应用代码的开发;
- 功能调试:通过查看设备现象、本地设备日志、云端日志等手段完成功能调试,请参考 调试说明;
- 生产测试:批量生产的产品需在生产阶段对设备的联网和控制能力进行测试,简称 产测,请参考 生产测试 和 蓝牙 SDK 产测;
- 固件升级:产品发布后,可以将需要升级的固件上传至涂鸦 IoT 平台,完成设备 OTA 升级。
具体操作方法将在后续课程中进行介绍。
4. 名词解释
下表为涂鸦蓝牙模组 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. 技术支持
5.1 开发工具
涂鸦累积成千上万次产品智能化经验,分析了常见的 IoT 产品功能,基于 Arduino 规范打造了稳定成熟的 三明治开发套件,以帮助开发者快速入门 IoT 产品开发、缩短产品研发周期。通过涂鸦三明治开发套件,您可以非常方便地以类似“三明治”层层叠加的方式组合成一个完整的 IoT 产品原型。
涂鸦三明治开发套件根据不同的功能可以划分为 主控板、通信板、功能板、电源板,您可以通过 三明治开发套件 了解更多信息。目前已支持的 BLE SoC 主控板有 涂鸦三明治 BLE SoC 主控板 (BT3L) 和 涂鸦三明治 BLE SoC 主控板 (BTU)。
本课程将以涂鸦三明治开发套件的 BLE SoC 主控板 (BTU) 、温湿度传感功能板 和 普通电池电源板 为例,介绍如何使用涂鸦蓝牙模组及其 SDK 进行产品开发。
5.2 开源 Demo
涂鸦 Demo 中心 提供了很多基于 涂鸦蓝牙模组及其 SDK 开发的智能硬件产品开源 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 模组) 后,下载对应芯片平台的 最新版 SDK 用于您的产品开发。
另外,涂鸦开发者社区 为开发者提供了丰富的传感驱动和通用功能组件,帮助开发者更快实现产品功能。
5.3 相关链接
您可以通过以下链接获得更多的技术支持:
上一篇:无 下一篇:第 2 课:产品创建
以上是关于涂鸦蓝牙SDK开发系列教程——1.快速入门的主要内容,如果未能解决你的问题,请参考以下文章