鉴源实验室丨TBOX通讯模组AT指令测试

news2024/12/28 18:20:08

作者 | 李伟 上海控安安全测评部总监

来源 | 鉴源实验室

引言:上一篇文章我们讲了整车的OTA升级测试(详解车载设备FOTA测试),本篇我们介绍在车载零配件上比较少见却很实用的测试:通讯模组的AT(Attention)指令测试。

01

AT测试的用途

AT指令可以通过终端设备发送指令的方式控制移动模组系统功能的一组指令集。

通讯模组的AT指令测试通常在移动通讯模组的供应商或者移动通讯设备供应商的研发测试部门使用较多,如:华为、中兴通讯、移远通讯的移动设备研发测试部门。

AT指令测试的实施一般是将测试电脑和被测试通讯模组进行连接,在测试电脑上运行的终端工具软件(如QCOM)中输入AT指令,并将指令通过软件发送给通讯模组,通讯模组根据接收的AT指令来执行各种操作和配置。如:通过发送AT质量查询移动通讯信号强度或IMEI(International Mobile Equipment Identity)信息、设置APN(Access Point Name)接入点、发送短信、拨打电话等等。

我们可以把AT指令工具理解为一个shell工具,AT指令操作的这些功能在手机或者移动终端的上层应用软件中可以实现,通过AT指令工具可以在命令行的方式下进行操作。因为排除了上层应用软件,直接通过AT指令操作通讯模组会更加快捷和方便,特别做某些频繁的操作测试,如在2G/3G/4G/5G间快速切换网络模式,频繁查询移动通讯信号强度等。

电脑和模组直连图如下:

图 1 

02

 为何TBOX需要做AT指令测试

车载零部件中的AT指令测试和通讯模组研发的AT指令测试是不一样的,模组研发的测试是通过AT指令对通讯模组本身的软硬件功能和性能进行测试。车载零部件中使用的通讯模组都是成熟的商用解决方案,已经通过了供应商的各项测试,我们在车载零部件测试中使用AT指令是为了更方便、快捷和高效地辅助进行车辆功能的相关测试。

在车载零部件测试中一般也不会使用到通讯模组AT指令,只有在进行TBOX或者整车各场景通讯相关的测试中才有可能使用到AT指令辅助进行测试,是将AT测试指令作为工具,验证不同的车辆使用状况下整车或者相关零部件通讯模块的功能和性能。

这些测试的使用场景通常是模拟车辆处于不同信号强度或者不同通讯信号覆盖场地的情景。对于信号强度的模拟通常会使用铝箔布或铝箔纸包裹TBOX,在包裹前后分别通过AT指令查询实际的接收信号强度,验证在信号强度发生变化时车辆相关功能的处理是否符合预期设计,如下图所示:

图 2

因为移动运营商信号基站布局的原因,在车辆使用中会经常出现 2G/3G/4G/5G 网络接入信号的切换,此种场景测试人员通常是没有直接的手段来切换 TBOX 接入网络类型的,但是通过 AT 指令我们可以非常方便且高效的进行网络切换和重新注册。

03

如何执行AT指令测试

3.1 测试前的准备

实际中使用AT指令进行辅助测试的操作本身是比较简单的,我们要执行AT指令测试需要做一些准备工作:

(1)首先要跟模组供应商确认TBOX上通讯模组的型号,获取对应的设备驱动。

(2)获取通讯模组匹配型号的AT命令手册,也可以跟供应商直接获取需要使用到的具体AT指令。通常供应商提供的AT命令手册包含了所有指令,文档的长度会有数百页,易读性对非专业人员不是很好。

(3)TBOX连接电脑的USB驱动。

(4)获取发送和接收指令的串口工具,如下图所示QCOM是模组供应商移远通讯常用的AT指令收发工具。

图 3

3.2 设备连接

测试时通常使用的连接方式较为简单,TBOX直接通过USB接口连接到测试电脑,在测试电脑上安装对应的驱动程序即可发现生成的虚拟AT端口。我们以移远通讯的驱动为例,驱动安装成功后,连接设备时,在电脑的设备管理中会出现USB AT端口,如下图所示:

