更新时间:2023-12-21 10:33:38下载pdf
设备成品产测是在制造过程中对成品进行全面检查和测试的过程,有助于确保产品质量和性能,提高客户满意度并确保产品符合规定的标准和要求。
本文主要介绍 设备扫描指定信标 成品产测方案,并未涉及成品产测的具体测试内容代码是如何实现的。因为不同的产品由于其功能差异,产测内容也是不一样的,成品产测的具体功能需要您根据实际的产品功能来设计和实现。
设备上电 扫描指定产测信标。
设备扫描到产测信标后,设备可根据预定义的产测步骤执行自动化产测步骤。扫描到的产测信标不同,执行的产测动作也可能会不同。
产测信标和产测动作都由您自行定义。
测试人员关注设备的动作现象来判定产测的结果。这种产测不需要上位机参与,操作更加便捷。
设备如果符合以下任意一种情况,都不会进入成品产测流程,也不会扫描产测信标和连接产测路由。
联网单品设备激活之后连续工作 15 分钟。
配网工作模式选择 GWCM_OLD
,该模式下不支持上述两种成品产测功能。关于配网工作模式,参考 配网模式的定义。
如果配网工作模式选择上电默认配网模式,但此时设备已经拿到 SSID 等网络信息,选择的配网模式包括:
GWCM_OLD_PROD
GWCM_LOW_POWER_AUTOCFG
GWCM_SPCL_AUTOCFG
如果配网工作模式选择上电默认不配网,但设备当前处于配网状态,选择的配网模式包括:
GWCM_SPCL_MODE
GWCM_LOW_POWER
prod_test.h
tuya_devos_utils.h
有两种方法实现这套成品产测:
根据参考示例,您自己实现和管理
从扫描到具体的产测动作,你都自己实现。框架提供扫描 Wi-Fi 等基础接口,并且也提供了实现进入产测的参考示例。如果想要做些细微修改,灵活度也更高。
调用框架提供的接口
调用框架提供的成品产测方案接口。框架内实现了扫描条件判断,以及扫描指定信号等流程。您只需关心扫到后的消息处理,较为便捷,不过会有一定限制。
由于每个模组上的资源不一样,并不会打开所有功能,您需要检查 tuya_iot_config.h
确认如下宏是否定义:
#define ENABLE_PRODUCT_AUTOTEST 1
注册成品产测相关信息。
调用扫描产测信标接口。
注册配网模式、产测信标列表、产测指令及结果的回调函数等必要信息。
//设备信标产测,产测信标列表
typedef struct {
char ssid[32 + 1];
signed char rssi;
} prodtest_ssid_info_t;
//设备信标产测,扫描到信标后返回的信息
// flag:设备是否有授权
// info:扫描到信标列表
// info_count:扫描到的信标数量
typedef OPERATE_RET(*prodtest_app_cb_t)(int flag, \
prodtest_ssid_info_t *info, \
uint8_t info_count);
typedef struct {
GW_WF_CFG_MTHD_SEL gwcm_mode; //配网模式
uint8_t ssid_count; //设备信标产测,您自定义的产测信标个数
const char **ssid_list; //设备信标产测,您自定义的产测信标列表
prodtest_app_cb_t app_cb; //设备信标产测,扫描到信标后返回的信息
MF_USER_PRODUCT_TEST_CB product_cb; //上位机局域网产测,应用指令数据回调
char *file_name; //上位机局域网产测,固件标识名,即 APP_BIN_NAME
char *file_ver; //上位机局域网产测,固件版本号,即 USER_SW_VER
} prodtest_app_cfg_t;
/**
* @brief 注册成品产测时所需的配置信息
*
* @param[in] app_cfg:应用配网模式
*
* @return OPERATE_RET
*
*/
int prodtest_app_register(const prodtest_app_cfg_t *app_cfg);
信标所在信道必须是 6 信道。
如果扫到了 tuya_mdev_test4
,则会自动进入 上位机局域网产测,不会再扫描其他信标。扫描信标产测中,您自定义的 SSID 也不能与 tuya_mdev_test4
重复。
/**
* @brief 扫描产测信标及连接 tuya_mdev_test4
* 扫描产测信标前会做产测入口判断,当前设备满足允许进入产测的前提条件时,才会进行扫描和连接。
* 具体条件请看上文的<关闭产测入口>所列条目。
*
* @param[in] timeout:扫描超时时间 ms
* 如果超过该时间还扫不到产测信号,则不会进入产测流程。
* 如果填 0,则会使用默认值 500ms。
*
* @return TRUE:需要进入产测模式,FALSE:不进入产测模式
*
*/
bool prodtest_ssid_scan(uint32_t timeout);
下载联网单品框架后,框架的 apps
目录下有所有功能示例代码集合 tuyaos_demo_examples
,可参考 service_product_test
文件夹中的代码。关于功能示例代码集合的使用,参考 TuyaOS 示例集合。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