产测说明及示例

更新时间:2024-11-20 02:14:51下载pdf

产测即生产测试。目的是为了保证出厂产品的硬件功能全部正常,以及尽可能的检验产品的软件功能。

产测介绍

  • PCBA 测试

    指对贴装好电子元器件的 PCBA 电路板进行电气导通性及基于输入输出数值的检测。

  • 成品测试

    成品整机测试可以验证设备是否符合设计要求,性能、功能等是否满足标准,同时还可以发现产品问题以便纠正。

  • 老化测试

    老化测试是为了保障产品达到符合要求的合格率而进行的测试项目。为了提高产品的可靠性,几乎所有产品在出厂前都要先进行老化测试。到目前为止,还没有其它的替代方法。
    新产品需要考核新的元器件或整机的性能,因此需要更高的老化测试指标。
    老化测试使产品的缺陷在出厂前暴露,比如焊接点的可靠性,以及产品在设计、材料和工艺方面的各种缺陷等。老化使产品性能进入稳定区间后出厂,可以减少返修率。

产测在代码中的应用

本文主要介绍如何通过 Tuya IoT SDK 进行成品产测,以及如何使用涂鸦方案的成品产测入口函数。本文并未涉及成品产测的功能代码是如何实现的,因为不同的产品由于其功能差异,产测内容也是不一样的,所以成品产测的具体实现需要开发者根据实际的产品功能来设计成品产测的功能。

在开始说明代码之前,先简单介绍下产测流程:

设备上电之后,会先扫描周围 Wi-Fi ,如果扫描到产测 Wi-Fi ,设备就会进入产测模式。需要注意的是,设备在配上网 15 分钟后,会关闭产测模式。产测路由有没有密码并不重要,设备并不会去连接产测路由。

修改产测路由名称

platforms/bk7231n/common/tuya_main.c 文件中找到 TEST_SSID 宏,可以通过修改这个宏去改变设备的产测路由名称。

#define TEST_SSID "tuya_mdev_test1"

产测配置函数

当设备在产测模式打开的情况下扫描到了产测路由,就会进入产测模式。需要先设置好产测函数,等待后续满足条件后被调用。设置产测模式的函数原型如下:

VOID app_cfg_set(IN CONST GW_WF_CFG_MTHD_SEL mthd, APP_PROD_CB callback);

Parameters:

  • mthd: 工作模式
  • callback: 产测回调函数

Return:

  • None

通过阅读代码可以看到回调函数最终是在 scan_test_ssid() 函数中调用的。

STATIC BOOL_T scan_test_ssid(VOID)
{
	...
    if(app_prod_test) {
		...        
        app_prod_test(flag, ap->rssi);
    }
    
    return TRUE;
}

scan_test_ssid() 函数位于 device_init() 函数之前被执行,所以不能在 device_init() 函数中去设置产测回调函数。要在 scan_test_ssid() 函数之前设置好产测函数,可以在 app_init(); 函数中进行设置。

产测说明及示例

产测回调函数

该回调函数在进入产测模式后会被调用,函数原型如下:

typedef VOID_T (*APP_PROD_CB)(BOOL_T flag, SCHAR_T rssi);

Parameters:

  • flag: 判断该模组是否授权。
  • rssi: 产测路由信号强度。

Return:

  • None

成品产测的功能是在该回调函数中实现的。在实现成品产测功能时,需要注意:

  • 判断该设备是否经过授权。如果没有经过授权,将来无法连入涂鸦开发者平台。此时,不应让设备进入成品产测,应让设备做出一些异常提示。
  • 当前设备处于弱网环境。可能是设备处于产测路由覆盖边缘,也可能是设备硬件方面的问题。此时,也应让设备做出一些异常提示。通知相关人员进行检测和确认问题,避免因为设备硬件问题影响用户体验。

应用实例

先开启产测路由,再给设备上电。当设备扫描到产测路由时,就会进入产测模式。

访问 GitHub 查看完整工程代码

产测说明及示例