图 4

根据设备中显示的端口号,以及供应商提供的连接信息,配置工具 QCAOM 中的串口号、总线速率、停止位、流控等信息,配置完成后点击“Open Port”进行连接,连接成功后,“Open Port”会变为“Close Port”,其他串口编号等设置项会变为灰色不可选,此时就可以在输入框中输入 AT 指令,进行测试了。

3.3 AT指令

模组供应商不一样或者模组型号不一样时,使用的AT指令可能不一样,这边我们使用移远EM05指令集为例给大家做简单介绍。

命令:AT+CSQ  信号强度查询

使用本命令模组会返回通讯信号的强度值。

我们在此只简单介绍这两个指令的含义,其他AT指令可以参考指令集或咨询供应商。

04

测试小结

我们知道在测试过程中经常会遇到一些功能或者场景需求,无法或者很难进行测试设计,或者是设计简单执行很难。对于这些问题其他行业的测试可能已经具备了成熟的解决方法和测试手段,这就要我们对于其他行业的测试要有一定的了解,随着行业工作经验的积累,跨行业的知识要不断学习。

对于AT的指令测试有几点小结分享大家:

(1)我们不是模组的测试人员,不是替供应商测试模组的,只是使用他们的工具来辅助汽车零部件测试。

(2)AT指令有很多,有时候一个功能点可以有很多个相关的指令都可以支持我们的测试目标,这跟测试设计就相关了,可以多做几个测试设计,选用最好的方法。

(3)AT指令在辅助进行通讯相关测试时,不是唯一的万能使用方法,通常是跟其他手段结合使用的,要用好不同技术的组合测试设计。

(4)有问题时寻求供应商技术支持是很有用的,有时候可以节省大量时间。

参考资料:

1.移远通讯:Quectel_EM05_AT_Commands_Manual_V1.0.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/668566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

总结Nginx的安装、配置与设置开机自启

在Ubuntu下安装Nginx有以下方法,但是如果想要安装最新版本的就必须下载源码包编译安装。 一、Nginx安装 1、基于APT源安装 sudo apt-get install nginx 安装好的文件位置: /usr/sbin/nginx:主程序 /etc/nginx:存放配置文件 /us…

高压放大器可以驱动电机吗

高压放大器可以驱动电机。事实上,高压放大器在许多应用中都是电机控制的核心部件之一。高压放大器可以将输入信号转换为高电压和高电流,从而驱动电动机。 一、高压放大器的原理 高压放大器是一种电子设备,用于将低功率信号转换为高功率信号。…

云原生之深入解析如何在Kubernetes下快速构建企业级云原生日志系统

一、概述 ELK 是三个开源软件的缩写,分别表示 Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个 FileBeat,它是一个轻量级的日志收集处理工具 (Agent),Filebeat 占用资源少,适合于在各个服务器上搜集日志后传输…

Lombok你不知道的用法

Lombok是大家经常用的一款工具,它可以帮我们减少很多重复代码的书写,但是我们对它的使用,可能更多局限于实体类的编写,比如说通过Data注解实现减少getter/setter/toString等方法的编写,其实它还有更多的注解功能&#…

美依礼芽破圈!小红书数据解读,如何拨动二次元心弦?

今年,二次元存在感爆棚。新世代下二次元群体愈发壮大,不少博主发布二次元内容、品牌也试图融入二次元圈。那么,如何与之打成一片呢?今天,通过小红书数据,我们来解读二次元的内容方向。 点赞破8亿&#xff0…

【每日一题】1595. 连通两组点的最小成本

【每日一题】1595. 连通两组点的最小成本 1595. 连通两组点的最小成本题目描述解题思路 1595. 连通两组点的最小成本 题目描述 给你两组点,其中第一组中有 size1 个点,第二组中有 size2 个点,且 size1 > size2 。 任意两点间的连接成本…

对象的构造

问题 对象中成员变量的初始值是多少&#xff1f; 成员变量的初始值 #include <stdio.h>class Test { private:int i;int j; public:int getI() { return i; }int getJ() { return j; } };Test gt;int main() {printf("gt.i %d\n", gt.getI());printf("…

