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

固件开发完成后,需要将固件和授权码烧录到设备内,才可以连接云服务。涂鸦提供多种烧录授权方式供您使用,您可在不同的开发阶段选择合适的烧录授权方式。


一. 方案介绍

1.1 烧录授权一体方案

烧录授权一体方案指的是 烧录授权 都通过 涂鸦云模组烧录授权平台 实现,涂鸦云模组烧录授权平台已经集成了涂鸦标准芯片的烧录软件,您需要将固件按规范传到 涂鸦 IoT 平台,然后获取 授权码 (生产凭证) 进行烧录授权。


1.2 烧录授权分立方案

烧录授权分立方案适用于 开发调试阶段 或 涂鸦云模组烧录授权平台 未集成芯片的烧录软件 时,您可使用芯片烧录软件进行固件烧录,根据授权方式的不同可分为以下两种情况:

  • 自行写入授权码:涂鸦以 MS Excel 文件形式提供 授权码 (授权码清单),您需要将其写入固件实现授权,然后通过芯片烧录软件完成烧录授权。
  • 使用涂鸦上位机写入授权码:您需要将固件按规范传到 涂鸦 IoT 平台,获取 授权码 (生产凭证-仅授权) 后即可通过 涂鸦云模组烧录授权平台 完成授权,通过芯片烧录软件进行固件烧录。

二. 固件上传

