文章目录

  • 一. AT指令语法
    • 基本原理
    • AT指令和响应类型
  • 二. AT指令集中的几个重要术语
  • 三. 一般命令
    • ATI 显示产品标识信息
    • AT+GMI , AT+CGMI 获取制造商
    • AT+GMM , AT+CGMM 申请TA模型识别
    • AT+GMR , AT+CGMR 请求软件版本的TA修订标识
    • AT+GSN , AT+CGSN 获取模块IMEI号
    • AT&F 将所有当前参数设置为制造商默认值
    • AT&V 显示当前配置
    • AT&W 保存设置
    • AT&Z 将所有当前参数设置为用户定义的配置文件
    • ATQ 设置结果代码演示模式
    • ATV TA响应格式
    • ATE 设置命令回显模式
    • A/
    • ATS3 设置命令行终止符
    • ATS4 设置响应格式字符
    • ATS5 设置命令行编辑字符
    • AT+CFUN 设置电话功能
    • AT+CMEE 错误讯息格式
    • AT+CSCS 选择字符集
  • 四. 串口控制命令
    • AT&C 设置数据载波检测模式
    • AT&D 设置DTR功能模式
    • AT+IFC 设置TE-TA本地数据流控制
    • AT+ICF 设置TE-TA控制字符框
    • AT+IPR 设置波特率
  • 五. 状态控制命令
    • AT+CPAS 移动设备活动状态
  • 六. EC20 4G模块SIM卡相关命令
    • AT+CIMI 获取国际移动用户识别码
    • AT+CPIN 查询SIM卡状态
    • AT+CLCK 设备锁
    • AT+CPWD 修改密码
    • AT+CCID , AT+QCCID 显示SIM的CCID号
  • 七. 网络服务命令
    • AT+COPS 操作员选择
    • AT+CREG 网络注册状态
    • AT+CSQ 查看信号强度

一. AT指令语法

基本原理

 使用AT指令与串口通信,是一种“礼尚往来”的通信方式,即当控制端输入一个AT指令后,与之通信的外部设备将会回复一个结果,就这样一对一的进行。
以最简单的AT指令为例,当串口连接好以后,使用

busybox microcom -s 115200 ttyUSB2

当然,4G模块接入树莓派后会模拟出多个模块,如果选择的ttyUSB不对可多尝试记下;进入串口通信模式,当我输入一个AT后,设备将会回复一个OK

每输入一次AT设备都会回复一个OK,就可以利用不同的指令,结合设备的返回码来与设备通信。

其实,当我敲下AT 回车后,发送给设备的指令实际是

AT<CR>

也就是 “AT\r”
“\r” 是指回到行首,但不会换到下一行,而当我们收到OK时,实际上是收到了

<CR><LF><OK><CR><LF>

也就是 “\r\nOK\r\n
" /r/n " 合起来才是Windows下的Enter,即回到行首并新建一行。从上面的图中可以看到,OK的确换到了新的一行,当我们在敲AT时,又是在新的一行。

  • 基本语法
    这些AT命令的格式为“ AT<x><n> ”或 “AT&<x><n>,其中以"<x>”为命令,并且“ <n>"是该命令的参数。 例如“ ATE <n>”,它告诉DCE是否应根据“ <n>”的值将收到的字符回显到DTE。 “ <n>”是可选,如果缺少默认值,将使用默认值。
  • S参数语法
    这些AT命令的格式为“ ATS <n> = <m>”,其中“ <n>”是要设置的S寄存器的索引,“ <m>”是要分配给它的值。S参数语法这些AT命令的格式为“ ATS <n> = <m>”,其中“ <n>”是要设置的S寄存器的索引,“ <m>”是要分配给它的值。

AT指令和响应类型

Test Command AT+<x>=? 此命令返回参数和值范围的列表由相应的写命令或内部进程设置
Read Command AT+<x>? 命令返回参数的当前设置值或参数
Write Command AT+<x>=<…> 此命令设置用户可定义的参数值。
Execution Command AT+<x> 取受UE内部流程影响的被变量参数

二. AT指令集中的几个重要术语

TE (Terminal Equipment):
终端设备,比如一台计算机,一部手机,与DTE等价.它是和信息网络的一端相接的可提供必要功能的设备,这些功能使得用户可以通过接入协议接入网络。发送信息,接收信息。