UE中使用Editor Utility Widget创建编辑器工具

在UE中可以使用EditorUtilityWidget创建编辑器面板工具&#xff0c;方便平时的开发。在UE4中使用编辑器UI需要开启对应插件&#xff0c;而UE5中则默认启用&#xff0c;下面就来学习一下。 1.UI创建 1.1.在Content Browser中右键&#xff0c;找到Editor Utilities即可创建编辑…

[MySQL]不允许你不会SQL语句之查询语句

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集&#xff01; &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指…

分享几个AI绘图的学习网址

AI绘图是一种使用人工智能技术来创建图形和图像的技术。 从技术角度来看&#xff0c;AI绘图是一个非常有趣和不断发展的领域。随着人工智能技术的不断进步&#xff0c;AI绘图也在不断地发展和创新&#xff0c;现在已经成为数字艺术领域中的一个重要分支。 AI绘图的出现也为许多…

2023年的深度学习入门指南(17) - 深度学习的硬件加速技术

2023年的深度学习入门指南(17) - 深度学习的硬件加速技术 有了前面的知识之后&#xff0c;想必大家对于算力需求的理解已经越来越深刻了。 除了使用CPU&#xff0c;GPU这样的通用器件之外&#xff0c;采用专用的硬件来进行加速是一个大家都能想到的选择。 其中的代表器件就是…

Docke是什么,一文带你了解

Docker的优势、与虚拟机技术的区别、三个重要概念和架构及工作原理详细讲解 随着云计算和容器化技术的发展&#xff0c;Docker作为一种轻量级的容器化技术&#xff0c;受到了越来越多的关注和应用。本文将详细介绍Docker的优势、与虚拟机技术的区别、三个重要概念和架构及工作…

memcpy 和 memmove的模拟实现

文章目录 1.函数的介绍 2.模拟实现 文章内容 1.函数的介绍 memcpy指的是C和C使用的内存拷贝函数&#xff0c;函数原型为void *memcpy(void*dest,void*src, size_t count)&#xff1b;函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中&#xff0c;即从…

内网穿透(NAT 穿透)原理+工具(部分无需管理员权限)

内网穿透&#xff0c;即 NAT&#xff08;Network Address Translation&#xff09; 穿透 内网穿透的实质是内网映射&#xff0c;内网地址转换成外网地址的实现。实现过程要有端对端数据传输&#xff0c;也有端口转发原理。内网映射方式&#xff0c;可以解决无公网IP问题&#…

Android问题笔记-Android studio 出现Failed to compile values file.错误

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&…

docker compose 容器编排工具

目录 docker compose是什么&#xff1f; 官网网站&#xff1a;Docker Compose overview | Docker Documentation 安装使用compose&#xff1a; 步骤&#xff1a; 1、下载并安装compose的命令行插件 2、安装完成后授予权限&#xff0c;测试compose是否可以使用 3、实例测试…

AI大模型迈入应用时代,每日互动推动“可控大模型”落地

垂直行业更需要可控大模型 当下&#xff0c;大模型正在不断精进&#xff0c;以GPT-4、文心一言为代表的大模型&#xff08;LLM&#xff09;表现出了强大的逻辑推理能力&#xff0c;并能够很好地处理复杂任务&#xff0c;使得社会生产力得到了飞跃式提升。 面对大模型热度的持…

全网最详细,自动化测试与自动化框架总结,你不知道的都在这了...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 单元测试框架 单…

网络:IP地址、子网掩码、网络地址、广播地址、网段、网关

目录 一、IP地址 二、子网掩码 三、网络地址 四、广播地址 五、网段 六、网关 七、IP地址、子网掩码、网络地址、广指地址、网殷、网关的关系 参考链接 一、IP地址 IP地址是因特网协议&#xff08;IP&#xff09;中使用的一种数字标识符&#xff0c;用于唯一地标识网络…

LLM - 基于 Vicuna-13B 参数计算搭建私有 ChatGPT 在线聊天

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131312366 LLaMA 和 Vicuna 都是大语言模型(LLM)&#xff0c;两者的差异如下&#xff1a; LLaMA (Large Language Model Meta AI)&#…