开发板:FL2440         内核版本:linux-3.0

一,AT指令集介绍

AT 即Attention,AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter, TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。通过TA,TE发送AT指令来控制移动台(Mobile Station,MS)的功能,与GSM 网络业务进行交互。AT指令集是GSM网络设备之间发送控制信息的标准指令集。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。

AT指令由手机制造商诺基亚、爱立信、摩托罗拉等共同研制,其中包括了短消息(SMS)控制功能。对SMS的控制有Block模式、文本模式和协议数据(PDU)模式3种,目前主要使用PDU模式,其他两种模式逐步被淘汰。(本文使用的文本模式)

注:Block模式发送指令需要厂商提供的驱动,文本模式是串口模式,通过串口发送数据即可,不需要厂商提供的驱动、

计算机可以通过AT指令与手机或者GSM模块通信。AT指令的特点是所有的指令都以AT字符串起始,后面是不同的指令。所有的AT指令都需要返回值,接收端通过返回信息处理AT命令操作结果。常见的AT命令示例如下:
AT< CR>
< LF> OK < LF>
ATTEST< CR>
< CR> ERROR < LF>

注:<CR>代表回车;<LF>代表换行。如果AT指令执行成功,“OK”字符串返回;如果AT 指令语法错误或AT 指令执行失败,“ERROR”字符串返回。


二,常用AT指令集

1、常用操作
1.1 AT
命令解释:检测 Module 与串口是否连通,能否接收 AT 命令;
命令格式:AT<CR>
命令返回:OK (与串口通信正常)
             (无返回,与串口通信未连通)
测试结果:AT
          OK
1.2 AT+CSQ
命令解释:检查网络信号强度
命令格式:AT+CSQ<CR>
命令返回:+CSQ: **,##
           其中**应在 1031 之间,数值越大表明信号质量越好,##为误码
率,值在 099 之间。
          否则应检查天线或 SIM 卡是否正确安装
测试结果:AT+CSQ<CR>
          +CSQ: 20,5
1.3 AT+CPIN?
命令解释:检查登入移动设备(ME)的密码.
命令格式:AT+CPIN?<CR>
命令返回:+CPIN:  状态
           其中状态值可能是:
READY(表示 SIM卡正常,同时不需要登入密码),
SIM PIN (表示 ME等待提供 SIM卡的 PIN 码)
SIM PUK (表示 ME等待提供 SIM卡的  PUK码)
SIM PIN2 (表示 ME等待提供 SIM 卡的 PIN2 码)
SIM PUK2 (表示 ME等待提供 SIM卡的  PUK2 码)
PH-SIM PIN (表示设备被锁 SIM卡,ME等待提供从手机到 SIM卡的密码)
PH-NET PIN (表示设备被锁网络,ME等待提供提供网络个性化密码)
ERROR (表示 SIM卡失败或没有插入 SIM卡)
测试结果:AT+CPIN?<CR>
          +CPIN: READY
          表示SIM卡正常,同时不需要登入密码。
1.4 AT+COPS?
命令解释:查询运营商选择状态.
命令格式:AT+COPS?<CR>
命令返回:+COPS: <mode>,<format>,<operator>
           <mode>的值为0 到 4, 默认值是 0
<format>的值为 02, 默认值是 2
<Operator>的值为运营商代码, 中国移动的代码是 46000, 联通的代码是 46001
测试结果:AT+COPS?<CR> Tech-Link T&E Limited                                                                     常用 AT 命令手册
-  2+COPS: 0, 2, 46000
1.5 AT+WOPEN=2
命令解释:查询模块支持 Open AT 的 Library 版本及是否有 Open AT Application 在模块中.
命令格式:AT+ WOPEN=2<CR>
命令返回:+WOPEN: 2, “ Open AT Library version” ,”  Open AT Application version” 
      Open AT Library version 代表的是模块支持 Open AT 的 Library 版本,通常显示的
值为” AT v04.1x”   或  ” AT v04.2x” 
Open AT Application version 代表的是模块支持 Open AT 的 Library 版本,通常显
示的值为” AT v04.1x”   或  ” AT v04.2x” 
注: “ Open AT Library version” 和”  Open AT Application version” 两个值必须是一个
一致(除最后一位外),否则会导致 Open AT 程序不稳定.
如果返回值”  Open AT Application version” 中没有数据,仅显
示+WOPEN: 2,” AT v04.10” 则表示模块中没有 Open AT Application 程序.
测试结果:AT+WOPEN=2<CR>
          +WOPEN: 2,” AT v04.10” ,” AT v04.11” 
          OK
1.6 AT+WOPEN=0
命令解释:停止 Open AT Application 程序.
命令格式:AT+ WOPEN=0<CR>
命令返回:OK       或      ERROR
测试结果:AT+WOPEN=0<CR>
          OK
