更新时间:2024-07-30 03:09:34下载pdf
Beacon Mesh 的设备类型一般分为常供电设备和遥控器设备,常供电设备通常支持被遥控器控制。由于芯片资源受限,往往采用遥控器测试常供电设备,用常供电设备测试遥控器的方法来实现产测。
Beacon Mesh 的芯片类型一般分为 OTP 芯片和 Flash 芯片。
蓝牙通信有广播和连接两种方式。
广播通信
广播通信是单向通信,适用于一对多(理论上无限)的场景。在广播通信中,发出广播的设备称作 广播者,捕获广播的设备称作 扫描者。
连接通信
连接通信是双向通信,适用于一对一的场景,也可用于一对多(有限)的场景。在连接通信中,主动发起连接的设备称作 主机,被动连接的设备称作 从机。
根据沿袭的使用习惯,广播者又被称作 信标,扫描者/主机又被称作 Dongle。为了叙述简洁,下文会根据使用习惯随机切换 信标、广播者 等相同含义的名词。
注意:当前版本的 Dongle 硬件 同时支持 信标 和原 Dongle 的能力,通过按键设置不同的模式进行区分。更多信息,参考 涂鸦蓝牙 Dongle 使用指南。
缩写
DUT:Device Under Test,待测设备
SN:Serial Number,序列号
涂鸦的产测方案根据蓝牙通信方式的不同,分为 3 个大类型,分别是:
基于待测设备扫描的 信标测试模式
基于待测设备广播的 Dongle 测试模式 1
基于待测设备连接的 Dongle 测试模式 2
其中,信标测试模式 要求待测设备具有扫描的能力,其他模式则没有该要求。
仅测试 RSSI
方案名称 | 信标测试模式 | dongle 测试模式 1 |
---|---|---|
DUT 支持扫描能力 | 需要 | 不需要 |
可以测试接收灵敏度 | 是 | 否 |
可以测试发射功率 | 否 | 是 |
DUT 多占用 Flash 和 RAM 资源 | 多 | 无 |
DUT 固件要求 | 需要进行协议开发 | 无需进行协议开发,仅支持广播就行 |
SDK 稳定性 | 相对不稳定 | 相对稳定 |
测试外设
信标测试模式 仅支持测试单个外设,因为该模式仅通过是否扫描到特定广播作为输入条件,仅适用于单一测试场景。
如果需要测试超过一个外设,则只能选择 Dongle 测试模式 2,该模式中上位机通过 Dongle 与待测设备之间进行命令交互,适用于任何测试场景。
信标是一种可以发出特定广播的测试工具。Dongle 硬件 已经兼容信标功能 M2、M3、M4 和 M5。
简单的广播通信是单向通信:信标持续发出指定广播,DUT 扫描到该广播后做出相应动作。广播内容需要双方事先约定,适用于较为简单的测试场景,示意如下:
目前已约定的广播内容(仅为信标名字)有:
ty_mdev
:整机信标模式
ty_prov
:授权信标模式
TY
:传感设备测试
Mesh 广播:私有 Mesh 模式
dongle 是一种可以扫描 DUT、连接 DUT,并与 DUT 进行通信的测试工具。Dongle 硬件 已经兼容 Dongle 功能 M1。
扫描/连接通信中,最重要的问题是 Dongle 应该扫描/连接哪个 DUT?针对该问题,涂鸦根据不同需求,提供以下扫描/连接方式:
通过 MAC 地址扫描/连接指定 DUT,对应 Dongle 模式:UART_CONTROL
,即上位机通过 UART 下发 MAC 地址给 Dongle。
通过信号强度扫描/连接附近 DUT,对应 Dongle 模式:RSSI_CONN
,即 Dongle 主动扫描/连接符合设定 RSSI 范围的设备。
Dongle 扫描到待测设备,即可获得待测设备的 RSSI。如果仅测试 RSSI,则不需要连接。
产测流程
Dongle 与 DUT 一旦建立连接,就可以通过 蓝牙整机产测协议 进行不同命令的测试,非常适合于蓝牙整机的无线测试。此时,产测的一般流程为:
手动编辑 JSON 文件,选择 蓝牙整机产测协议 中的不同命令。可选,如果使用 云模组 上位机,则 JSON 文件已经由工艺完成并上传,您无需关心也不可更改。
上位机通过解析 JSON 文件,选择对应的命令下发给 Dongle。
Dongle 处理命令或者将命令转发给 DUT,示意图如下:
UART_CONTROL
其中 UART_CONTROL
模式下仅测试 RSSI 的基本通信流程图如下:
授权的主要目的是将涂鸦的授权信息写入芯片的 Flash 中。基于 云模组 和 安防传感 的授权效果是一样的,任选其一即可。
若暂无生产需要,也可通过以下方式进行临时授权。仅用于调试,生产时请改回原状。
找到如下代码片段。
STATIC tuya_ble_device_param_t tuya_ble_protocol_param = {
.use_ext_license_key = 0, //1-info in tuya_ble_sdk_demo.h, 0-auth info
.device_id_len = 0, //DEVICE_ID_LEN,
.p_type = TUYA_BLE_PRODUCT_ID_TYPE_PID,
.product_id_len = 0,
.adv_local_name_len = 4,
};
临时修改为如下设置:
STATIC tuya_ble_device_param_t tuya_ble_protocol_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,
.p_type = TUYA_BLE_PRODUCT_ID_TYPE_PID,
.product_id_len = 8,
.adv_local_name_len = 4,
};
云模组 一般用于模组的授权产测,也可用于成品的授权。
下载并安装 涂鸦生产解决方案 中的 云模组。更多信息,参考 附录。
打开 云模组,进行如下配置。
输入生产凭证(生产凭证获取方式请咨询工艺)后回车,会自动加载出其他信息。
测试工序处,选择 烧录授权。
单击 确定。
打开左上角的 参数设置 进行如下配置:
勾选 单独授权,单击 确定 按钮。
选择端口,即 DUT 对应的串口。
单击右上角的 运行,等待所有测试项运行完成即可。
该模式下仅进行授权。
下载并安装 涂鸦生产解决方案 中的 安防传感。更多信息,参考 附录。
打开 安防传感,配置如下参数。
选择本地测试模式。
输入生产凭证,生产凭证获取方式请咨询工艺。
导入测试序列 JSON 文件。
单击 编辑,配置如上图所示。
单击 启动测试。
单击右上角的 测试项配置,配置如下参数:
DUT 和 Dongle 分别插到电脑上。
单击左侧的配置图标,弹出 串口连接配置,其中主串口号为 DUT 串口,波特率 9600,控制串口号可以选择一个虚拟串口或者任意其他串口,没有实际作用。
配置完成后,单击 确定。
单击右上角的 运行,等待所有测试项运行完成即可。
如上图所示,所有测试项均为上位机发送给 DUT。
该模式下仅进行授权和测试 RSSI,无需固件任何开发,测试过程中 DUT 保持广播即可。
下载并安装 涂鸦生产解决方案 中的 安防传感。更多信息,参考 附录。
打开 安防传感,配置如下参数:
选择本地测试模式。
输入生产凭证,生产凭证获取方式请咨询工艺。
导入测试序列 JSON 文件。
单击 启动测试。
单击右上角的 测试项配置,配置如下参数。
DUT 和 Dongle 分别插到电脑上。
单击左侧的配置图标,弹出 串口连接配置,其中主串口号为 DUT 串口,波特率 9600,控制串口号为 Dongle 串口,波特率 9600。
配置完成后,单击 确定。
单击右上角的 运行,等待所有测试项运行完成即可。
如上图所示,仅测试项 RSSI 信号值获取测试 是由上位机发送给 Dongle 用于测试 RSSI 的,其他测试项均为上位机发送给 DUT。
Dongle 测试模式 2 主要用于测试多外设的场景,也被称作 整机产测模式。该模式中上位机通过 Dongle 与待测设备之间进行命令交互,适用于任何测试场景。
该测试模式下,由于测试的外设不可预知,SDK 默认仅支持 进入测试模式 和 退出测试模式 两条指令,其余外设测试指令可由用户根据测试需要,在这两条指令间自主添加。同时,可通过修改 JSON 配置文件,间接修改上位机支持的测试项目,修改方式详询工艺。
增加自定义测试项
如需在固件增加自定义测试项,可在 tuya_ble_custom_app_production_test_process
接口中增加相应 case
即可,接口默认如下:
TUYA_WEAK_ATTRIBUTE VOID_T tuya_ble_custom_app_production_test_process(UINT8_T channel, UINT8_T* p_in_data, UINT16_T in_len)
{
ty_product_test_cmd_t* cmd = (VOID_T*)p_in_data;
tal_util_reverse_byte((VOID_T*)&cmd->len, SIZEOF(UINT16_T));
tal_util_reverse_byte((VOID_T*)&cmd->sub_id, SIZEOF(UINT16_T));
if ((cmd->type != 3) || (cmd->len < 3)) {
return;
}
UINT16_T data_len = cmd->len - 3;
switch (cmd->sub_id) {
case PRODUCT_TEST_CMD_ENTER: {
UINT8_T tmp_buf[] = "{\"ret\":true}";
tuya_ble_product_test_rsp(channel, cmd->sub_id, tmp_buf, strlen((VOID_T*)tmp_buf));
} break;
case PRODUCT_TEST_CMD_EXIT: {
UINT8_T tmp_buf[] = "{\"ret\":true}";
tuya_ble_product_test_rsp(channel, cmd->sub_id, tmp_buf, strlen((VOID_T*)tmp_buf));
} break;
default: {
} break;
}
}
测试流程
下载并安装 涂鸦生产解决方案 中的 安防传感。更多信息,参考 附录。
打开 安防传感,配置如下参数:
选择本地测试模式。
输入生产凭证,生产凭证获取方式请咨询工艺。
导入测试序列 JSON 文件,带 SN。
单击 启动测试。
单击 测试项配置,配置如下参数。
DUT 插到电脑上。
输入 SN 号:Test12345
。此处仅为研发测试用,工厂使用 SN 生成工具,详询工艺。
单击左侧的配置图标,弹出 串口连接配置,串口号为 DUT 串口,波特率 9600。
配置完成后,单击 确定。
单击 运行,等待所有测试项运行完成。
如上图所示,所有测试项均为上位机发送给 DUT,以上步骤仅为授权。
单击 停止测试 按钮,导入整机测试序列 JSON 文件,单击 编辑,按照下图勾选测试项后,单击 确定 > 启动测试。
单击 测试项配置,配置如下参数。
Dongle 插到电脑上,DUT 供电。
输入 SN 号:Test12345
,此处仅为研发测试用,工厂使用扫码枪扫描二维码,详询工艺。
单击左侧的配置图标,弹出 串口连接配置,串口号为 Dongle 串口,波特率 9600。
配置完成后,单击 确定。
单击 运行,等待所有测试项运行完成。
如上图所示,所有测试项均为上位机发送给 Dongle,用于测试 RSSI 或其他用户自定义测试项。
申请 PMS 账号
前往 涂鸦 PMS 系统,注册 PMS 账号。注册流程如下图,根据实际情况选择个人开发者或者公司,按照注册指引填写相关信息。若您的邮箱收到涂鸦发送的邮件,说明审核已经通过。
登录涂鸦 PMS 系统,依次单击 知识库管理 > 软件下载,搜索 生产解决方案,开始下载 生产解决方案 工具。
下载完成后,按照默认配置安装,打开 生产解决方案 工具。登录账号和密码同 PMS 系统。
单击 云模组,等待安装完成。云模组 一般用于模组授权产测,也可用于成品的纯授权。
单击 安防传感,等待安装完成。安防传感 一般用于成品授权产测,支持整机产测功能。
在 涂鸦开发者平台,获取开发板,开发板对应的 物料编码 为 2.03.99.00045。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