TA(Terminal Adapter)
终端适配器,提供终端适配功能的物理实体,是一种接口设备,与DCE等价。比如SIM300模块

DCE(Data Communications Equipment)
数据通信设备,它在DTE和传输线路之间提供信号变换和编码功能,并负责建立、保持和释放链路的连接,如Modem。DCE设备通常是与DTE对接,因此针脚的分配相反。其实对于标准的串行端口,通常从外观就能判断是DTE还是DCE,DTE是针头(俗称公头),DCE是孔头(俗称母头),这样两种接口才能接在一起。

DTE(Data Terminal Equipment)
数据终端设备,具有一定的数据处理能力和数据收发能力的设备。DTE提供或接收数据,例连接到调制解调器上的计算机就是一种DTE。DTE提供或接收数据,连接到网络中的用户端机器,主要是计算机和终端设备。与此相对的,在网络端的连接设备称为 DCE ( Date Circuit - terminating Equipment )。DTE与进行信令处理的DCE相连。 它是用户—网络接口的用户端设备,可作为数据源、目的地或两者兼而有之。 DTE通过DCE设备(例如,调制解调器)连接到数据网络,且一般使用DCE产生的时钟信号。DTE包括像计算机、协议转换器和多路复用器这样的设备。

ME Mobile Equipment : 移动设备,比如手机,就属于ME

MS Mobile Station : 移动台,在移动中使用的通信站或者手持台。

三. 一般命令

ATI 显示产品标识信息

ATI命令用来返回模块的产品标识信息:

可以看到,我的模块式移远的EC20F.,Revision是修订标识
最大响应时间:300ms

AT+GMI , AT+CGMI 获取制造商


最大响应时间:300ms

AT+GMM , AT+CGMM 申请TA模型识别

和查型号差不多

AT+GMR , AT+CGMR 请求软件版本的TA修订标识


可以发现,最上面的命令包含了这3个命令。
最大响应时间:300ms

AT+GSN , AT+CGSN 获取模块IMEI号


IMEI号,即国际移动设备识别码(International Mobile Equipment Identity,IMEI),通常所说的手机序列号,移动通信设备都会有一个IMEI号,就像身份证。
最大响应时间:300ms

AT&F 将所有当前参数设置为制造商默认值

例如

AT&F0

最大响应时间:300ms

AT&V 显示当前配置


最大响应时间:300ms

AT&W 保存设置

将当前参数存储到用户定义的配置文件。
下面不标明最大响应时间的,默认300ms

AT&Z 将所有当前参数设置为用户定义的配置文件

该命令以非易失性方式将当前AT命令设置恢复到用户定义的配置文件内存(如果之前已将它们存储在AT&W中)。 同一命令行上的任何其他AT命令,可能会被忽略。

ATQ 设置结果代码演示模式

此参数设置确定TA是否将任何结果代码发送到TE。 信息文字以响应方式传输不受此设置影响.

if \<n>=0:
OK
if\<n>=1:
none

<n> :
0 —— TA发送结果代码
1 —— 结果代码被禁止而不发送

ATV TA响应格式

该命令确定与AT命令结果代码一起发送的标题和尾部的内容和信息回复。
结果代码,它们的数字等效形式以及每种用法的简要说明在列表中列出。
例如:

各响应结果对应的数字:

ATV1 ATV0
OK 0
CONNECT 1
RING 2
NO CARRIER 3
ERROR 4
NO DIALTONE 6
BUSY 7
NO ANSWER 8

ATE 设置命令回显模式

输入的命令是否能在屏幕打印
例如 ATE0,ATE1

A/

该命令重复上一个AT命令行,“ /”充当行终止符。

ATS3 设置命令行终止符

该命令确定模块识别的字符以终止传入的命令行。 它还为结果代码和信息文本以及通过ATS4设置的字符值生成。

ATS4 设置响应格式字符

该命令确定模块为结果代码和信息文本生成的字符,以及通过ATS3设置的命令行终止字符。

ATS5 设置命令行编辑字符

该命令确定模块用来删除紧靠其前的字符值,AT命令行中的字符(即等于退格键)。

AT+CFUN 设置电话功能

  1. AT+CFUN=?
    列出所有功能对应序号
  2. AT+CFUN?
    查询当前设置的电话功能,返回的是fun的值
  3. AT+CFUN=<fun>[,<rst>]
    设置电话功能

