开发板: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 (与串口通信正常)(无返回,与串口通信未连通)
测试结果:ATOK
1.2 AT+CSQ
命令解释:检查网络信号强度
命令格式:AT+CSQ<CR>
命令返回:+CSQ: **,##其中**应在 10 到 31 之间,数值越大表明信号质量越好,##为误码
率,值在 0 到 99 之间。否则应检查天线或 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>的值为 0 到 2, 默认值是 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 v411OK 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.38 第 6.2.1 节).“ PCCP437”  ---- PC字符集代码页 437.“ CUSTOM”  ----  用户自定义.“ HEX”  ----  十六进制: (取值范围:00 到 FF。比如:052FE6 表示 3 个 8bit 字
符,转换为十进制,分别为 5、47、230,禁止转换为 ME原始字符集).
测试结果:AT+CSCS?<CR>+CSCS: “ PCCP437” OK
1.11  AT+CGSN
命令解释:查询模块的 IMEI 号码.
命令格式:AT+ CGSN<CR>
命令返回:<IMEI>
测试结果:AT+CGSN<CR>012345678901234OK
注意:  如果显示 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  1800900E18001900G850MULTIBAND 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 月 17 日 10 点 34 分 23 秒
1.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>OKAT+CREG? <CR>+CREG: 0,1AT+CREG=1 <CR>OKAT+CREG? <CR>+CREG: 1,1AT+CREG=2 <CR>OKAT+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  RINGATA<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: xxxOK
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!!!

GPRS使用AT指令发短信拨号相关推荐

  1. SIM900B GPRS模块————打电话、发短信、接电话

    1.简介 SIM900B是一款新型无线模块,属于B2B类型的四频GSM/GPRS模块,采用非常强大的AMR926EJ-S单芯片处理器,可完全兼容于SIM300/340 .其性能稳定,外观小巧,性价比高 ...

  2. 通过超级终端连接短信猫, 用at指令发短信和打电话

    1.连接短信猫 开始--〉程序--〉附件--〉通讯--〉超级终端 选择短信猫连接的com口,设置波特率(如果是手机卡发短信,需要设置为19200). 2.输入指令发短信 在短信猫界面输入 at at+ ...

  3. cmgr linux命令,linux下利用GPRS模块发短信、打电话

    本文转自:http://www.cnblogs.com/wss-linux/p/3986006.html 一.开发环境 内核版本:linux-3.0 开发板:FL2440(nandflash:K9F1 ...

  4. 【物联网】AT指令|AT返回错误|AT 指令 收发短信和GPRS上网 SIM508/548

    目录 常用AT命令解释 AT 指令 收发短信和GPRS上网 SIM508/548 AT指令返回错误 解释 CME错误: CMS错误 CME错误(英文) CMS 错误(英文) 短信通信的几种情况和CMS ...

  5. linux 发送at指令,AT指令(打电话与发短信)

    因为我做的这个模块只用打电话与发短信的功能 而且鉴于网上许多命令写的特别难理解.所以花了一些时间把常用的AT指令整理出来 以下命令全部在TC35i上测试成功. 一.打电话ATD 拨号命令.这个命令用来 ...

  6. sim900芯片—GPRS使用C语言打电话和发短信应用程序

    ---------------------------------------------  主机操作系统:Centos 6.7 交叉编译器环境:arm-linux-gcc-4.5.4  开发板平台: ...

  7. []AT 指令 收发短信和GPRS上网 SIM508/548

    原文地址:AT 指令 收发短信和GPRS上网 SIM508/548 作者:半岛鱼 可以使用电脑自带的超级终端发送AT指令,也可以下载串口大师等工具发送. 1.通信模块sim548/508  AT 指令 ...

  8. GPRS SIM900A电脑测试,发短信

    GPRS SIM900A电脑测试,发短信 一. 准备工作 一块SIM900A开发板 USB转tt模块(我选择的)或者USB–232 模块 若干根杜邦线 二. 连线操作 USB–TTL 模块与 SIM9 ...

  9. AT命令发短信和GPRS通信

    一.AT 指令发送短信 使用调试助手,三句话就可以发短信出去 GPRS-MODEM AT 指令发送短信详解: AT+CMGF=1 OK AT+CMGS="+86xxxxxxxxxxx&quo ...

  10. linux 下GPRS模块使用sim900打电话发短信

    ---------------------------------------------  主机操作系统:Centos 6.7 开发板平台: FL2440  Linux内核版本: linux-3.0 ...

最新文章

  1. 使用OpenCV和Dlib的头部姿态估计
  2. Forbidden Attack:7万台web服务器陷入被攻击的险境
  3. install scrapy with pip and easy_install
  4. python图片超链接_python自动获得网页上的所有超链接并全部截图
  5. linux读写文件 简单版
  6. 【Python】Python中的关键字
  7. C++基础::运算符重载
  8. ArcGIS设置默认金字塔弹出框
  9. Oracle常用函数笔记
  10. 谈谈python的from __future__ import absolute_import
  11. 【三维路径规划】基于matlab粒子群算法无人机三维路径规划【含Matlab源码 192期】
  12. linux img工具,线刷包img提取工具(simg2img win)
  13. python语言转换为go_从 Python 到 Golang-Go语言中文社区
  14. eclipse官方下载安装、JDK官方下载安装和环境变量配置
  15. 机器学习项目实战合集列表
  16. 2022深圳限行一年几次免罚 有几次机会
  17. mat1 and mat2 shapes cannot be multiplied (128x432 and 576x64)的解决
  18. Worthington 分子生物学解读
  19. Java练习习题,百钱买百鸡问题,用100文钱买鸡,公鸡5文钱一只,母鸡3文钱一只,小鸡3只1文钱
  20. 极客时间Go实战训练营zui新

热门文章

  1. python计算一个多项式_急求 python 使用class定义多项式P(x)=a0=a1x+a2x^2……anx^n 使用__init__()产生一个列表记录a的值...
  2. JavaScript(基础)——初窥门径
  3. Remix IDE的本地环境搭建(ubuntu系统)以及编译智能合约
  4. 大宇《轩辕剑》20周年 新作云之遥
  5. go包管理之vender机制
  6. 再练动态规划——(4)涂抹果酱
  7. 黄金分割圆怎么画matlab,黄金分割线的画法和使用方法
  8. 泰然金融牵手快公益 花儿计划国学课入畲乡
  9. oracle to_char 进制转换_〖Oracle 转载〗Oracle的数据类型转换 to_char
  10. 【渝粤题库】陕西师范大学201611《中国古代文学(四)》作业