1.7 AT+WOPEN=4
命令解释:删除 Open AT Application 程序.
命令格式:AT+ WOPEN=4<CR>
命令返回:OK       或      ERROR
测试结果:AT+WOPEN=4<CR>
          OK
      注:  删除 Open AT Application 程序前,必须先使用 AT+WOPEN=0 停止 Open AT 程序.
1.8 AT+WOPEN=1
命令解释:开启 Open AT Application 程序.
命令格式:AT+ WOPEN=1<CR>
命令返回:OK       或      ERROR
测试结果:AT+WOPEN=1<CR>
          OK
1.9 AT+WIPCFG=3
命令解释:查询 WIP 软件版本.   
命令格式:AT+ WIPCFG=3<CR>
命令返回:<revision >       或      ERROR
测试结果:AT+WIPCFG=3<CR>
      WIP Soft v201 on Open AT OS v411
      OK Tech-Link T&E Limited                                                               
注意:  使用 AT+WIPCFG=3 命令前,必须确保 Open AT 程序是开启状态(即 AT+WOPEN=1).
WIP Soft v201 代表 WIP 的软件版本是 V201, on Open AT OS v411 代表前面 v201 的
WIP 软件是基于 v411的 Opean AT 开发平台上开发的.
WIP 软件就是TCP/IP 协议站
1.10  AT+CSCS?
命令解释:查询终端适配器(TE)的字符集.
命令格式:AT+ CSCS?<CR>
命令返回:<字符集编码格式>
       返回值通常是下列中的一项.
       “ GSM”  ----- GSM缺省符号集(参考 GSM 03.386.2.1 节).
       “ PCCP437”  ---- PC字符集代码页 437.
       “ CUSTOM”  ----  用户自定义.
       “ HEX”  ----  十六进制: (取值范围:00 到 FF。比如:052FE6 表示 3 个 8bit 字
符,转换为十进制,分别为 547230,禁止转换为 ME原始字符集).
测试结果:AT+CSCS?<CR>
         +CSCS: “ PCCP437” 
         OK
1.11  AT+CGSN
命令解释:查询模块的 IMEI 号码.
命令格式:AT+ CGSN<CR>
命令返回:<IMEI>
测试结果:AT+CGSN<CR>
          012345678901234
          OK
注意:  如果显示 012345678901234 表示模块没有写IMEI 号码,有 IMEI 号码的话
应该显示是 35xxxxxxxx (共 15 位数字).
1.12  ATI7
命令解释:查询语音编码特性
命令格式:ATI7<CR>
命令返回:SPEECH CODINGS: FR,EFR,HR,AMR
1.13  A TZ
命令解释:恢复默认设置
命令格式:ATZ<CR>
命令返回:OK
1.14  AT+CGMR   (此命令功能同等于 ATI3)
命令解释:查询模块版本;
命令格式:AT+CGMR<CR>
命令返回: <revision >
+CMEERROR <err>
测试结果:AT+CGMR<CR>
          661_09gg.Q2686H 1925236 100506 11:13
解释:模块的 Firmware 版本号为 661
1.15  AT+IPR
命令解释:修改串口 1 波特率;
命令格式:AT+IPR=<value ><CR>
命令返回:ERROR  
OK  
测试结果:AT+IPR=115200<CR>
          OK
注意:串口波特率修改为 115200 后要把串口调试工具的波特率设为相应波
特率后模块才会有返回.
1.16  AT&W
命令解释:保存模块设置;
命令格式:AT&W<CR>
命令返回:OK
ERROR(保存不成功)
测试结果:AT&W <CR>
          OK
1.17  ;&W
命令解释:连续保存命令
命令格式:ATxxx;&W<CR>  (AT xxx 代表要设置的命令,紧跟;&W 表示执行此设置的
同时保存该设置)
命令返回:OK
例如要将模块的波特率设置成 115200 并保存它,则可以直接按如下操作:
测试结果:AT+IPR=115200;&W <CR>
1.18  AT+CGMI
命令解释:查询模块厂商的标识;
命令格式:AT+CGMI<CR>
命令返回:WAVECOM  MODEM
测试结果:AT+CGMI <CR>
          WAVECOM  MODEM
1.19  AT+CGMM  
命令解释:获取模块支持的频带;
命令格式:AT+CGMM<CR>
命令返回:MULTIBAND 900E  1800
 900E
 1800
 1900
 G850
 MULTIBAND G850  1900
测试结果:AT+CGMM <CR>
          MULTIBAND 900E  1800 (表示模块支持多频带,首选频带为 900E  1800)