<fun>
0 —— 最低功能
1 —— 完整功能(默认)
4 —— 禁止ME发送和接收RF信号

\rst>
0 —— 将ME设置为功能级别之前,请勿重置ME。当未给出时,这是默认设置。
1 —— 重置ME。 复位后,该设备可以正常使用。 该值仅用于 = 1

AT+CMEE 错误讯息格式

  1. AT+CMEE=?
    列出支持的功能
  2. AT+CMEE?
    查看当前设置
  3. AT+CMEE=<n>
    设置错误讯息格式

<n>
0 —— 禁用结果代码
1 —— 启用结果代码并使用数值
2 —— 启用结果代码并使用详细值
这个设置比较有必要,当发生错误时如果光知道错误号还要去查询,具体看下图:

AT+CSCS 选择字符集

AT指令集支持三种字符集,分别是GSM,IPA与UCS2字符集.

AT+CSCS=<cheset>

四. 串口控制命令

AT&C 设置数据载波检测模式


1 表示总是开启数据载波检测功能
0 表示仅在有数据载体的情况下才打开

AT&D 设置DTR功能模式

该命令确定在数据模式期间,如果DTR线路从低电平更改为高电平,UE将如何响应。

AT&D[\value>]

<value>
0 —— TA忽略DTR上的状态
1 —— DTR上的低→高:在保持连接的呼叫的同时切换到命令模式。
2 —— DTR上的低→高:断开数据调用,然后更改为命令模式。 当DTR处于高级别时,自动应答功能已禁用。

AT+IFC 设置TE-TA本地数据流控制

  1. AT+IFC=?
    列出支持的设置
  2. AT+IFC?
    查看当前设置
  3. AT+IFC=<dce_by_dte>,<dte_by_dce>
    设置

<dce_by_dte> 指定TE从TA接收数据时将使用的方法
0 —— 无
2 —— RTS流量控制

<dte_by_dce> 指定TA从TE接收数据时将使用的方法
0 —— 无
2 —— CTS流量控制

AT+ICF 设置TE-TA控制字符框

该命令确定TA从TE接收到的串行接口字符成帧格式和奇偶校验。

  1. AT+ICF=?
    查询支持的设置
  2. AT+ICF?
    查看当前设置
  3. AT+ICF=[<format>,[<parity>]]
    设置

<format>
3 —— 8 数据 0 奇偶校验 1 停止

<parity>
0 —— 奇数
1 —— 偶数

AT+IPR 设置波特率

我前面关于串口通信的文章有提到过波特率,具体就不在解释了

五. 状态控制命令

AT+CPAS 移动设备活动状态

  1. AT+CPAS=?
    查看支持的状态
  2. AT+CPAS
    TA返回ME的活动状态<pa>

<pa>
0 —— 准备
3 —— 响
4 —— 正在通话或保持通话


AT+CLCC是列出当前呼叫列表

更多状态控制命令请参考ET20的dataeet,后面会给出下载地址。

六. EC20 4G模块SIM卡相关命令

AT+CIMI 获取国际移动用户识别码

AT+CPIN 查询SIM卡状态

  1. AT+CPIN?
    回复 +CPIN: <code>
  2. AT+CPIN=<pin>[,<new pin>]
    TA存储密码,例如(U)SIM PIN,(U)SIM PUK等,在操作之前这是必需的。 如果PIN码是输入两次,TA将自动重复PIN。 如果没有PIN请求待处理,未执行任何操作且发生了错误消息+ CME ERROR返回给TE。
    如果所需的PIN是(U)SIM PUK或(U)SIM PUK2,则第二针是必需的。 第二个销钉用于更换(U)SIM中的旧针脚。

<code>
READY MT —— 不需要任何密码
SIM PIN MT —— 正在等待提供(U)SIM PIN
SIM PUK MT —— 正在等待(U)SIM PUK
SIM PIN2 MT —— 正在等待提供(U)SIM PIN2
SIM PUK2 MT —— 正在等待(U)SIM PUK2被给予
PH-NET PIN MT —— 正在等待提供网络个性化密码
PH-NET PUK MT —— 正在等待提供网络个性化解锁密码
PH-NETSUB PIN MT —— 正在等待提供网络子集个性化密码
PH-NETSUB PUK MT —— 正在等待提供网络子集个性化解锁密码
PH-SP PIN MT —— 正在等待提供服务提供商的个性化密码
PH-SP PUK MT —— 正在等待提供服务提供商个性化解锁密码
PH-CORP PIN MT —— 正在等待提供公司个性化密码
PH-CORP PUK MT —— 正在等待公司个性化解锁密码