如果选择通过 涂鸦云模组烧录授权平台 进行授权,需要先在 涂鸦 IoT 平台 的【硬件开发】页面上传固件。

  1. 新增固件。

    进入产品【硬件开发】页面,单击下图中的【新增自定义固件】。

    add-firmware

  2. 填写固件信息。(点击各条目的 “?” 图标查看填写说明)

    • 固件标识名:必须与 步骤 3 中配置的固件标识名保持一致;
    • Flash 大小:可以在 模组规格书 的产品概述中找到;

    填写完成后点击【生成固件 KEY】,如果提示【标识名已存在】,则需重新填写新的标识名。固件标识名具有 唯一性,不可与已创建的固件重复,可根据产品规格或个人喜好进行命名,例如【芯片平台+产品类型+产品特性+厂商标识名/个人姓名缩写】。

    enter-firmware-information

  3. 配置固件。

    打开 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_NUM0x0000010A (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
    
  4. 生成固件。

    对修改后的代码进行编译,生成用于烧录的固件。对于 TLSR825x 平台而言,代码编译前建议对工作区文件进行刷新后再编译,编译生成的固件为 ble_sdk_multimode\8258_module\8258_module.bin

    generate-firmware

  5. 新增固件版本。

    步骤 2 生成 固件 KEY 后,可以看到【当前版本】中提示【!无生产版本】,点击下方的【新增固件版本】进入【上传固件】页面。

    add-firmware-version

  6. 上传固件。(点击各条目的 “?” 图标查看填写说明)

    • 固件版本:必须与 步骤 3 中配置的固件版本 保持一致

    • 生产固件:用于传递给工厂烧录的固件文件。

    • 用户区固件:用于传递给工厂烧录的固件文件。

    • 升级固件:用于固件升级 (OTA) 的固件文件,首次上传固件时可忽略。

      对于 TLSR825x 平台而言,生产固件、用户区固件、升级固件均为 8258_module\8258_module.bin

    upload-firmware

    如果是在 步骤 2 直接点击【上传固件】进入 步骤 6 的,那么可能会在点击【保存】后才提示【标识名已存在】,可以点击【返回上一步】回到 步骤 2 所示页面,修改固件标识名,同时要修改 本地固件 中的标识名。然后再点击【上传固件】进入 步骤 6 所示页面,并将鼠标移至已上传的 8258_module.bin 上,点击右侧出现的 删除 图标,再上传新的固件。

  7. 进行固件上架。

    enable-firmware

  8. 设置上架内容和上架范围后上架固件。

    enable-firmware-version

  9. 固件管理。

    可在左侧导航栏【固件管理】中找到固件,点击【详情】可查看更多固件信息。

    manage-firmware


三. 授权码获取

3.1 模组

在【硬件开发】页面选择好云模组后即可获取授权码,操作步骤如下:

  1. 点击【立即购买】进入 购买详情 页。(新用户可免费申请 2 个授权码,参考步骤 5)

    get-license

  2. 设置 数量 后,点击【立即购买】进入 订单信息确认 页面,确认信息无误后 提交订单 完成购买。

    buy-module-and-licence

  3. 如果仅购买授权码,可点击右上角“×”号退出模组的 购买详情 页,并在 通用备货采购 页面选择 授权码-通用版 进行购买。该页面也可通过左侧导航栏的 采购 - 采购商品 - 生产研发采购 中进入。

    buy-license-only

  4. 购买详情 页设置 产品交付形式 后完成授权码购买。

    buy-license

    select-product

    select-delivery-mode

  5. 如果选择 “免费领取 2 个激活码”,在 免费领取授权码 页面设置好 交付形式 后下单即可。

    get-free-license

  6. 订单提交后,可在 采购 - 订单管理 - 采购订单 中进入 调试样品&样品订单 页面,下载产品对应的授权码。

    download-license


3.2 三明治开发板

如果使用 涂鸦三明治开发板 进行开发,获取授权码的步骤如下:

  1. 进入 三明治开发板 管理界面,绑定开发板。

    add-sandwich-development-board

  2. 单击【申请新的授权码】,选择对应的 产品 后,单击【确定】即可获得授权码。

    get-license-for-sandwich

    如果申请失败并提示“您需要先申请到烧录软件专门的账号”,请先在 涂鸦PMS 系统 注册页面完成账号申请,申请的手机号 (账号) 要与 IoT 平台的手机号 (账号) 保持一致。


四. 固件烧录授权

在烧录授权之前,请确认是否已按照 第 3 课:环境搭建 中的方法准备好了以下烧录环境:

  • 已注册了 PMS 账号
  • 已安装了 生产解决方案原厂烧录软件 ( BTU模组:Telink BDT );
  • 已准备了安装有 涂鸦蓝牙模组的开发板 、芯片专用烧录器USB 转串口工具

下面根据授权码的三种交付形式进行固件烧录授权的操作步骤说明。

4.1 生产凭证

  1. 开发板USB 转串口工具烧录器 (Telink) 连接。

    有些芯片平台只需要连接 USB 转串口工具,TLSR825x 芯片平台必须两个都连接!

    connect-both

  2. 打开 生产解决方案 软件,登录 PMS 账号。

    login-typroduction-toolkit

  3. 点击 云模组 进入 涂鸦云模组烧录授权平台

    select-tyda

  4. 选择 端口号,输入 生产凭证,工位选择 烧录授权

    tyda-fill-in-license

  5. 点击 运行 完成烧录授权。

    tyda-run


4.2 授权码清单

  1. 开发板烧录器 (Telink) 连接。

    connect-telink

  2. 从授权码清单中选取一组 uuidauthkeymac 地址 填入 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 */
    
  3. tuya_ble_sdk_demo.c 中的将初始化参数 use_ext_license_keydevice_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,
    };
    
  4. 对代码进行编译后,使用芯片原厂烧录工具 Telink BDT 烧录固件 8258_module.bin

    bdt-download


4.3 生产凭证-仅授权

  1. 开发板USB 转串口工具烧录器 (Telink) 连接。

    connect-both

  2. 打开 生产解决方案 软件,登录 PMS 账号。

    login-typroduction-toolkit

  3. 点击 云模组 进入 涂鸦云模组烧录授权平台

    select-tyda

  4. 单击【文件】-【设置】,启用【只授权】选项。

    tyda-config

  5. 选择 端口号,输入 生产凭证,工位选择 烧录授权

    tyda-fill-in-license

  6. 点击 运行 完成授权。

    tyda-run

  7. 打开芯片原厂烧录工具 Telink BDT,按下图步骤完成固件 (8258_module.bin) 烧录。

    bdt-download


五. 固件二次烧录

如果是在 开发调试阶段,在完成首版固件烧录授权之后,如果要二次烧录修改后的固件,一般使用 原厂烧录软件和芯片专用 烧录器 进行固件烧录。(即一次授权,多次烧录)

  1. 开发板烧录器 (Telink) 连接。

    connect-telink

  2. 对代码进行编译后,使用芯片原厂烧录工具 Telink BDT 烧录固件 8258_module.bin

    bdt-download