1.20  A/  
命令解释:重复上次命令;
命令格式:A/<CR>
命令返回:上一次 AT 命令返回的值
这命令重复前一个执行的命令
1.21  AT+CPOF  
命令解释:关机;这个特殊的命令可停止 GSM软件堆栈和硬件层
命令格式:AT+CPOF<CR>   
命令返回:OK
测试结果:AT+CPOF <CR>
          OK
注: AT+CPOF<CR>用于停止 GSM软件堆栈,这命令的功能与 AT+CFUN=0 相同执行 AT+CFUN=1<CR>即可重新运行 GSM软件堆栈.
    AT+CPOF=1<CR>用于停止 GSM硬件层,运行此命令后 AT 将失去回应,必需对模块进行硬件复位模块方可重新工作.
1.22  AT+CMEE  
命令解释:模块的错误报告;
命令格式:AT+CMEE=0<CR>   和  AT+CMEE=1<CR>
命令返回:OK
AT+CMEE=0<CR>表示关闭模块的出错报告,当模块的 AT 执行错误时,返回值
仅为“ERROR” 
AT+CMEE=1<CR>表示开启模块的出错报告,当模块的 AT 执行错误时,返回值为“+CME ERROR: xxx”。(xxx 代表错误代码,依照此代码可查询错误类型)
1.23  AT+CCLK  
命令解释:时钟管理;
命令格式:AT+CCLK?<CR>  用于查询模块当前的时间
命令返回:+CCLK: "yy/MM/dd,hh:mm:ss"  
另: AT+CCLK="08/03/17,10:34:23"<CR>用于设置模块的时钟,执行此命令后,模
块的时钟将设定成为 08 年3 月 171034231.24  AT+CREG
命令解释:网络注册及状态查询;
命令格式:AT+CREG=MODE<CR>
命令返回:OK  
如果输入 AT+CREG? <CR>则返回+CREG: <mode>, <stat> [ ,<lac>,<ci> ]  
注: <mode>的值共有三个选项,分别是 0 or 1 or 2,  其中0 代表关闭网络注册结果码, 1 代表当网络注册状态改变时激活网络注册结果码, 2 代表激活网
络注册结果码同时显示区域和小区信息.
    <stat>的返回值共有三个,分别是 0, 1, 2,3,4,5 ,  其中 0 代表没有注册网络同时模块没有找到运营商, 1代注册到了本地网络, 2 代表找到运营商但没
有注册网络, 3 代表注册被拒绝, 4 代表未知的数据, 5代表注册在漫游状态.
    <lac>表示所属网络区域代码,十六进制格式显示,如: “ 279C”
    <ci>表示所属网络的小区 ID,十六进制格式显示,如: “ 0EB2”  
注: <mode>的值设定为 0 或1 的话, <lac>,<ci>的返回值则不显示.
测试结果:AT+CREG=0 <CR>
          OK
          AT+CREG? <CR>
          +CREG: 0,1
 
          AT+CREG=1 <CR>
          OK
          AT+CREG? <CR>
          +CREG: 1,1
 
          AT+CREG=2 <CR>
          OK
          AT+CREG? <CR>
          +CREG: 2,1, “ 279C” , “ 0EB2” 
 
2、通话操作
2.1   ATD  
命令解释:拨打电话
命令格式:ATD**********;<CR>(****为电话号码)
命令返回:无返回 (对方接通后就返回 OK)
          NO DIAL TONE(没有拨号音)
          NO CARRIER(无载波)
          NO ANSWER(对方无应答)
         注:  拨叫语音号码需要在电话号码后加;号,  拨打数据号码时无需;号
2.2  ATDL  
命令解释:重拨上一次电话号码
命令格式:ATDL<CR>
命令返回:*******  (*******为上一次呼叫的电话号码)
           其它返回值类似 ATD的返回值
2.3   RING
命令解释:有电话呼入
命令格式:有来电时串口自动送出 RING 字符串.
命令返回:无
2.4   ATA
命令解释:摘机
命令格式:ATA<CR>
命令返回:OK
测试结果:RING  
          RING
          ATA<CR>   (当串口收到 RING 时输入)
          OK
           接通电话. Tech-Link T&E Limited                                                           
2.5   ATH 
命令解释:挂机
命令格式:ATH<CR>
命令返回:OK
测试结果:ATH<CR>
          OK
          电话挂断(通话过程中)
2.6  A T+VTS
命令解释:拨打分机
命令格式:AT+VTS=“分机号码”<CR>
命令返回:OK
测试结果:ATD26743050;<CR>
          OK
