涂鸦蓝牙SDK开发系列教程——4.烧录授权
Posted 三明治开发社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了涂鸦蓝牙SDK开发系列教程——4.烧录授权相关的知识,希望对你有一定的参考价值。
固件开发完成后,需要将固件和授权码烧录到设备内,才可以连接云服务。涂鸦提供多种烧录授权方式供您使用,您可在不同的开发阶段选择合适的烧录授权方式。
方案介绍
烧录授权一体方案
烧录授权一体方案指的是 烧录 和 授权 都通过 涂鸦云模组烧录授权平台 实现,涂鸦云模组烧录授权平台已经集成了涂鸦标准芯片的烧录软件,您需要将固件按规范传到 涂鸦 IoT 平台,然后获取 授权码 (生产凭证) 进行烧录授权。
烧录授权分立方案
烧录授权分立方案适用于 开发调试阶段 或 涂鸦云模组烧录授权平台 未集成芯片的烧录软件 时,您可使用芯片烧录软件进行固件烧录,根据授权方式的不同可分为以下两种情况:
- 自行写入授权码:涂鸦以 MS Excel 文件形式提供 授权码 (授权码清单),您需要将其写入固件实现授权,然后通过芯片烧录软件完成烧录授权。
- 使用涂鸦上位机写入授权码:您需要将固件按规范传到 涂鸦 IoT 平台,获取 授权码 (生产凭证-仅授权) 后即可通过 涂鸦云模组烧录授权平台 完成授权,通过芯片烧录软件进行固件烧录。
固件上传
如果选择通过 涂鸦云模组烧录授权平台 进行授权,需要先在 涂鸦 IoT 平台 的【硬件开发】页面上传固件。
-
新增固件。
进入产品【硬件开发】页面,单击下图中的【新增自定义固件】。
-
填写固件信息。(点击各条目的 “?” 图标查看填写说明)
- 固件标识名:必须与 步骤 3 中配置的固件标识名保持一致;
- Flash 大小:可以在 模组规格书 的产品概述中找到;
填写完成后点击【生成固件 KEY】,如果提示【标识名已存在】,则需重新填写新的标识名。固件标识名具有 唯一性,不可与已创建的固件重复,可根据产品规格或个人喜好进行命名,例如【芯片平台+产品类型+产品特性+厂商标识名/个人姓名缩写】。
-
配置固件。
打开 SDK 中
tuya_ble_sdk_demo\\app
路径下的tuya_ble_sdk_demo.h
文件,修改 产品 ID 、固件标识名 和 固件版本号,固件标识名必须与 步骤 2 中填写的 保持一致。固件版本的定义可以参考 固件版本说明,蓝牙单点固件的版本号一般采用bv.sv
(0.0~99.99) 格式,对应于代码中TY_DEVICE_FVER_NUM
的低 16 位,比如版本号为 1.10 时,TY_DEVICE_FVER_NUM
为 0x0000010A (00 00 01 0A
)。/* 将“xxxxxxxx”替换为在涂鸦IoT平台上创建的产品的PID */ #define TY_DEVICE_PID "xxxxxxxx" /* 修改固件名称和版本号,上传固件时填写的信息需与这里一致 */ #define TY_DEVICE_FIR_NAME "ble_module_sdk_development_demo" #define TY_DEVICE_FVER_NUM 0x00000001 #define TY_DEVICE_FVER_STR "0.1"
打开 SDK 中
tuya_ble_sdk_demo\\app
路径下的tuya_ble_sdk_test.h
文件,将TUYA_BLE_SDK_TEST
的值修改为 0,以关闭测试模式;/* 将 1 修改为 0,关闭测试模式 */ #define TUYA_BLE_SDK_TEST 0
-
生成固件。
对修改后的代码进行编译,生成用于烧录的固件。对于
TLSR825x
平台而言,代码编译前建议对工作区文件进行刷新后再编译,编译生成的固件为ble_sdk_multimode\\8258_module\\8258_module.bin
。 -
新增固件版本。
在 步骤 2 生成 固件 KEY 后,可以看到【当前版本】中提示【!无生产版本】,点击下方的【新增固件版本】进入【上传固件】页面。
-
上传固件。(点击各条目的 “?” 图标查看填写说明)
-
固件版本:必须与 步骤 3 中配置的固件版本 保持一致。
-
生产固件:用于传递给工厂烧录的固件文件。
-
用户区固件:用于传递给工厂烧录的固件文件。
-
升级固件:用于固件升级 (OTA) 的固件文件,首次上传固件时可忽略。
对于
TLSR825x
平台而言,生产固件、用户区固件、升级固件均为8258_module\\8258_module.bin
。
如果是在 步骤 2 直接点击【上传固件】进入 步骤 6 的,那么可能会在点击【保存】后才提示【标识名已存在】,可以点击【返回上一步】回到 步骤 2 所示页面,修改固件标识名,同时要修改 本地固件 中的标识名。然后再点击【上传固件】进入 步骤 6 所示页面,并将鼠标移至已上传的
8258_module.bin
上,点击右侧出现的 删除 图标,再上传新的固件。 -
-
进行固件上架。
-
设置上架内容和上架范围后上架固件。
-
固件管理。
可在左侧导航栏【固件管理】中找到固件,点击【详情】可查看更多固件信息。
授权码获取
模组
在【硬件开发】页面选择好云模组后即可获取授权码,操作步骤如下:
-
点击【立即购买】进入 购买详情 页。(新用户可免费申请 2 个授权码,参考步骤 5)
-
设置 数量 后,点击【立即购买】进入 订单信息确认 页面,确认信息无误后 提交订单 完成购买。
-
如果仅购买授权码,可点击右上角“×”号退出模组的 购买详情 页,并在 通用备货采购 页面选择 授权码-通用版 进行购买。该页面也可通过左侧导航栏的 采购 - 采购商品 - 生产研发采购 中进入。
-
在 购买详情 页设置 产品 和 交付形式 后完成授权码购买。
-
如果选择 “免费领取 2 个激活码”,在 免费领取授权码 页面设置好 交付形式 后下单即可。
-
订单提交后,可在 采购 - 订单管理 - 采购订单 中进入 调试样品&样品订单 页面,下载产品对应的授权码。
三明治开发板
如果使用 涂鸦三明治开发板 进行开发,获取授权码的步骤如下:
-
进入 三明治开发板 管理界面,绑定开发板。
-
单击【申请新的授权码】,选择对应的 产品 后,单击【确定】即可获得授权码。
如果申请失败并提示“您需要先申请到烧录软件专门的账号”,请先在 涂鸦PMS 系统 注册页面完成账号申请,申请的手机号 (账号) 要与 IoT 平台的手机号 (账号) 保持一致。
固件烧录授权
在烧录授权之前,请确认是否已按照 环境搭建 中的方法准备好了以下烧录环境:
- 已注册了 PMS 账号;
- 已安装了 生产解决方案 和 原厂烧录软件 ( BTU模组:Telink BDT );
- 已准备了安装有 涂鸦蓝牙模组的 的 开发板 、芯片专用烧录器 和 USB 转串口工具。
下面根据授权码的三种交付形式进行固件烧录授权的操作步骤说明。
生产凭证
-
将 开发板 与 USB 转串口工具 连接。
-
打开 生产解决方案 软件,登录 PMS 账号。
-
点击 云模组 进入 涂鸦云模组烧录授权平台。
-
选择 端口号,输入 生产凭证,工位选择 烧录授权。
-
点击 运行 完成烧录授权。
授权码清单
-
将 开发板 与 烧录器 (Telink) 连接。
-
从授权码清单中选取一组 uuid、authkey 和 mac 地址 填入
tuya_ble_sdk_demo.h
中的对应位置。#define TY_DEVICE_PID "xxxxxxxx" /* PID */ #define TY_DEVICE_MAC "xxxxxxxx" /* mac */ #define TY_DEVICE_DID "xxxxxxxx" /* uuid */ #define TY_DEVICE_AUTH_KEY "xxxxxxxx" /* authkey */
-
在
tuya_ble_sdk_demo.c
中的将初始化参数use_ext_license_key
和device_id_len
分别修改为 1 和 DEVICE_ID_LEN (即 16),以使上述授权码生效。static tuya_ble_device_param_t tuya_ble_device_param = .use_ext_license_key = 1, /* 1-info in tuya_ble_sdk_demo.h, 0-auth info */ .device_id_len = DEVICE_ID_LEN, /* DEVICE_ID_LEN-info in tuya_ble_type.h, 0-auth info */ .p_type = TUYA_BLE_PRODUCT_ID_TYPE_PID, .product_id_len = 8, .adv_local_name_len = 4, .firmware_version = TY_DEVICE_FVER_NUM, .hardware_version = TY_DEVICE_HVER_NUM, ;
-
对代码进行编译后,使用芯片原厂烧录工具 Telink BDT 烧录固件
8258_module.bin
。
生产凭证-仅授权
-
将 开发板 与 USB 转串口工具 及 烧录器 (Telink) 连接。
-
打开 生产解决方案 软件,登录 PMS 账号。
-
点击 云模组 进入 涂鸦云模组烧录授权平台。
-
单击【文件】-【设置】,启用【只授权】选项。
-
选择 端口号,输入 生产凭证,工位选择 烧录授权。
-
点击 运行 完成授权。
-
打开芯片原厂烧录工具 Telink BDT,按下图步骤完成固件 (
8258_module.bin
) 烧录。
设备联网测试
完成固件烧录授权后,即可通过 智能生活 APP 测试设备是否能正常配网。
-
打开 智能生活 APP,添加设备。
方法 ①:在 首页 点击右上角 “+” 号进入 添加设备 页面,看到产品图标时进行添加;
方法 ②:在 添加设备 页面找到 传感 品类,选择 温湿度传感器(蓝牙),扫描到设备后点击 “+” 号进行添加。
-
进入设备面板,查看固件版本。
成功连接设备后,可从 首页 进入设备面板,然后点击右上角图标进入 设置 页面,点击 设备升级 即可查看设备的固件版本。
-
获取设备虚拟 ID,查看云端日志。
在 设置 页面点击 设备信息 即可获得设备的 虚拟 ID;
进入 涂鸦 IoT 平台,从左侧导航栏的【产品】-【设备】进入 设备管理 页面或 设备日志 页面,根据 设备 ID 找到对应的设备,即可查看该设备的状态和日志等信息。
常见问题解答
不同芯片平台的烧录授权方法
本节课主要介绍了 TLSR825x
平台下 BTU 模组 的烧录授权方法,如果您使用的是其他芯片平台的涂鸦标准蓝牙模组,可以同时参考 烧录授权 - BLE 模组 中的文档来完成烧录授权工作。
云模组烧录授权平台常见问题
1 获取token失败:没有操作权限
输入【生产凭证】点击【确定】后出现【获取token失败:没有操作权限】提示,可在 PMS 系统的【生产管理 - 工单管理 - 生产凭证确认】中进行生产凭证确认后,再重新尝试。
2 端口异常
点击【运行】按钮后出现【端口异常2】提示,可能的原因有:
- 串口驱动未安装;
- 串口工具没插好、接线有误或接触不良等硬件连接问题;
- 端口被占用,如串口调试助手上打开了该端口。
3 获取固件指纹错误
点击【运行】按钮后出现【获取固件指纹错误】提示,说明模组内已烧录的固件的 固件标识名 或 固件版本 与授权码绑定固件的固件标识名或固件版本不一致。该错误一般出现在 仅授权 情况下,解决方法有:
- 使用和模组内固件标识名及版本号一致的生产凭证进行授权;
- 使用非仅授权方案,重新对模组进行 烧录授权。
4 进入产测失败
点击【运行】按钮后出现【进入产测失败】提示,可能原因有:
-
设备已联网超过 15 分钟,产测关闭,需要擦除 Flash 中的对应区域的数据信息;
-
串口选错或者 TX 和 RX 接错,请检查接线是否正确;
-
波特率选择错误,需在【文件 - 设置】中选择正确的【烧录波特率】;
-
对于一些供电要求比较高的芯片,需要供电稳定的 USB 口进行烧录授权。
更多关于涂鸦蓝牙模组产测的信息可查看 蓝牙 SDK 产测。
以上是关于涂鸦蓝牙SDK开发系列教程——4.烧录授权的主要内容,如果未能解决你的问题,请参考以下文章