问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

UIS8910 AT命令速查手册:20个必备命令与实用用法,解决你的AT指令困境

创作时间:
作者:
@小白创作中心

UIS8910 AT命令速查手册:20个必备命令与实用用法,解决你的AT指令困境

引用
CSDN
1.
https://wenku.csdn.net/column/5bn67gnxm5

AT命令是用于控制调制解调器和其他通信设备的一系列控制命令,广泛应用于移动通信模块的开发和调试。本文深入探讨了AT命令集在移动通信模块中的应用,从基础概念到高级用法,涵盖了必备的20个AT命令以及实用技巧。

AT命令基础概述

AT命令,即ATtention命令,是用于控制调制解调器和其他通信设备的一系列控制命令。它们源自于Hayes公司开发的命令集,最初用于通过串行接口控制电话调制解调器。随着技术的发展,AT命令被扩展到移动设备、无线模块和IoT设备中,使得开发者能够通过简单的文本命令与设备通信,执行诸如发送短信、拨打电话、查询网络状态等操作。

AT命令通常由"AT"前缀开始,后接具体的命令字符串和参数。每个命令字符串后面一般跟随一个回车符(\r),表示命令的结束。命令执行后,设备通常会返回结果代码,例如"OK"表示命令成功,"ERROR"表示命令失败。

举例来说,AT+CGMI命令用于查询模块的制造商名称。当执行该命令后,模块会返回其制造商信息。掌握AT命令对于进行设备调试、功能测试以及开发自动化控制程序至关重要。

AT+CGMI\r

以上命令在执行后可能会得到如下的响应:

+CGMI: "Huawei Technologies Co., Ltd." OK

这表示设备制造商是华为技术有限公司。

必备的20个AT命令详解

基本通信指令

了解模块信息对于调试和维护通信设备至关重要。在本节中,我们将深入探讨如何使用AT命令查看模块信息,包括版本号、制造商、支持的频段等关键信息。

最常用的命令是AT+CGMI,它返回制造商的名称。例如:

AT+CGMI

执行该命令后,设备应会返回如下信息:

Manufacturer: Quectel

接下来,AT+CGMM命令用于获取模块的型号信息:

AT+CGMM

此命令的返回信息可能类似于:

Module: EC25-AU

还有AT+CGMR命令,它提供了固件版本信息:

AT+CGMR

输出示例:

Version: 1.3.2

以上信息有助于开发者确认所使用的模块是否满足特定应用的兼容性需求。

模块复位命令

在开发过程中,模块复位是一个常见的需求。它允许开发者将模块恢复到初始状态,这对于调试和排除故障特别有用。

AT+CFUN命令用于控制模块的启用或禁用,也可以用来复位模块:

AT+CFUN=1

执行此命令后,模块会重新启动。参数1告诉模块执行正常操作,而参数0则会禁用模块功能。

开发者应当根据模块的规范说明来合理使用这些命令,避免在通信过程中意外重启导致的连接中断。

SIM卡和网络操作

SIM卡操作是模块正常工作的前提。开发者需要掌握一系列与SIM卡相关的AT命令来管理SIM卡。

通过执行AT+CPIN?命令,可以查询SIM卡的PIN状态:

AT+CPIN?

若SIM卡已正确插入并且锁定已解除,则返回:

+CPIN: READY

在未正确插入或锁定SIM卡的情况下,模块会返回SIM NOT INSERTEDSIM PIN等错误信息。

此外,AT+COPS命令可以用来查询可用的网络操
AT+COPS?


如果一切正常,设备将返回诸如`+COPS: 0,1,"AT&T"`这样的响应。

#### 网络注册和查询命令

网络注册是设备与蜂窝网络建立连接的重要步骤。`AT+CGATT?`命令用于检查模块是否已经注册到了GPRS附加服务:

AT+CGATT?


返回`1`表示模块已注册,返回`0`则表示未注册。

进一步,`AT+CEREG?`命令可以查询模块的网络注册状态:

AT+CEREG?


此命令会返回网络状态信息,如`+CEREG: 0,1`表示模块已经注册到了网络。

通过这些命令,开发者可以确保设备已经准备好与网络进行通信。

#### 电话功能控制

AT命令可以实现模块的电话功能。`ATD`命令用于拨打电话,后面跟上电话号码:

ATD1234567890;


执行此命令后,如果一切正常,设备将开始拨打电话。开发者在使用该命令时,需要确保电话号码的格式正确,并且模块处于语音模式。

接听来电可以通过`ATA`命令实现:

ATA


在模块接收到来电后,发送此命令将使模块接听电话。开发者应确保在执行此命令前,设备已处于准备接听状态。

开发者应当对这些基本电话功能命令熟练掌握,因为在实际的通信场景中这些操作非常常见。

#### 数据通信与短信服务

AT命令集提供了发送和接收短信的功能,这对于实现消息传递服务至关重要。

使用`AT+CMGS`命令可以发送短信:

AT+CMGS="+1234567890"> Hello, this is a test message.


发送短信后,模块会返回`>`提示符,用户在该提示符后输入短信内容,并以`Ctrl+Z`结束。

