上位机知识篇---AT指令

发布于:2025-08-09 ⋅ 阅读:(14) ⋅ 点赞:(0)

AT 指令是控制蜂窝通信模块(2G/3G/4G/5G 等)的通用命令,不同模块的指令略有差异,但核心指令基本一致。以下是最常用的 AT 指令分类及功能说明,方便快速参考:

一、基础测试指令(检查模块状态)

指令 功能说明 示例响应
AT 最基础的测试指令,用于确认模块与串口连接是否正常(“心跳检测”) 成功返回 OK
AT+GMI 查询模块厂商信息(如华为、SIMCom 等) 例如 SIMCOM_Ltd
AT+GMM 查询模块型号(确认是 2G/4G/5G 模块) 例如 SIM800L(2G)、EC20(4G)
AT+GSN 查询模块的 IMEI 号(模块唯一标识,类似 “身份证号”) 例如 861234567890123
AT+CGMR 查询模块固件版本(用于确认是否需要升级固件) 例如 Revision:1418B05SIM800L15

二、SIM 卡与运营商相关指令

指令 功能说明 示例响应
AT+CPIN? 查询 SIM 卡状态(是否需要 PIN 码解锁) +CPIN: READY(正常可用);+CPIN: SIM PIN(需输入 PIN)
AT+CPIN="1234" 输入 SIM 卡 PIN 码(默认通常是 1234,具体以 SIM 卡为准) 成功返回 OK
AT+COPS? 查询当前注册的运营商(移动 / 联通 / 电信) +COPS: 0,0,"China Mobile"(中国移动)
AT+COPS=? 搜索附近可用的运营商(返回所有可接入的网络) 例如 +COPS: (2,"China Mobile","CMCC","46000"),...
AT+CSIM=... 执行 SIM 卡内部操作(如读取 SIM 卡存储的联系人,需按协议格式输入参数) 成功返回操作结果代码

三、信号与网络状态指令

指令 功能说明 示例响应
AT+CSQ 查询信号强度(关键指标,决定通信稳定性) +CSQ: 28,0(前值 0-31,越大越好;31 最强,<10 信号差,99 无信号)
AT+CGATT? 查询是否附着到数据网络(GPRS/4G/5G,上网必备) +CGATT: 1(已附着,可上网);0(未附着,无法上网)
AT+CGREG? 查询是否注册到移动网络(2G/4G 的注册状态) +CGREG: 0,1(注册成功);0,2(注册失败)
AT+CEREG? 查询是否注册到 4G LTE 网络(仅 4G/5G 模块支持) +CEREG: 0,1(注册成功)
AT+CNRV? 查询 5G NR 信号状态(仅 5G 模块支持) +CNRV: 1,5,-85,3(表示 5G 信号正常)

四、通话相关指令

指令 功能说明 示例响应
ATD10086; 拨打指定号码(结尾必须加;,号码替换为实际号码) 拨号中返回 OK,接通后返回 +CIEV: "CALL",1
ATH 挂断当前通话(无论是呼出还是呼入) 成功返回 OK
ATA 接听来电(当模块收到来电时使用) 成功返回 OK
AT+CLCC 查询当前通话状态(是否在通话、通话类型等) +CLCC: 1,1,4,0,0,"10086",128(表示正在通话)
AT+VTS="123" 通话中发送 DTMF 信号(类似手机拨号键盘输入 123) 成功返回 OK

五、短信相关指令(文本模式,新手常用)

指令 功能说明 示例响应
AT+CMGF=1 设置短信模式为 “文本模式”(简单直观,适合发送普通文字) 成功返回 OK
AT+CMGS="13800138000" 指定接收短信的手机号(输入后返回>,等待输入短信内容) >(提示输入内容)
输入内容后按Ctrl+Z 发送短信(Ctrl+Z是结束符,ASCII 码为 26) 成功返回 +CMGS: 123(123 是短信序号)和OK
AT+CMGR=1 读取第 1 条短信(需先知道短信存储位置和序号) 返回短信内容、发送者、时间等
AT+CMGD=1 删除第 1 条短信 成功返回 OK
AT+CSCA? 查询短信中心号码(必须正确,否则无法发短信,由运营商提供) +CSCA: "+8613800210500",145(上海移动短信中心)

六、数据传输相关指令(联网 / TCP/UDP)

指令 功能说明 示例响应
AT+CGDCONT=1,"IP","CMNET" 设置 APN(接入点名称,移动用 CMNET,联通 UNINET,电信 CTNET) 成功返回 OK
AT+NETOPEN 打开数据网络连接(部分模块用此指令,其他可能用AT+CGACT=1,1 +NETOPEN: 0(成功)
AT+IPSTART="TCP","123.45.67.89",8080 建立 TCP 连接(参数:协议、服务器 IP、端口) +IPSTART: 0(连接成功)
AT+IPSEND=5 发送指定长度的数据(例如 5 字节,输入后返回>,再输入数据) >(提示输入数据),发送后返回OK
AT+IPRECV=100 接收数据(最多接收 100 字节) 返回接收的内容和长度
AT+IPSHUT 关闭当前 TCP/UDP 连接 成功返回 OK
AT+NETCLOSE 关闭数据网络(断开与基站的连接) 成功返回 OK

七、其他实用指令

指令 功能说明 示例响应
AT+CFUN? 查询模块功能模式(1 = 正常模式,0 = 最小功能模式) +CFUN: 1(正常工作)
AT+CFUN=1,1 重启模块(相当于 “热重启”,解决临时故障) 模块重启后返回 OK
AT+CCLK? 查询模块当前时间(由网络同步,需注册到网络) +CCLK: "23/10/01,12:34:56+08"(年月日时分秒 + 时区)
AT+CSQ=? 查询信号强度的范围(确认模块是否支持该指令) +CSQ: (0-31,99)

注意事项

  1. 所有指令必须以 “回车”(\r)结尾,模块才会识别(串口工具中通常按 Enter 键自动添加)。
  2. 不同品牌模块可能扩展了专属指令(如华为模块的AT^SYSCFG设置网络模式),需参考对应模块的 AT 指令手册。
  3. 指令不区分大小写(如atAT效果相同),但参数通常大小写敏感(如手机号需正确输入)。

掌握这些指令,基本能应对模块调试、通话、短信、联网等日常需求,具体使用时可结合模块手册进一步细化。


网站公告

今日签到

点亮在社区的每一天
去签到