烧录授权

更新时间:2023-01-29 07:32:16下载pdf

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

方案介绍

烧录授权一体方案

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

烧录授权分立方案

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

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

固件上传

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

  1. 新增固件。

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

    烧录授权

  2. 填写固件信息。可单击各条目的 ? 图标,查看填写说明。

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

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

    烧录授权

  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

    烧录授权

  5. 新增固件版本。

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

    烧录授权

  6. 上传固件。可单击各条目的 ? 图标,查看填写说明。

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

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

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

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

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

    烧录授权

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

  7. 进行固件上架。

    烧录授权

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

    烧录授权

  9. 固件管理。

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

    烧录授权

授权码获取

模组

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

  1. 单击 立即购买 进入 购买详情 页。

    新用户可免费申请 2 个授权码,参考步骤 5。

    烧录授权

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

    烧录授权

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

    烧录授权

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

    烧录授权

    烧录授权

    烧录授权

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

    烧录授权

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

    烧录授权

三明治开发板

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

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

    烧录授权

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

    烧录授权

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

固件烧录授权

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

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

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

生产凭证

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

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

    烧录授权

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

    烧录授权

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

    烧录授权

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

    烧录授权

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

    烧录授权

授权码清单

  1. 开发板烧录器 (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

    烧录授权

生产凭证-仅授权

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

    烧录授权

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

    烧录授权

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

    烧录授权

  4. 单击文件 > 设置,启用 只授权 选项,并单击 确定

    烧录授权

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

    烧录授权

  6. 单击 运行 完成授权。

    烧录授权

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

    烧录授权

固件二次烧录

开发调试阶段 完成首版固件烧录授权之后,如需二次烧录修改后的固件,此时一般使用 原厂烧录软件 和芯片专用的 烧录器 进行固件烧录。仅需一次授权,可以进行多次烧录。

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

    烧录授权

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

    烧录授权

设备联网测试

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

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

    方法 ①:在 首页 单击右上角 +,进入 添加设备 页面。选择产品,进行添加。

    烧录授权

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

    烧录授权

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

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

    烧录授权

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

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

    烧录授权

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

    烧录授权

常见问题解答

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

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

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

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

    烧录授权

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

    烧录授权

  2. 端口异常

    烧录授权

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

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

    烧录授权

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

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

    烧录授权

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

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

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

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

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

    更多关于涂鸦蓝牙模组产测的信息,可参考 蓝牙 SDK 产测