接收短信则需要使用`AT+CMGL`命令来列出存储在模块中的短信:

AT+CMGL="ALL"


该命令会返回类似于以下格式的短信列表:

+CMGL: 1,"REC READ","+1234567890",,"2019/04/26 13:02:34+22"Hello, this is a test message.


以上命令对于开发者而言是基本的短信处理操作,对于任何涉及短信通讯的应用都是必要的功能实现。

为了将模块作为数据通信设备使用,必须配置相关的AT命令。`AT+CGDCONT`命令用于设置数据通信的PDP上下文:

AT+CGDCONT=1,"IP","internet"


这个命令设置了APN(Access Point Name)为`internet`,这允许模块通过指定的APN接入网络。

配置好后,使用`ATD*99#`命令来激活数据通信:

ATD*99#


模块将根据之前设置的APN激活数据连接。以上步骤是实现数据通信的基础,对于开发者来说是必备的操作。

### 高级网络配置

在多网络环境下,例如同时有2G、3G和4G网络可用时,进行网络优先级的配置可以优化数据传输和连接稳定性。AT命令可以用来设置模块优先连接某种类型的网络。

以下是一个设置网络优先级的AT命令示例:

AT+CPSMS=1,1,0,0,0


*   `AT+CPSMS` 是用于配置网络优先级的AT命令。

*   参数 `1` 表示启用网络优先级设置。

*   其后的三个 `0` 表示暂时不需要设置任何参数,它们分别代表GSM优先、网络优先级、短信服务中心优先级。

设置成功后,模块会根据配置的优先级尝试连接到网络。了解和掌握这些命令能够帮助开发者更好地管理网络连接,并确保应用的网络通信质量。

### 电源管理

AT模块的电源管理对于延长设备的电池寿命至关重要。模块休眠是一种减少能耗的策略,而唤醒模块则需要使用特定的AT命令。

以下是一个让模块进入休眠模式的AT命令:

AT+CFUN=16


*   `AT+CFUN` 是用于控制模块功能的AT命令。

*   参数 `16` 表示仅允许紧急呼叫功能,关闭其他所有功能,模块进入最低能耗状态。

在需要唤醒模块时,可以发送以下命令:

AT+CFUN=1


通过这些命令,开发者可以控制模块在需要时唤醒,而在不使用时进入低功耗状态,从而达到节能的目的。

除了使用休眠模式之外,还可以采取其他一些措施来优化AT模块的功耗。例如,可以在网络条件良好时降低数据传输间隔,或在可能时选择更为节能的连接方式。

以下是一些功耗优化的建议:

*    **动态调整数据发送频率** :根据需要动态调整数据包的发送频率。

*    **使用节能模式** :在AT命令集中有专门的节能模式命令,可以进一步减少模块的功耗。

AT+CEDRXS=1,120,10,0


*   `AT+CEDRXS` 是用于设置节能模式的AT命令。

*   参数 `1` 表示开启节能模式。

*   `120` 表示休眠时间,单位为秒。

*   `10` 表示接收和传输数据包的时间窗口。

通过这些命令和优化策略,开发者可以更有效地管理AT模块的功耗,延长设备的电池使用时间。

### 错误诊断与恢复

在AT命令执行过程中,可能会遇到各种错误。正确地解析错误信息对于快速定位问题并恢复系统正常运行至关重要。大多数AT模块在遇到错误时,会返回一个错误代码和错误信息。

举个例子,如果尝试设置一个不支持的波特率,模块可能会返回以下错误代码:

ERROR


对于这个错误,开发者需要查看模块文档,找到对应的错误代码表,并理解该代码的具体含义,例如:“无效参数”。了解错误代码后,开发者可以修改AT命令或调整设置,直至成功执行。

故障恢复是确保AT模块稳定运行的关键一环。开发者需要根据不同的错误类型和场景,采取相应的恢复策略。

以下是一些常见的故障恢复操作:

*   **复位模块** :当模块出现异常时,使用复位命令可以使模块重新启动并尝试重新初始化。
    
    ```
    AT+CFUN=17
    ```
    

*   **重新发送命令** :如果命令发送失败,开发者应该重新检查命令格式并再次发送。
    

*   **检查硬件连接** :确保所有硬件连接正确,包括电源、SIM卡和天线连接。
    

通过这些操作,开发者能够有效地解决模块在运行中遇到的问题,从而确保设备的连续稳定运行。

### AT命令高级应用案例分析

在深入了解AT命令集的必要性之后,本章节将提供两个高级应用案例,以展示AT命令在实际场景中的强大功能。我们将通过案例探讨如何使用AT命令进行物联网设备远程控制和编写自动化脚本。这些案例不仅展示了AT命令的实用性,还反映了它们在实际应用中的灵活性和可扩展性。

#### 物联网设备远程控制

在物联网(IoT)时代,远程控制物联网设备变得尤为重要。通过使用AT命令,我们可以实现对设备状态的监控和远程指令的执行。下面详细介绍如何操作。

要监控设备状态,首先需要通过AT命令查询设备的当前状态信息。这包括但不限于网络状态、信号质量、电池状态等。以下是一个简单的示例命令,用于查询信号强度:

