生产测试说明 您所在的位置:网站首页 手机wifi功能测试 生产测试说明

生产测试说明

#生产测试说明| 来源: 网络整理| 查看: 265

本文主要介绍涂鸦 Wi-Fi 通用模组在生产测试环节常用到的四种产测模式。MCU 开发工程师根据实际需要选择一个或多个产测指令,通过 Wi-Fi 模组的回复数据判定产测是否成功并提供相关显示。

简介

产测指令仅在生产场景中使用,主要测试 Wi-Fi 模组功能及模组与控制板的通讯能力。

扫描指定路由模式

模组接收到 MCU 发送的 0x0e 命令字后,扫描固定名称的无线信号并返回信号强度值。MCU 根据信号强度判定 Wi-Fi 模组射频性能是否符合要求。本模式不连接网络,用时短,产测效率高,多台设备可同时进行测试。

连接指定路由模式

MCU 通过 0x2c 命令字,将产测路由的 SSID 和密码传给模组,模组连接路由器并返回云端通讯状态,MCU 根据返回的网络状态判定产测是否成功。此模式产测路由器须有联网能力,且由于路由承载能力有限,同一时间产测设备不宜过多。由于会进行云端链接测试,产测结果更加可靠。

红外功能测试模式

此模式为单独的红外功能的测试,用来测试模组红外收发引脚是否工作正常,未使用相关功能的开发者,可无需关心。

蓝牙功能测试模式 此模式为单独的蓝牙功能的测试,检测蓝牙扫描结果和信号强度百分比。未使用相关功能的开发者,可无需关心。

扫描指定路由模式

触发产测的方式可由 MCU 端自定义,在模组与 MCU 初始化数据交互完成后,MCU 可发送 0x0e 产测命令字,模组扫描指定的路由(SSID 为 tuya_mdev_test),返回扫描结果和信号强度百分比。MCU 根据信号强度判定产测成功或失败。

注意事项 路由器不需要联网,只需要产生 tuya_mdev_test 名称的 Wi-Fi 信号即可。建议将路由器与设备距离控制在五米左右。 通常信号强度大于等于 60% 为合格。可以根据产线和工厂环境自行调整。 MCU 需等到模组初始化交互完成后(MCU 回复完模组的心跳包和产品查询包),再发送产测指令给模组进行产测。建议上电五秒后再触发产测。 产测流程说明

生产测试说明

准备 1 台 2.4G 无线路由器(可不连接外网)。将该路由器 SSID 设置为 tuya_mdev_test 。

触发产测,将待测试设备通电。模组上电初始化交互完成后,触发设备产测。(触发方式可由工程师自定义,建议通过不常用的组合按键触发。)

开发者根据对接方式,发送的产测指令给模组。支持以下两种对接方式:

使用 MCU_SDK 只需要在检测到产测触发后,调用函数 mcu_start_wifitest() 开启产测。

不使用 MCU_SDK 可参考涂鸦 Wi-Fi 模组通用串口的 Wi-Fi 功能性测试(扫描指定路由)指令,发送 0x0e 命令字给模组。

例:0x55 aa 03 0e 00 00 校验和

字段 长度(字节) 说明 帧头 2 0x55aa 版本 1 0x03 命令字 1 0x0e 数据长度 2 0x0000 数据 Data 无 校验和 1 从帧头开始按字节求和得出的结果对 256 求余

接收返回数据,查看测试结果

开发者根据自身对接情况(有无使用涂鸦提供的 MCU_SDK ),查看测试结果:

使用 MCU_SDK

在protocol.c文件wifi_test_result函数内查看测试结果。