AT+VTS=“7”<CR>
OK
AT+VTS=“8”<CR>
OK
AT+VTS=“9”<CR>
OK
AT+VTS=“2”<CR>
OK
以上操作是通过 26743050 的总机拨到 7892 的分机上.
2.7 ATS0
命令解释:自动应答
命令格式:ATS0<CR>
命令返回:OK
测试结果:ATS0?<CR>
000
OK
ATS0=003 (设置响铃三声后自动应答)
OK
2.8 AT+VGR
命令解释:喇叭接收音量控制
命令格式:AT+VGR=xxx<CR>  (xxx 数值介于 0~255 之间,每 16 个数值增益改变 2db)
命令返回: +VGR: xxx
OK
2.9 AT+VGT
命令解释:麦克风输出音量控制
命令格式:AT+VGT=xxx<CR>  (xxx 数值介于 0~255 之间,每 32 个数值增益改变 3db)
命令返回: +VGT: xxx
           OK                                                               
2.10  AT+CMUT
命令解释:麦克风静音控制
命令格式:AT+CMUT=x<CR>
命令返回:OK
注:  上面 x 的值共包含 0和 1, 0代表关闭静音功能, 1代表开启静音功能

3、短信操作

AT+CMGC   Send an SMS command(发出一条短消息命令)    
AT+CMGD   Delete SMS message(删除 SIM 卡内存的短消息)    
AT+CMGF   Select SMS message formate (选择短消息信息收发格式: 0-PDU;1-文本)
AT+CMGL   List SMS message from preferred store(列出 SIM 卡中的短消息
AT+CMGR   Read SMS message(读短消息)    
AT+CMGS   Send SMS message(发送短消息)    
AT+CMGW   Write SMS message to memory(向 SIM 内存中写入待发的短消息)
AT+CMSS   Send SMS message from storage(从 SIN |M 内存中发送短消息)
AT+CNMI   New SMS message indications(显示新收到的短消息)    
AT+CPMS   Preferred SMS message storage(选择短消息内存)    
AT+CSCA   SMS service center address(短消息中心地址)    
AT+CSCB   Select cell broadcast messages(选择蜂窝广播消息)   
AT+CSMP   Set SMS text mode parameters(设置短消息文本模式参数)
AT+CSMS   Select Message Service(选择短消息服务)
AT+CNMI=2,1,0,0,0          //设置收到新短信存于SIM卡中并发CMTI通知
+CMTI:”SM”,1           //收到了短信,自动弹出,其中1表示存在SIM中的序号
AT+CMGR=1             //读取短信,其中1要与上面序号对应
AT+CMGD=1             //删除短信,其中1为短信序号


三,GPRS模块使用AT指令发短信拨号

在开发板上操作
>:microcom -s 115200 /dev/ttyS1
AT
OK

发送AT 是否能返回 Ok 检查模块和板子是不是连接好的模块能不能正常的工作(microcom是在制作根文件系统时busybox里自带命令)

1.发短信
at+cmgf=1  //cmgf=0是以PUD模式发送的。为1是以文本方式发送
at+cmgs="182********"    //是你要发送给的手机的号码
〉HELLO  zzx                //你发送的你内容
注意:每敲完一条指令都要按回车,直到返回“>”后开始输入信息,但是在输入完短信内容后不能敲回车而应该按组合键“ctrl+z”作为结束符。回车键在ascii码中的数值是“\r”,“ctrl+z”在ascii码中的数值是“0x1a”,所以在编程时可以直接在信息内容后进行字符串拼接。

2.打电话
ATD182********;    //千万不要忘记后边的分号!
例:
AT+CSQ
+CSQ: 18,0   //确认有信号,最强32
OK
AT+CREG=1
OK
AT+COPS?
+COPS: 0,0,"CHINA MOBILE"//确认已注册上中国移动
OK
ATD182********;//拨打电话
OK
ATH           //挂断 电话


3.接听电话
当显示RING这个单词的时候就说明有电话打过来了
ata     //接听电话
ath    //挂断电话

4.检测SIM卡是否注册上
AT+CPIN?
返回值:READY

5.检查SIM卡是否注册上网络,其中”,”后的值为SIM卡的注册状态
如果状态值为0,表示未注册;
如果为1,表示本地号码注册上;
如果为2,表示正在搜索运营商注册,但没注册上;
如果为3,表示拒绝注册;
如果为4,未知状态;
如果为5, 漫游号码注册上。
AT+CREG?
+CREG:0,1
OK
可以看到我这张卡注册上了!

6.检测SIM卡的信号强度
AT+CSQ
返回值:+CSQ 29,99 

7.查询模块版本
AT+CGMR
返回值:R4A021      CXC1122528 (版本信息)

8.发英文短信
AT+CMGF=1/0(PS:1是文本模式;0是PDU模式)
AT+CMGS="号码"
>短信内容(只能是英文或者数字,要发中文,要进行PDU编码)
Ctrl+Z(发送)



OK!!!

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