AT+CSQ


这个命令执行后返回信号质量值,该值表示当前无线模块的接收信号强度。根据返回值,我们可以判断信号强度是否足够,或者设备是否处于理想的通信状态。

在获取到设备状态之后,我们可能需要发送特定的指令来远程控制设备。例如,关闭或开启连接到模块的某个传感器,可以使用如下命令:

AT+QPOWD=2


这个命令执行后会使得模块立即断电。`2` 表示关闭原因代码,具体代码值根据模块制造商的定义不同而有差异。此操作通常用于紧急停止设备或在远程操作中关闭设备。

#### 自动化脚本编写

除了直接与设备交互,AT命令也可以与脚本语言结合使用,实现复杂的自动化任务。例如,可以编写脚本来自动化测试模块的功能。下面详细说明这个过程。

使用脚本语言(如Python)编写自动化脚本,可以将一系列AT命令组合在一起执行。这对于需要多次测试和验证的场景非常有用。以下是一个简单的Python脚本示例,用于执行AT命令并通过串口发送:

在模块开发中,自动化测试是确保模块稳定性和功能正确性的重要环节。使用AT命令结合自动化脚本,可以自动化进行多种测试,如循环发送AT命令检查模块响应时间和稳定性。

通过上述案例,我们可以看到AT命令在远程控制和自动化测试方面的应用。这些示例仅仅是冰山一角,AT命令的真正强大之处在于其能够灵活地嵌入到更复杂的脚本和程序中,与各种编程语言和工具协同工作,以满足不同场景下的需求。随着物联网技术的发展,AT命令集也在不断地扩展和完善,以适应新的技术和应用需求。

### AT命令集的扩展与未来趋势

随着通信技术的快速发展,AT命令集也在不断地进行更新和扩展,以满足新的硬件和网络标准。第五章将深入了解AT命令集的扩展以及未来的可能趋势,重点放在3G/4G/5G网络相关的扩展命令以及安全性与合规性两个方面。

AT命令集的扩展始终伴随着通信技术的进步。随着移动网络技术从2G逐渐演进到5G,AT命令集也在不断地增加新的命令以支持这些新标准。

每个新的移动通信标准,例如3G、4G和即将到来的5G,都带来了新的功能和服务。与之相对应,AT命令集也在进行必要的扩展以支持这些新功能。

*    **3G扩展命令** :最初,AT命令集主要是针对2G网络设计的,但随着3G技术的发展,例如HSPA+和LTE,一系列新的命令被添加,如`AT+CGEV`,用于接收移动设备状态的事件报告。

*    **4G扩展命令** :为了支持LTE网络的特性,如VoLTE(Voice over LTE),又引入了新的命令集,如`AT+QMBN`用于管理MBIM(Mobile Broadband Interface Model)网络配置。

*    **5G扩展命令** :随着5G时代的来临,预计将需要更多高级的命令来管理新的网络特性,如网络切片、超高速数据传输以及低延迟通信等。虽然5G相关AT命令还在逐步标准化阶段,但已经可以预见,如`AT+QNWINFO`可以用来查询和管理网络信息。

随着物联网的兴起,AT命令集也进行了扩展,以支持更多类型的通信协议和模块功能。例如:

*    **NB-IoT和eMTC** :这两种低功耗广域网(LPWAN)技术专门针对物联网设备设计,相应的AT命令集(如`AT+QCFG`)被用于配置和管理这些网络。

*    **Wi-Fi控制命令** :随着模块集成Wi-Fi功能,AT命令集增加了如`AT+CWJAP`用于连接Wi-Fi网络,`AT+CWQAP`用于断开Wi-Fi连接。

随着AT命令集的广泛应用,尤其是随着物联网设备的普及,安全性与合规性成为不可忽视的新挑战。

加密通讯在当前的网络环境中变得越来越重要,尤其是在处理敏感数据时。AT命令集也在逐渐增加对加密通讯的支持:

*    **AT命令的SSL/TLS封装** :某些设备已经支持通过AT命令启用SSL/TLS,例如使用`AT+QSSLCFG`来配置SSL/TLS参数。

*    **认证机制** :除了加密外,还引入了更加安全的认证机制,例如使用`AT+QAUTH`进行模块与网络之间的认证。

随着全球对数据保护和隐私的要求越来越严格,通信模块的AT命令集也需要定期更新以遵循相关法规:

*    **GDPR和CCPA** :例如,为了满足欧盟的通用数据保护条例(GDPR)或加州消费者隐私法案(CCPA),模块可能需要支持新的命令来实现用户数据的管理和删除。

*    **无线电频率规范** :不同国家或地区可能有不同的无线电频率使用规范,因此模块厂商可能需要支持特定AT命令来支持这些规范,例如`AT+QRFPPARA`来查询和设置无线电频率参数。

通过以上几个方面,我们可以看到AT命令集的未来趋势不仅仅局限于现有功能的增强,还包括对新技术和新规范的适应与整合。随着硬件和软件技术的不断进步,AT命令集也将继续扩展,以适应未来的通信需求。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号