六. 设备联网测试

完成固件烧录授权后,即可通过 智能生活 APP 测试设备是否能正常配网。

  1. 打开 智能生活 APP,添加设备。

    方法 ①:在 首页 点击右上角 “+” 号进入 添加设备 页面,看到产品图标时进行添加;

    add-device

    方法 ②:在 添加设备 页面找到 传感 品类,选择 温湿度传感器(蓝牙),扫描到设备后点击 “+” 号进行添加。

    add-device-manully

  2. 进入设备面板,查看固件版本。

    成功连接设备后,可从 首页 进入设备面板,然后点击右上角图标进入 设置 页面,点击 设备升级 即可查看设备的固件版本。

    check-firmware-version

  3. 获取设备虚拟 ID,查看云端日志。

    设置 页面点击 设备信息 即可获得设备的 虚拟 ID

    view-device-id

    进入 涂鸦 IoT 平台,从左侧导航栏的【产品】-【设备】进入 设备管理 页面或 设备日志 页面,根据 设备 ID 找到对应的设备,即可查看该设备的状态和日志等信息。

    device-details


七. 常见问题解答

7.1 不同芯片平台的烧录授权方法

本节课主要介绍了 TLSR825x 平台下 BTU 模组 的烧录授权方法,如果您使用的是其他芯片平台的涂鸦标准蓝牙模组,可以同时参考 烧录授权 - BLE 模组 中的文档来完成烧录授权工作。


7.2 云模组烧录授权平台常见问题

7.2.1 获取token失败:没有操作权限

no-operation-permission

输入【生产凭证】点击【确定】后出现【获取token失败:没有操作权限】提示,可在 PMS 系统的【生产管理 - 工单管理 - 生产凭证确认】中进行生产凭证确认后,再重新尝试。

pms-confirm-token


7.2.2 端口异常

serial-port-error

点击【运行】按钮后出现【端口异常2】提示,可能的原因有:

  • 串口驱动未安装;
  • 串口工具没插好、接线有误或接触不良等硬件连接问题;
  • 端口被占用,如串口调试助手上打开了该端口。

7.2.3 获取固件指纹错误

get-firmware-token-failed

点击【运行】按钮后出现【获取固件指纹错误】提示,说明模组内已烧录的固件的 固件标识名固件版本 与授权码绑定固件的固件标识名或固件版本不一致。该错误一般出现在 仅授权 情况下,解决方法有:

  • 使用和模组内固件标识名及版本号一致的生产凭证进行授权;
  • 使用非仅授权方案,重新对模组进行 烧录授权

7.2.4 进入产测失败

enter-product-test-failed

点击【运行】按钮后出现【进入产测失败】提示,可能原因有:

  • 设备已联网超过 15 分钟,产测关闭,需要擦除 Flash 中的对应区域的数据信息;

  • 串口选错或者 TX 和 RX 接错,请检查接线是否正确;

  • 波特率选择错误,需在【文件 - 设置】中选择正确的【烧录波特率】;

  • 对于一些供电要求比较高的芯片,需要供电稳定的 USB 口进行烧录授权。

更多关于涂鸦蓝牙模组产测的信息可查看 蓝牙 SDK 产测



上一篇: 第 3 课:环境搭建
下一篇: 第 5 课:应用开发

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,但是我没有找到关于涂鸦开发教程ZS3L的相关信息。我可以为您提供关于涂鸦开发教程ZS5的信息,如果您对此感兴趣的话。涂鸦三明治 ZigBee SoC 主控板(ZS5)是一种免开发方式的主控板,具备连入涂鸦云的通信能力,无需另增通信板。您可以使用Arduino IDE来编写程序,并通过此软件将程序上传到涂鸦三明治开发板。通过打开涂鸦 IoT 平台,点击产品 > 开发者工具中的三明治开发板 > 绑定开发板,然后在弹出的窗口中输入开发板上的 ID 和密码,即可完成绑定。这样,您就可以开始使用涂鸦开发板进行开发了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [物联网学什么开发板好?](https://blog.csdn.net/weixin_39535287/article/details/111438201)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [涂鸦Zigbee SDK开发系列教程——4.授权](https://blog.csdn.net/sandwich_iot/article/details/125371912)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值