void wifi_test_result(unsigned char result,unsigned char rssi) { #error "请自行实现 Wi-Fi 功能测试成功/失败代码,完成后删除该行" if(result == 0) { //测试失败 if(rssi == 0x00) { //未扫描到名称为tuya_mdev_test路由器,请检查 } else if(rssi == 0x01) { //模组未授权 } } else { //测试成功 //RSSI 为信号强度(取值范围为 0~100,0 表示信号最差,100 表示信号最强) } }

不使用 MCU_SDK

自己对接串口协议的开发者,可参考涂鸦 Wi-Fi 模组通用串口的 Wi-Fi 功能性测试(扫描指定路由)指令,根据接收到的数据查看测试情况。

说明:模组回复示例, 0x55 aa 00 0e 00 02 01 64 校验和 (信号强度 100,产测成功)。

MCU 发送:

字段 长度(字节) 说明 帧头 2 0x55aa 版本 1 0x03 命令字 1 0x0e 数据长度 2 0x0000 数据 Data 无 校验和 1 从帧头开始按字节求和得出的结果对 256 求余

模组返回:

字段 长度(字节) 说明 帧头 2 0x55aa 版本 1 0x00 命令字 1 0x0e 数据长度 2 0x0002 数据 2 Data[0]:0x01:即成功,Data[1]表示信号强度(0-100, 0信号最差,100信号最强)。0x00:即失败,Data[1]为0x00,表示未扫描到指定的 SSID。Data[1]:0x01,表示模组未烧录授权 Key。 校验和 1 从帧头开始按字节求和得出的结果对 256 求余

显示测试结果。开发者根据获取到的数据,可以通过语音、显示屏、LED 灯等方式提示成功或失败的信息。

连接指定路由模式

触发产测的方式可由 MCU 端自定义。在模组上电初始化交互完成后,MCU 可发送 0x2C 产测命令字将产测路由的 SSID 和密码发送给模组,Wi-Fi 模组收到配网信息后会连接路由器,并返回网络状态的变化。MCU 根据 0x03 命令字网络状态的改变,确定是否产测成功。

注意事项 MCU 发送路由信息模组返回成功后,模组会使用相关信息去连接路由。 MCU 判断是否连接上路由器,根据收到 0x03 命令字的数据 (状态3-Wi-Fi已配置且连上路由器)为准。 判断失败条件: MCU 收到返回失败状态。 MCU 超过十五秒没有收到连上路由的状态包。 产测成功后,可以重新发送测试命令,再次进入产测。如果没有收到连上路路由的状态包,表示模组正在产测中。需要重置模组或者重新上电后发送测试命令,才能再次进入产测。 模组需要在处于未被配网的状态下才能完成连接测试。 产测前 MCU 必须回复模组的心跳包和产品查询包,模组完成初始化交互完成后,才能进入连接路由产测模式。 路由器名称字符串长度最大支持 32 字节,路由器密码字符串长度最大支持 64 字节。 产测流程说明

生产测试说明

准备 1 台 2.4G 无线路由器,需连接网络,保持网络通讯正常。

触发产测,将待测试设备通电,模组上电初始化交互完成后,触发设备产测(触发方式可由开发者自定义,建议通过不常用的组合按键触发)。

开发者根据对接方式,发送的产测指令给模组。支持以下两种对接方式:

使用 MCU_SDK

只需要在检测到产测触发后,调用对应函数mcu_start_connect_wifitest()开启产测,将产测路由的 SSID 和密码参数填入即可。

不使用 MCU_SDK(自行对接串口协议)

参考涂鸦 Wi-Fi 模组通用串口的 Wi-Fi 功能性测试(连接指定路由) 指令,发送 0x2C 命令字给模组。

MCU 发送:

字段 长度(字节) 说明 帧头 2 0x55aa 版本 1 0x03 命令字 1 0x2C 数据长度 2 xxxx 数据 Data {“ssid”:”xxx”,”password”:”xxxxxxxx”} ssid:路由名称 password:路由密码 校验和 1 从帧头开始按字节求和得出的结果对 256 求余

说明:Data 区数据以 ASCII 字符的十六进制形式传输。

接收返回数据,查看测试结果。开发者根据自身对接情况(有无使用涂鸦提供的 MCU_SDK),查看测试结果:

使用 MCU_SDK

在 protocol.c 文件 wifi_connect_test_result 函数内查看测试结果。

void wifi_connect_test_result(unsigned char result) { //#error "请自行实现 Wi-Fi 功能测试成功/失败代码,完成后请删除该行" if(result == 0) { //路由信息接收失败,请检查发出的路由信息包是否是完整的JSON数据包 } else { //路由信息接收成功,产测结果请注意WIFI_STATE_CMD指令的wifi工作状态 } }

不使用 MCU_SDK

Wi-Fi 模组收到 MCU 发出的连接指定路由指令后,模组会返回信息接收结果。这里的成功仅指串口数据交互成功,网络的连接测试是否成功需要关注模组在连接网络过程中发送的 0x03 命令字的数据变化。

模组返回:

字段 长度(字节) 说明 帧头 2 0x55aa 版本 1 0x00 命令字 1 0x2c 数据长度 2 0x0001 数据 1 0x00:路由信息接收失败(请检查发出的路由信息包是否是完整的 JSON 包数据)0x01:路由信息接收成功(请注意在返回结果中查看网络状态包) 校验和 1 从帧头开始按字节求和得出的结果对 256 求余

连接路由是否成功需要通过协议中 报告设备联网状态指令 的内容进行判断。

MCU 收到模组返回状态 4 的网络状态帧(Wi-Fi 已配置且连接上路由器),则表示模组连指定路由成功。 MCU 收到模组返回信息接收失败,或者超过十五秒没有收到连接路由成功的状态包,则认为测试失败。 字段 长度(字节) 说明 帧头 2 0x55aa 版本 1 0x00 命令字 1 0x03 数据长度 2 0x0001 数据 1 指示 Wi-Fi 工作状态: 0x00: 状态1 0x01: 状态2 0x02: 状态30x03: 状态4 0x04: 状态50x05: 状态6 校验和 1 从帧头开始按字节求和得出的结果对 256 求余

显示测试结果。开发者根据获取到的数据,可以通过语音、显示屏、LED 灯等方式提示成功或失败的信息。

红外功能测试模式

红外产测仅针对支持红外功能的模组进行红外功能的收发测试。

注意事项 测试环境中红外信号少,无太多交错纵横的红外信号。 系统上电后请延迟 5 秒开始产测,等待模组启动。 红外产测功能需要在未配网状态下才会进入。 模组进入红外产测状态后,就会进入红外学习状态。 模组一旦进入红外产测模式,即一直处于产测状态,不断根据学习到数据再发送出来。当模组配网成功或者被断电,即退出产测。 产测流程说明

生产测试说明

准备一个红外设备和对应的红外遥控器。

触发产测,将待测试设备通电,模组上电初始化交互完成后,触发设备产测(触发方式可由开发者自定义,建议通过不常用的组合按键触发)。

开发者根据对接方式,发送的产测指令给模组。支持以下两种对接方式:

使用 MCU_SDK

只需要在检测到产测触发后,调用对应开启产测函数 mcu_start_ir_test() 即可。

不使用 MCU_SDK

参考涂鸦 Wi-Fi 模组通用串口的红外收发产测指令发送对应的数据给模组。

说明:模组返回示例 0x55 aa 03 2f 00 00 校验和。

MCU 发送:

字段 长度(字节) 说明 帧头 2 0x55aa 版本 1 0x03 命令字 1 0x2f 数据长度 2 0x0000 数据 Data 无 校验和 1 从帧头开始按字节求和得出的结果对 256 求余

开发者根据对接方式,发送的产测指令给模组。支持以下两种对接方式:

使用 MCU_SDK

在 protocol.c 文件 ir_tx_rx_test_result 函数内查看测试结果。

void ir_tx_rx_test_result(unsigned char result,unsigned char rssi) { //#error "请自行实现红外进入收发产测功能测试成功/失败代码,完成后删除该行" if(result == 0) { //红外进入收发产测成功 } else { //红外进入收发产测失败,请检查发出的数据包 } }

未使用 MCU_SDK

可根据接收到的 0x2f 命令字的回复结果,判断红外产测成功或失败。如果红外测试设备超过十五秒未返回状态即判断产测失败。

0:进入红外收发产测成功。使用红外遥控器对准模组的红外接收点,模组学习后,可以发送红外码来控制设备。设备按照遥控器状态对应展示,则红外收发产测成功。 1:进入红外收发产测失败。

模组返回:

字段 长度(字节) 说明 帧头 2 0x55aa 版本 1 0x00 命令字 1 0x2f 数据长度 2 0x0001 数据 Data 0x00:进入红外收发产测成功 0x01:进入红外收发产测失败 校验和 1 从帧头开始按字节求和得出的结果对 256 求余

根据被控的红外设备是否产生正确反应,来确定产测是否成功。

蓝牙功能测试模式

蓝牙功能测试模式介绍参见蓝牙功能测试。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有