涂鸦蓝牙SDK开发系列教程——4.烧录授权
固件开发完成后,需要将固件和授权码烧录到设备内,才可以连接云服务。涂鸦提供多种烧录授权方式供您使用,您可在不同的开发阶段选择合适的烧录授权方式。
一. 方案介绍
1.1 烧录授权一体方案
烧录授权一体方案指的是 烧录 和 授权 都通过 涂鸦云模组烧录授权平台 实现,涂鸦云模组烧录授权平台已经集成了涂鸦标准芯片的烧录软件,您需要将固件按规范传到 涂鸦 IoT 平台,然后获取 授权码 (生产凭证) 进行烧录授权。
1.2 烧录授权分立方案
烧录授权分立方案适用于 开发调试阶段 或 涂鸦云模组烧录授权平台 未集成芯片的烧录软件 时,您可使用芯片烧录软件进行固件烧录,根据授权方式的不同可分为以下两种情况:
- 自行写入授权码:涂鸦以 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
上,点击右侧出现的 删除 图标,再上传新的固件。进行固件上架。
设置上架内容和上架范围后上架固件。
固件管理。
可在左侧导航栏【固件管理】中找到固件,点击【详情】可查看更多固件信息。
三. 授权码获取
3.1 模组
在【硬件开发】页面选择好云模组后即可获取授权码,操作步骤如下:
点击【立即购买】进入 购买详情 页。(新用户可免费申请 2 个授权码,参考步骤 5)
设置 数量 后,点击【立即购买】进入 订单信息确认 页面,确认信息无误后 提交订单 完成购买。
如果仅购买授权码,可点击右上角“×”号退出模组的 购买详情 页,并在 通用备货采购 页面选择 授权码-通用版 进行购买。该页面也可通过左侧导航栏的 采购 - 采购商品 - 生产研发采购 中进入。
在 购买详情 页设置 产品 和 交付形式 后完成授权码购买。
如果选择 “免费领取 2 个激活码”,在 免费领取授权码 页面设置好 交付形式 后下单即可。
订单提交后,可在 采购 - 订单管理 - 采购订单 中进入 调试样品&样品订单 页面,下载产品对应的授权码。
3.2 三明治开发板
如果使用 涂鸦三明治开发板 进行开发,获取授权码的步骤如下:
进入 三明治开发板 管理界面,绑定开发板。
单击【申请新的授权码】,选择对应的 产品 后,单击【确定】即可获得授权码。
如果申请失败并提示“您需要先申请到烧录软件专门的账号”,请先在 涂鸦PMS 系统 注册页面完成账号申请,申请的手机号 (账号) 要与 IoT 平台的手机号 (账号) 保持一致。
四. 固件烧录授权
在烧录授权之前,请确认是否已按照 第 3 课:环境搭建 中的方法准备好了以下烧录环境:
- 已注册了 PMS 账号;
- 已安装了 生产解决方案 和 原厂烧录软件 ( BTU模组:Telink BDT );
- 已准备了安装有 涂鸦蓝牙模组的 的 开发板 、芯片专用烧录器 和 USB 转串口工具。
下面根据授权码的三种交付形式进行固件烧录授权的操作步骤说明。
4.1 生产凭证
将 开发板 与 USB 转串口工具 及 烧录器 (Telink) 连接。
有些芯片平台只需要连接 USB 转串口工具,TLSR825x 芯片平台必须两个都连接!
打开 生产解决方案 软件,登录 PMS 账号。
点击 云模组 进入 涂鸦云模组烧录授权平台。
选择 端口号,输入 生产凭证,工位选择 烧录授权。
点击 运行 完成烧录授权。
4.2 授权码清单
将 开发板 与 烧录器 (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
。
4.3 生产凭证-仅授权
将 开发板 与 USB 转串口工具 及 烧录器 (Telink) 连接。
打开 生产解决方案 软件,登录 PMS 账号。
点击 云模组 进入 涂鸦云模组烧录授权平台。
单击【文件】-【设置】,启用【只授权】选项。
选择 端口号,输入 生产凭证,工位选择 烧录授权。
点击 运行 完成授权。
打开芯片原厂烧录工具 Telink BDT,按下图步骤完成固件 (
8258_module.bin
) 烧录。
五. 固件二次烧录
如果是在 开发调试阶段,在完成首版固件烧录授权之后,如果要二次烧录修改后的固件,一般使用 原厂烧录软件和芯片专用 烧录器 进行固件烧录。(即一次授权,多次烧录)
将 开发板 与 烧录器 (Telink) 连接。
对代码进行编译后,使用芯片原厂烧录工具 Telink BDT 烧录固件
8258_module.bin
。
六. 设备联网测试
完成固件烧录授权后,即可通过 智能生活 APP 测试设备是否能正常配网。
打开 智能生活 APP,添加设备。
方法 ①:在 首页 点击右上角 “+” 号进入 添加设备 页面,看到产品图标时进行添加;
方法 ②:在 添加设备 页面找到 传感 品类,选择 温湿度传感器(蓝牙),扫描到设备后点击 “+” 号进行添加。
进入设备面板,查看固件版本。
成功连接设备后,可从 首页 进入设备面板,然后点击右上角图标进入 设置 页面,点击 设备升级 即可查看设备的固件版本。
获取设备虚拟 ID,查看云端日志。
在 设置 页面点击 设备信息 即可获得设备的 虚拟 ID;
进入 涂鸦 IoT 平台,从左侧导航栏的【产品】-【设备】进入 设备管理 页面或 设备日志 页面,根据 设备 ID 找到对应的设备,即可查看该设备的状态和日志等信息。
七. 常见问题解答
7.1 不同芯片平台的烧录授权方法
本节课主要介绍了 TLSR825x
平台下 BTU 模组 的烧录授权方法,如果您使用的是其他芯片平台的涂鸦标准蓝牙模组,可以同时参考 烧录授权 - BLE 模组 中的文档来完成烧录授权工作。
7.2 云模组烧录授权平台常见问题
7.2.1 获取token失败:没有操作权限
输入【生产凭证】点击【确定】后出现【获取token失败:没有操作权限】提示,可在 PMS 系统的【生产管理 - 工单管理 - 生产凭证确认】中进行生产凭证确认后,再重新尝试。
7.2.2 端口异常
点击【运行】按钮后出现【端口异常2】提示,可能的原因有:
- 串口驱动未安装;
- 串口工具没插好、接线有误或接触不良等硬件连接问题;
- 端口被占用,如串口调试助手上打开了该端口。
7.2.3 获取固件指纹错误
点击【运行】按钮后出现【获取固件指纹错误】提示,说明模组内已烧录的固件的 固件标识名 或 固件版本 与授权码绑定固件的固件标识名或固件版本不一致。该错误一般出现在 仅授权 情况下,解决方法有:
- 使用和模组内固件标识名及版本号一致的生产凭证进行授权;
- 使用非仅授权方案,重新对模组进行 烧录授权。
7.2.4 进入产测失败
点击【运行】按钮后出现【进入产测失败】提示,可能原因有:
设备已联网超过 15 分钟,产测关闭,需要擦除 Flash 中的对应区域的数据信息;
串口选错或者 TX 和 RX 接错,请检查接线是否正确;
波特率选择错误,需在【文件 - 设置】中选择正确的【烧录波特率】;
对于一些供电要求比较高的芯片,需要供电稳定的 USB 口进行烧录授权。
更多关于涂鸦蓝牙模组产测的信息可查看 蓝牙 SDK 产测。
上一篇: 第 3 课:环境搭建
下一篇: 第 5 课:应用开发
涂鸦蓝牙SDK开发系列教程——4.烧录授权相关推荐
- 涂鸦 Wi-Fi SDK开发系列教程——4.烧录授权
在涂鸦IoT平台使用免开发方案配置完成,成功生成固件后:或使用自定义开发方案成功开发生成固件并上传到涂鸦IoT平台后.需要对模组进行烧录授权,那么如何对模组进行烧录授权?本章节将会详细的对几种不同的烧 ...
- 涂鸦Zigbee SDK开发系列教程——4.烧录授权
上一章节中简述了烧录授权方案大致流程,针对不同开发方案对应了不同烧录授权方案,本章节将会针对几种不同的烧录授权方式进行详细讲解. 烧录授权方案 使用 Zigbee SDK 开发完应用功能后,您需要将编 ...
- 涂鸦蓝牙SDK开发系列教程——6.固件升级
涂鸦 IoT 平台提供 固件 OTA 升级 功能,以满足客户在产品发布后,仍可对已出货设备进行固件版本升级的需求,本节课将介绍不同开发方式下固件 OTA 升级的方法.涂鸦方案的 OTA 流程与交互协议 ...
- 涂鸦蓝牙SDK开发系列教程——1.快速入门
本系列课程将介绍如何使用 涂鸦蓝牙模组及其 SDK 进行产品开发,帮助开发者更快掌握 涂鸦蓝牙模组.涂鸦蓝牙 SDK.涂鸦 IoT 平台.涂鸦三明治开发套件.涂鸦云模组烧录授权平台 等开发工具的使用方 ...
- 涂鸦蓝牙SDK开发系列教程——5.应用开发
在前几节课中已经介绍了如何在 涂鸦 IoT 平台 上创建智能产品以及如何搭建涂鸦蓝牙模组的开发环境,在此基础上,本节课将继续以 BTU 模组为例,介绍如何使用 涂鸦蓝牙模组及其 SDK 开发一款温湿度 ...
- 涂鸦蓝牙SDK开发系列教程——3.环境搭建
本节课主要介绍在应用开发前如何搭建开发环境,包括 SDK 获取.IDE 安装.烧录工具.调试工具等,同样以 BTU 模组为例,演示开发必备环境的准备过程. 一. SDK 获取 获取涂鸦蓝牙芯片 SDK ...
- 涂鸦蓝牙SDK开发系列教程——2.产品创建
要使用涂鸦蓝牙模组开发一款智能产品,首先要在 涂鸦 IoT 平台 上创建对应的产品.如果还没有涂鸦开发者账号,可以点此 链接 进行注册,企业用户可参考 企业认证流程 完成企业认证. 接下来以 使用 B ...
- 涂鸦蓝牙SDK开发系列教程——8.Board API 说明
Board 层 API 是涂鸦抽象各芯片硬件外设,封装的一层标准接口.您可以调用这些 API 来使用相应外设,快速实现产品功能,也可以根据需要直接调用原厂外设接口. Board 层功能模块列表如下: ...
- 涂鸦 Wi-Fi SDK开发系列教程——5.对模组二次开发
上期精彩回顾:Wi-Fi模组二次开发课程--4.烧录授权 本章节旨在通过一个简单Demo,使开发者能够了解涂鸦SDK的启动流程,带领开发者基于涂鸦提供的SDK对模组进行二次开发. Demo功能介绍:硬 ...
- 涂鸦 Wi-Fi SDK开发系列教程——3. 快速上手
本系列课程面向有嵌入式开发经验的同学,用来介绍如何在涂鸦的Wi-Fi系列模组和Wi-Fi&Bluetooth LE系列模组上进行二次开发. 上篇回顾:Wi-Fi模组二次开发--SoC开发环境搭 ...
最新文章
- 在线作图|2分钟绘制一张环状热图
- 为什么要低温保存_新酒为什么要贮存一段时间才能喝?瓶装白酒这样保存最好!...
- 在IIS上部署基于django WEB框架的python网站应用
- java输入hello_详解JAVA输出Hello World
- 香肠派对电脑版_香肠派对2020先行服最新内测版(众神降临)-香肠派对2020先行服游戏下载v9.82...
- 前端基础到进阶(1):HTML基础入门
- java的字符串复制_我应该如何复制Java中的字符串?
- js中 NaN、 null 及 undefined 的区别(转载)
- wpf 让图标显示在系统托盘
- 因果推断笔记——DML :Double Machine Learning案例学习(十六)
- 怎么用spss做冗余分析_SPSS在线_SPSSAU_SPSS典型相关分析
- 工业物联网网关 数据采集网关
- mac桌面文件不见了怎么办?
- 统计学理论—假设检验
- 高德地图如何同时显示多个InfoWindow信息窗体
- 阿里云服务器Ubuntu16.04配置图形界面并远程桌面连接
- 【ACWing】2188. 无源汇上下界可行流
- 穿越NAT的SDWAN技术实现(上)
- 仿抖音--音乐裁剪控件,android实现IOS版本效果
- 35页PPT下载 |《2019年5G应用场景研究报告》
热门文章
- console application
- 自定义Qml控件:ImageButton
- Truecrypt加密软件文件检测
- 什么专业的会学python语言_为什么要学习Python编程语言?哪些人适合学习Python?...
- 学校计算机编程用的什么软件,电脑编程软件都有哪些
- 计算机boot进入u盘启动,用U盘重装系统怎么把Boot设置为启动项?
- 淘宝店铺基础版全屏装修步骤及代码,已经经过测试
- 谷粒商城 Day04 sku与spu接口
- 华成英-模拟电子技术P9 静态工作点的稳定 笔记
- 蚂蚁课堂视频笔记思维导图-4期 三、消息中间件