<pin>
字符串类型。 密码。 如果请求的密码是PUK,例如(U)SIM PUK1,
PH-FSIM PUK或其他密码,然后必须在后跟。
<new pin>
字符串类型。 如果请求的代码是PUK,则需要新密码

AT+CLCK 设备锁

详细用法见datasheet第61页。

AT+CPWD 修改密码

AT+CCID , AT+QCCID 显示SIM的CCID号


因为其他命令基本上用不上,所以就不一一列举

七. 网络服务命令

AT+COPS 操作员选择

该命令可用于查看运营商的FDD-LTE网络,可用于查看SIM的注册情况

  1. AT+COPS=?
    返回支持的stat,运营商的长名称,短名称,FDD-LTE以及Act
  2. AT+COPS?
    返回当前SIM卡的相关信息
    格式如下:
    +COPS: <mode>[,<format>[,<oper>][,<Act>]]
    下面来看这些参数都对应了什么内容:

<stat>
0 —— 未知
1 —— 位操作员可用
2 —— 当前操作员
3 —— 禁止操作员

<oper>
符合<mode>格式的运算符

<mode>
0 —— 自动模式。 <oper>字段被忽略
1 —— 手动操作员选择。 <oper>字段应存在,并且可选
2 —— 手动从网络注销
3 —— 仅设置<format>(对于AT + COPS?Read Command),不要尝试注册/取消注册(<oper>和<Act>字段将被忽略)。 该值在读取命令的响应中无效。
4 —— 手动/自动选择。 将显示|字段。 如果手动选择失败,进入自动模式(<mode> = 0)

<format>
0 —— 长格式字母数字<oper>,最长16个字符
1 —— 短格式字母数字<oper>
2 —— 数字<oper>。 GSM位置区域识别号码

<Act>
选择了访问技术。 值3、4、5、6仅在读取响应中出现
MS处于数据服务状态且不适用于AT + COPS写入时的命令
0 —— GSM
2 —— UTRAN
3 —— GSM W/EGPRS
4 —— UTRAN W/HSDPA
5 —— UTRAN W/HSUPA
6 —— UTRAN W/HSDPA and HSUPA
7 —— E-UTRAN
100 ——CDMA

AT+CREG 网络注册状态

该命令返回两个参数
+CREG: <n>,<stat>

<n>
0禁 —— 用未经请求的网络注册结果代码
1 —— 启用未经请求的网络注册结果代码+ CREG:<stat>
2 —— 启用带有位置信息的网络注册未经请求的结果代码

<stat>
0 —— 未注册。 我目前不在搜索新的运营商来注册
1 —— 已注册,本地网络
2 —— 未注册,但ME当前正在搜索新的运营商以注册
3 —— 注册被拒绝
4 —— 未知
5 —— 已注册,漫游网络(外地网络)
stat为1,5 SIM都可用。

AT+CSQ 查看信号强度


第一个返回值为信号强度,9 ~ 31 以内越高则信号越强,第二个参数为通道误码率(百分比),99表示位置,如果返回99,99则表示SIM不可用,应该检查下天线。
插EC20 4G模块的天线时,要注意天线的位置,一个是main口,一个是div口,main主要负责就收发送,而div口只能接受,应将天线插到main口。

这就是一些AT较为重要的命令,还有收拨电话与收发短信的指令将在下一篇博客总结。

下载链接:https://pan.baidu.com/s/1M6itx4z-Sd8Xjg0WDXmbIQ
提取码:8gd6

