模组产测

更新时间:2024-03-21 06:03:20下载pdf

TuyaOS 框架基于涂鸦 云模组烧录授权平台 提供了一套模组和 PCBA 的产测方案。

适用场景

  • 委托涂鸦生产

    涂鸦直接出货已完成烧录授权的模组,您收到模组后可直接使用。

  • 用涂鸦工具自主生产

    涂鸦提供云模组烧录工具、授权码、烧录说明和烧录工装制作说明等一系列资料,您可以参考涂鸦提供的资料,自行对模组进行生产及测试。

  • 与涂鸦进行 产测对接

    您有完整的烧录生产体系,但是需要接入涂鸦提供的上位机产测 SDK,进行授权测试等。

  • 用涂鸦工具对模组授权

    调试阶段不小心将授权信息擦除(如果是非空模组,模组出厂时有授权信息),或者需要更新模组的授权。您已经购买授权码,想通过涂鸦的云模组烧录工具对模组重新烧录授权。

    • 如果想通过涂鸦工具进行烧录授权,则需要您将您的固件上传到涂鸦 IoT 开发平台。详细流程,请参考 客户自定义固件管理

    • 如果您没有用到涂鸦的云模组烧录工具和涂鸦提供的产测 SDK,您可以忽略该功能。

功能描述

  • 烧录授权

  • 读写 MAC,写入国家码等配置信息

  • 测试 Wi-Fi 和蓝牙射频能力

  • 测试模组 GPIO 功能

    TuyaOS 3.4.0 及以上版本,测试 GPIO 功能需要由应用实现。

  • 测试 PCBA 的外设功能

    不同 PCBA 板的外设也会不同,故框架不处理该部分指令,而是通过回调函数给到应用,让应用自行处理。如果您想要获取这部分的指令协议,联系您的涂鸦客户经理或者 提交工单 联系技术支持,来获取相关的产测协议。

关闭产测入口

联网单品设备激活之后连续工作 15 分钟,产测入口关闭。

工作原理

待测设备上位机产测入口未关闭定时发送进入产测指令设备上电,开启 500ms 的产测串口指令接收窗口进入产测发送产测指令返回执行结果进入正常工作流程alt[收到进入产测指令][没有收到指令]待测设备上位机

开发指导

关联头文件

  • mf_test.h

使用方法

  1. 初始化产测功能。
  2. 如果成功进入产测,则根据产测状态和指令做相应处理。
  3. 如果没有进入产测,则启动正常流程调用 设备初始化,以及其他功能初始化等。
  4. 编译固件,上传固件 至涂鸦 IoT 开发平台。
  5. 获取授权码,详情请参考 授权码和高级能力
  6. 下载生产解决方案
  7. 将模组/PCBA 产测串口通过 TTLUSB 串口助手进行硬件连接。
  8. 如果是模组,则使用 涂鸦云模组工具 进行产测。
    如果是 PCBA,则使用生产解决方案对应产品品类 的产测工具进行测试。

API 说明

模组产测初始化

函数内先判断产测入口是否关闭。如果关闭,则直接退出函数。如果未关闭,则会开启 500ms 的产测串口指令接收窗口。

  • 如果在 500ms 内收到进入产测指令,则进入模组产测流程,会一直在该函数内运行,不会退出函数。
  • 如果在 500ms 内没有收到产测指令,则会退出该函数。
  • 产测入口关闭超时未收到指令 而退出该函数,函数返回值均为 OPRT_OK

typedef struct {
    MF_UART_INIT_CB uart_init;   // 产测串口初始化
    MF_UART_FREE_CB uart_free;   // 产测串口去初始化
    MF_UART_SEND_CB uart_send;   // 产测串口发送数据
    MF_UART_RECV_CB uart_recv;   // 产测串口接收数据
    MF_USER_PRODUCT_TEST_CB mf_user_product_test;  // PCBA 外设测试指令
    MF_USER_BASIC_TEST_CB   mf_user_basic_test;    // 用户测试指令,例如 GPIO 测试等
    MF_USER_CALLBACK user_callback;                // 设备授权后的通知
    MF_USER_CALLBACK user_enter_mf_callback;       // 刚开始进入模组产测的通知
} MF_IMPORT_INTF_S;

/**
* @brief mf test init fucntion
   *
 * @param[in] intf mf test configure data
 * @param[in] file_name App bin name
 * @param[in] file_ver User Software version
 * @param[in] wrMacEn Need wirte MAC or not
   *
 * @note some fireware need write MAC when mf test
   *
 * @return OPRT_OK on success. Others on error, please refer to tuya_error_code.h
   */

OPERATE_RET mf_init(IN CONST MF_IMPORT_INTF_S *intf, IN CHAR_T *file_name, IN CHAR_T *file_ver, IN BOOL_T wrMacEn);

忽略关闭产测入口的标志位

方便您在调试阶段对模组进行烧录授权,对于正式固件,请勿调用该接口。

在调用 模组产测初始化 接口之前,调用该接口。模组产测初始化时不会判断当前产测入口是否关闭,直接开启 500ms 的产测串口指令接收窗口。

/**
 * @brief ignore mf test closed flag
 *
 */
VOID mf_test_ignore_close_flag(VOID);

参考示例

下载联网单品框架后,框架的 apps 目录下有所有功能示例代码集合 tuyaos_demo_examples,可参考 service_mf_test 文件夹中的代码。关于功能示例代码集合的使用,参考 TuyaOS 示例集合

参考文档

常见问题

模组无法进入产测,可能是什么原因?

  • 设备激活之后连续工作 15 分钟,产测入口关闭。
  • 上位机和设备的串口接线不良。
  • 上位机的串口波特率和设备的串口波特率不一致,导致串口收不到正确数据。
  • 用户串口和产测串口一致,并且您在调用模组产测初始化前先初始化了用户串口,导致后续产测串口初始化失败。建议等模组产测初始化接口调用完成后,再初始化用户串口。