涂鸦蓝牙SDK开发系列教程——1.快速入门

Posted 三明治开发社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了涂鸦蓝牙SDK开发系列教程——1.快速入门相关的知识,希望对你有一定的参考价值。

本系列课程将介绍如何使用 涂鸦蓝牙模组及其 SDK 进行产品开发,帮助开发者更快掌握 涂鸦蓝牙模组涂鸦蓝牙 SDK涂鸦 IoT 平台涂鸦三明治开发套件涂鸦云模组烧录授权平台 等开发工具的使用方法,以实现将产品接入涂鸦云,完成产品智能化。您可以通过本节课快速了解涂鸦蓝牙模组及其 SDK 的部署情况、开发流程、术语名词以及获得技术支持的渠道。


1. 蓝牙模组

蓝牙云模组是涂鸦提供的支持蓝牙 LE 协议、多种尺寸规格、多种工作温度、多种焊接方式的一系列超高性价比自研模组。模组广泛应用于各种蓝牙 LE 产品,您可根据自身的产品需求选择,详细信息请参考 云模组


1.1 模组分类

分类模组名称说明
BP 系列BPLCB、BP3L、BPUPhyplus 平台蓝牙标准协议模组
BT 系列BT2L-A、BT3L、BT5S、BT7L、BT8P、BTU …Telink 平台蓝牙标准协议模组
BN 系列TYBN1Nordic 平台蓝牙标准协议模组
BR 系列BR3LRealtek 平台蓝牙标准协议模组
TYBT 系列TYBT1、TYBT2、TYBT3、TYBT4、TYBT8 …Telink 平台蓝牙涂鸦私有协议模组
BK 系列YLB1Beken 平台蓝牙标准协议模组

命名规则

云模组通用命名规则为:(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 支持的平台有:

厂商芯片平台
NordicnRF52832
CypressPSoC63
博通集成BK3431Q
博通集成BK3632
富芮坤FR8018H
奉加微PHY6222
泰凌微TLSR8253

更多关于 标准芯片第三方芯片 的 SDK 支持情况,请参考 硬件支持


2.2 SDK 架构

层级说明
Application基于 涂鸦蓝牙 SDK(Tuya BLE SDK)构建的应用程序。
Message or CallBackSDK 通过 Message 或者设备 App 注册的 CallBack 函数向设备 App 发送数据(状态、数据等)。
Main Process Function为 SDK 的主引擎,设备应用程序(Application)需要一直调用。如果芯片平台(Platform)基于 OS,SDK 会基于 Port 层提供的 OS 相关 API 自动创建一个任务用于执行 Main Process Function。如果是非 OS 平台,需要设备应用程序循环调用。
Tuya BLE SDK APISDK 提供相关 API 用于设备实现蓝牙相关的管理、通信等。如果使用 OS,API 的调用将采用基于消息的异步机制,API 的执行结果将会以 Message 或者 CallBack 的方式通知给设备的 Application。如果是非 OS,API 的返回值即为执行结果。
SDK ConfigSDK 可裁剪可配置,通过 config 文件中的宏定义操作,例如配置 SDK 适用于多协议设备的通用配网模式,蓝牙单点设备、基于 ECDH 秘钥协商加密模式、是否使用 OS 等。
Tuya BLE SDKSDK 封装了涂鸦蓝牙通信协议,提供构建涂鸦蓝牙应用所需的服务接口。
Port蓝牙 SDK 所需要的接口抽象,需要用户根据具体的芯片平台移植实现。
Platform所使用的芯片平台,芯片和协议栈由芯片公司维护。

3. 开发流程

涂鸦蓝牙模组 SDK 开发的基本流程如下:

  1. 产品创建:在 涂鸦 IoT 平台 上创建产品,需注册涂鸦 IoT 开发者账号;
  2. 环境搭建:获取 SDK、软件安装包等,搭建开发必备的软/硬件环境;
  3. 烧录授权:在涂鸦蓝牙模组 SDK 基础上进行必要的配置后,将生成的初版固件烧录至模组并对其进行授权,使设备能接入涂鸦云;
  4. 应用开发:在涂鸦 SDK 提供的相关 API 基础上,完成应用代码的开发;
  5. 功能调试:通过查看设备现象、本地设备日志、云端日志等手段完成功能调试,请参考 调试说明
  6. 生产测试:批量生产的产品需在生产阶段对设备的联网和控制能力进行测试,简称 产测,请参考 生产测试蓝牙 SDK 产测
  7. 固件升级:产品发布后,可以将需要升级的固件上传至涂鸦 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 获取
智能颈部按摩仪 [教程] [仓库]BTUTLSR825xGithub 仓库
智能烧水壶 [教程] [仓库]BTUTLSR825xGithub 仓库
智能窗帘机器人 [教程] [仓库]BTUTLSR825xGithub 仓库
智能调味勺子 [教程] [仓库]BT3LTLSR825xGithub 仓库
智能呼啦圈 [教程] [仓库]BTUTLSR825xGithub 仓库
智能药盒 [教程] [仓库]TYBN1nRF52832在涂鸦 IoT 平台获取
智能魔法棒 [教程] [仓库]TYBN1nRF52832在涂鸦 IoT 平台获取
智能除味器 [教程] [仓库]TYBN1nRF52832在涂鸦 IoT 平台获取

注:涂鸦蓝牙模组 SDK 已进行版本升级,上表 Github 仓库链接到的 tuya_ble_sdk_Demo_Project_tlsr8253 为旧版 SDK,技术文档请参考 BLE SDK 说明BLE SDK Demo 说明。建议在 涂鸦 IoT 平台 创建产品并选择 云端接入硬件 (选择一款 BLE 模组) 后,下载对应芯片平台的 最新版 SDK 用于您的产品开发。

另外,涂鸦开发者社区 为开发者提供了丰富的传感驱动和通用功能组件,帮助开发者更快实现产品功能。


5.3 相关链接

您可以通过以下链接获得更多的技术支持:



上一篇:下一篇:第 2 课:产品创建

以上是关于涂鸦蓝牙SDK开发系列教程——1.快速入门的主要内容,如果未能解决你的问题,请参考以下文章

涂鸦蓝牙SDK开发系列教程——5.应用开发

涂鸦蓝牙SDK开发系列教程——3.环境搭建

涂鸦蓝牙SDK开发系列教程——2.产品创建

涂鸦Zigbee SDK开发系列教程——3.快速入门

涂鸦蓝牙SDK开发系列教程——4.烧录授权

涂鸦蓝牙SDK开发系列教程——8.Board API 说明