AT指令集超详细解析(内含EC20模块datasheet)相关推荐

  1. 单片机数字钟(调时,调时闪烁,万年历,年月日)超详细解析

    2019/07/13 单片机数字钟(调时,调时闪烁,万年历,年月日)超详细解析 发表日期:2019/07/13 单片机开发板:巫妖王2.0, 使用同款开发板可直接上板测试 文档说明: 实现功能 : 一 ...

  2. Android技能树 — 网络小结(6)之 OkHttp超超超超超超超详细解析

    前言: 本文也做了一次标题党,哈哈,其实写的还是很水,各位原谅我O(∩_∩)O. 介于自己的网络方面知识烂的一塌糊涂,所以准备写相关网络的文章,但是考虑全部写在一篇太长了,所以分开写,希望大家能仔细看 ...

  3. 计算机网络之交换机的工作原理---超详细解析,谁都看得懂!!

    在了解交换机的工作原理之前,我们先要了解几个概念. 一.相关概念  1.OSI七层模型是哪七层? 自上而下分别是: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 交换机工作在数据链路层, ...

  4. Hadoop——MapReduce相关eclipse配置及Api调用(图文超详细版)(内含遇到错误的解决方法)

    一.前情提要 前面两篇文章我们已经成功搭建了Hadoop以及安装了Hive,Sqoop和Mysql数据库,现在我们就来利用Hadoop尝试做一个小实战,实现单词统计! 还没有搭建Hadoop成功的同学 ...

  5. 【智能算法】粒子群算法(Particle Swarm Optimization)超详细解析+入门代码实例讲解...

    喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 01 算法起源 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computation),1995 年由E ...

  6. VUE 钩子函数超详细解析

    点击上方蓝色字体关注我吧 一起学习,一起进步,做积极的人! 前言 Vue 实例在被创建时,会经过一系列的初始化过程,初始化过程中会运行一些函数,叫做生命周期钩子函数,通过运用钩子函数,用户在可以在Vu ...

  7. 超详细解析python爬虫爬取京东图片

    超详细图片爬虫实战 实例讲解(京东商城手机图片爬取) 1.创建一个文件夹来存放你爬取的图片 2.第一部分代码分析 3.第二部分代码分析 完整的代码如下所示: 升级版代码: 爬取过程中首先你需要观察在手 ...

  8. 2022年全国职业技能大赛中职组“网络安全”赛项— A1模块(超详细解析)

    A-1任务一 登录安全加固 1.密码策略(Windows,Linux) a.设置最短密码长度为15: Windows: 本地安全策略-->账户策略-->密码策略

  9. 两万字深度讲解系统设计!超详细解析!面试复习必备!

    Table of Contents generated with DocToc 三高 高并发 高性能 高可用 网站统计IP PV UV实现原理 如何进行系统拆分? 场景题:设计判断论文抄袭的系统 设计 ...

  10. 关于主从复制的超详细解析(全)

    目录 前言 1. 主从复制 1.1 方式 2. Mysql的主从复制 2.1 一主一从 2.1.1 window和linux通讯 2.1.2 linux和linux的通讯 2.2 双主双从 3. Re ...

最新文章

  1. xgboost重要参数2为主但不全要参照1
  2. 20155222 第二周测试
  3. 分享Kali Linux 2017年第12周镜像文件
  4. 一次看完28个关于ES的性能调优技巧
  5. mysql 更新错误1062_mysql 出现1062错误怎么办
  6. 百度Java工程师面试资源
  7. maven简单工具命令
  8. keras 初步学习
  9. Ubuntu下定时重启程序
  10. 软考常考知识点整理-项目风险管理计划
  11. 学python数据分析心得体会800字_一点学习大数据分析的心得体会
  12. 计算机网络调试+定额,第一章-计算机网络系统设备安装工程-定额.doc
  13. ir2110驱动占空比不能太高
  14. Pytorch 深度学习实战教程(五):今天,你垃圾分类了吗?
  15. 利用python+zabbix查询服务器利用率
  16. Unity之ASE从入门到精通 目录
  17. uefi引导固态硬盘ssd装win10(不用U盘)
  18. A1010——Radix(好多测试点…)
  19. 微信运营|如何利用微信后台数据优化微信运营
  20. cadlisp框选打印_我有好多CAD图纸要打印,一张一张的选取打印太麻烦了,请教高手有没有什么好的办法帮小弟一下、!..十分感...

热门文章

  1. java学习练习预埋件配筋计算
  2. c语言的异步回调函数,C语言函数的回调函数
  3. Axure8.1.0.3389 授权码
  4. 2013 VS 2018:五年前和今天的十大数字货币大比拼
  5. 部署项目在Tomcat出现,tomcat报错More than one fragment with the name [org_apache_tomcat_websocket]
  6. cass等距离等分线段的命令键_cad等分快捷键(cad等分线段快捷键命令)
  7. HCNA-Cloud云计算认证
  8. c语言药店管理系统设计,药店管理系统
  9. Spring Boot过滤器和拦截器详解
  10. 【Python】Python第三方库概览