• EC20 AT指令


    EC20 AT指令

    https://www.cnblogs.com/fw-qql/p/14917303.html

    由文档Quectel_WCDMA&LTE_Linux_USB_Driver_User_Guide_V1.8.pdf

       由上可知,ttyUSB2是用来发送AT指令的,ttyUSB3是用来发送ppp的

    cat /dev/ttyUSB2 &

    echo -e "AT+QCCID\r\n" >/dev/ttyUSB2    //查询SIM卡

    echo -e "AT+CFUN=1,1\r\n" >/dev/ttyUSB2   //重启模块

    echo -e "AT+QSIMDET=1\r\n" >/dev/ttyUSB2   //开启SIM卡热插拔状态报告

    echo -e "AT+QSIMDET=1,1\r\n" >/dev/ttyUSB2  //开启SIM卡检测功能

    echo -e "AT+CSQ\r\n" >/dev/ttyUSB2  //查询信号强度

    echo -e "AT+QNWINFO\r\n" >/dev/ttyUSB2 //查询网络状态

    echo -e "AT+QCFG=\"NWSCANMODE\",3,1\r\n" >/dev/ttyUSB2 //设置4G LTE only

    echo -e "AT+QCFG=\"NWSCANMODE\",2,1\r\n" >/dev/ttyUSB2 //设置3G WCDMA only

    echo -e "AT+QCFG=\"NWSCANMODE\",1,1\r\n" >/dev/ttyUSB2 //设置2G GSM only

    echo -e "AT+QCFG=\"NWSCANMODE\",0,1\r\n" >/dev/ttyUSB2 //设置自动搜索网络

     AT+QSPN   注册网络的名称

    AT+QSIMDET=1,1或AT+QSIMDET=1,0开启     可以设置高电平  或者低电平有效//SIM卡热拔插,同一个电路 肯定不可以设置两种sim卡检测状态   要么高电平有效  要么低电平有效

    AT+QSIMDET=0  关闭热拔插功能

    通过AT命令开启SIM卡检查功能

    举例:

    AT+QSIMSTAT=1          //开启SIM卡热拔插状态报告

    AT+QSIMDET=1,1或AT+QSIMDET=1,0//开启 SIM卡检测功能

    当SIM卡拔出或者插上的时候,模块会有相应的提示:

    +CPIN:NOT READY

    AT+QSIMSTAT=1,1或AT+QSIMSTAT=1,0

    Call Ready


    核心提示:AT指令语法  使用AT指令与串口通信,是一种“礼尚往来”的通信方式,即当控制端输入一个AT指令后,与之通信的外部设备将会回复一个结果,就这样一对一的进行。以最简单的AT指令为例,当串口连接好以后,使用busybox microcom -s 115200 ttyUSB2当然,4G模块接入树莓派后会模拟出多个模块,如果选择的ttyUSB不对可多尝试记下;进入串口通信模式,当我输入一个AT后,设备将会回复一个OK每输入一次AT设备都会回复一个OK,就可以利用不同的指令,结合设备的返回码来与设备通信

    文章目录

    • 一. 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 CommandAT+<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命令结果代码一起发送的标题和尾部的内容和信息回复。
    结果代码,它们的数字等效形式以及每种用法的简要说明在列表中列出。
    例如:

    各响应结果对应的数字:

    ATV1ATV0
    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

    ============ End

  • 相关阅读:
    林正英电影之我见
    雕虫小技,颇感羞愧。
    简单地求最大公约数
    大声喊:我现在不喜欢编程!
    简单递归题,核反应堆中有α和β两种粒子...
    递归简单题2
    Java接口和抽象类的理解
    如何入门计算机高级程序语言,进化菜鸟程序员
    memcached安装报错 error while loading shared libraries: libevent2.0.so.5: cannot open shared object file: No such file or directory解决
    linux mount 过程
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/16194339.html
Copyright © 2020-2023  润新知