AT命令介绍和简单使用

AT命令介绍和简单使用一 AT 命令简介 AT 即 Attention AT 指令集是从终端设备 TerminalEqui TE 或数据终端设备 DataTerminal DTE 向终端适配器 TerminalAdap TA 或数据电路终端设备 DataCircuitT DCE 发送的 通过 TA TE 发送 AT 指令来控制移动台 MobileS

一、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指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。90年代初,AT指令仅被用于Modem操作。没有控制移动电话文本消息的先例,只开发了一种叫SMS BlockMode的协议,通过终端设备(TE)或电脑来完全控制 SMS。几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM 研制了一整套AT指令,其中就包括对SMS的控制。AT指令在此基础上演化并被加入GSM 07.05标准以及现在的GSM07.07标准,完全标准化和比较健全的标准。如:对SMS的控制共有3种实现途径:最初的Block Mode;基于AT指令的Text Mode;基于AT指令的PDU Mode。到现在PDU Mode已经取代BlockMode,后者逐渐淡出。GSM 模块与计算机之间的通信协议是一些AT指令集,AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在 中。每个指令执行成功与否都有相应的返回。其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。

  GSM模块,是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、GSM射频处理、基带处理并提供标准接口的功能模块。GSM模块根据其提供的数据传输速率又可以分为GPRS模块、EDGE模块和纯短信模块。短信模块只支持语音和短信服务。GPRS,可说是GSM的延续。它经常被描述成“2.5G”,也就是说这项技术位于第二代(2G)和第三代(3G)移动通讯技术之间。GPRS的传输速率从56K到114Kbps不等,理论速度最高达171k。相对于GSM的9.6kbps的访问速度而言,GPRS拥有更快的访问数据通信速度,GPRS技术还具有在任何时间、任何地点都能实现连接,永远在线、按流量计费等特点。EDGE技术进一步提升了数据传输的速率到384K-473K,被称为”2.75G”,数据传输速率更2倍于GPRS。目前,国内的GSM网络普遍具有GPRS通讯功能,移动和联通的网络都支持GPRS,EDGE在部分省市实现了网络覆盖。 

 

AT的优点:

命令简单易懂,并且采用标准串口来收发AT命令,这样对设备控制大大简化了,转换成简单串口编程了。

AT命令提供了一组标准的硬件接口–串口。这个简化的硬件设计.较新的电信网络模块,几乎都采用串口硬件接口。

AT命令功能较全,可以通过一组命令完成设备的控制,完成呼叫、短信、电话本、数据业务、传真.

 

AT命令与ppp协议的关系

在数据通讯的应用中,比如说无线拨号上网。除了AT命令,还会常听到另外一个网络协议ppp(Point to Point Protocol)。在应用串口通讯的场合,我们可以从硬件上明确看到分为两大块。DTE(Data Terminal Equipment)数据终端设备。通常是一个智能设备,如PC机,嵌入式主机等,用于发送AT命令和 PPP命令,还有用于链路通讯的DCE(Data Circuit Terminal )数据电路终端。用于与外界建立通讯的链路。DTE与DCE之间用串口相连。比如PC机用串口接入拨号MODEM时,PC机是DTE,拨号MODEM是DCE.

AT和PPP的相同点都是由DTE发送给DCE的协议。不同点是AT只用于DTE来控制DCE。比如初始化设备,用于发送呼叫,发送短消息等,虽然AT有规范,但是大部分DTE产商都扩展了一些AT命令。

PPP是用于数据通讯,是DTE与远程的接入服务器(Access Server)进行通讯的协议。是属于网络通讯的数据链路层协

议,DCE本身收到PPP包时,除了将其调制到物理层上发送到远端服务器外,本身并不处理PPP的内容。

AT命令介绍和简单使用

DCE的状态切换与AT的命令拨号流程

这两个协议都是DTE通过串口发往DCE。那DCE是如何区别是AT命令,如何区别PPP协议包。大部分DCE是采用分时段传送的,两个协议并不同时发送。但是可以通过AT命令两个专用命令来用切换是AT命令时段,还是PPP协议时段。

在发送AT命令时称为命令状态,在发送PPP包时或者语音通讯时称为数据状态。在modem设备启动时,默认进入AT命令接收状态,用ATDn ;命令拨出电话号码n(语音拨号);ATDn 拨出电话号码n(数据拨号),两者区别在于前者有一个分号。用数据拨号拨通后,将进入PPP交互状态。当需要切回接收AT命令状态,DTE 需要发送+++命令给DCE.让其保持在线的状态时,但接收是AT命令.如果此时需要切断链接,此时发送ATH挂断命令.注意发送+++需要前后各一秒的时间。否则会当成数据发送出去。

回顾一下之前3g拨号上网的wcdma-chat-connect脚本

ABORT ‘NO CARRIER’

ABORT ‘ERROR’

ABORT ‘NO DIALTONE’

ABORT ‘BUSY’

ABORT ‘NO ANSWER’

” \rAT   #发送AT命令

OK \rATZ   #等待接收OK,接收到OK发送ATZ命令

OK \rAT+CGDCONT=1,”IP”,”3gnet”,,0,0  #接收到OK,发送AT+CGDCONT=1…命令

#下面一行是联通的拨号设置,不同的运营商拨号方式有所不同

OK-AT-OK ATDT*99#

CONNECT \d\c

上次做3G模块拨号上网时候没太搞懂现在看了之后又理解了一些,chat-是调制解调器的自动对话脚本,chat程序定义了一个计算机与调制解调器之间的对话交流,主要目的是用来在本地pppd与远端pppd程序之间建立连接,PPPD是用户态应用程序,负责PPP协议的具体配置,如MTU、拨号模式、认证方式、认证所需用户名/密码等。PPPD定义PPPD:PPPD(point-to-point protocol daemon)点对点协定隐形程式。这里就不去细说了,再说就跑偏了哈哈哈,有兴趣可以自己去了解,chat拨号的使用详解:https://wenku.baidu.com/view/7b53ac3102020740be1e9ba7.html

二、AT命令的使用

不同产商的AT命令大同小异,但是还是有所区别,如果有不同的就需要看产品手册

先做准备测试

检测Module与串口是否连通,能否接收AT命令: AT

查看SIM卡是否到位: AT+CPIN?

测试信号: AT+CSQ

查看运营商: AT+COPS?

获取模块标识: AT+CGMM

获取模块厂商标识: AT+CGMI

查看SIM卡是否到位AT+CPIN?

网络注册。获得手机的注册状态: AT+CREG?

拨打电话

拨打电话: ATD电话号码;

来电显示: AT+CLCC有电话打过来串口会打印RING提示。

接电话: ATA

挂电话: ATH

挂电话尚未接通的来电: AT+CHUP

发短信

短信的编码方式有两种:text模式,pdu模式。因此短信的AT指令执行格式也有两种,分别对应text模式和pdu模式。

1 . Text模式

纯文本模式,支持不同的字符集,从技术上说也可用于发送中文短消息,但国内手机基本上不支持,主要用于欧美地区。

2 . Pdu模式

这个是手机默认的编码方式,可以使用任何字符集,其包括三种编码方式:7bit编码,8bit编码,UCS2编码。

7bit编码:ASCⅡ码就是7bit编码。

8bit编码:ASCⅡ字符可以使用7位二进制表示,但是由于计算机的基本处理单位是字节(1byte=8bit),所以一般在高位补0,用一个字节表示一个ASCⅡ字符。这就是8bit编码。

UCS2编码:处理Unicode字符,使用2个字节来表示一个字符,可以表示世界上所有的字符。发送中文就是使用此编码方式。

发英文短信
设置信息格式 AT+CMGF=1 (格式有TEXT方式和PDU方式。AT+CMGF=1时是TEXT方式,AT+CMGF=0是PDU方式
发送短信: AT+CMGS=”电话号码
>data       //下一行出现>后面跟的data 为发送内容(以ctrl+z(0x1A)结束)


设置收到短消息提示: AT+CNMI=1,1,2

设置存储区域为SM: AT+CPMS=SM

读取短信: AT+CMGR=index(index为读第几条短信)

发中文短信:

设置信息格式 AT+CMGF=0

发中文短信这里暂时也不去了解,发中文短信可以参考:https://blog.csdn.net/a_tu_/article/details/

AT命令详解:https://blog.csdn.net/bytxl/article/details/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214665.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午3:44
下一篇 2026年3月18日 下午3:44


相关推荐

  • EVE-NG模拟器教程(二)——模拟器安装

    EVE-NG模拟器教程(二)——模拟器安装上一篇文章已经介绍了如何获取EVS-NG模拟器安装包,同时我们知道EVS-NG提供两种类型的安装包,一种是OVF包,另一种是ISO镜像文件,我们可以根据不同需要选择不同类型的安装包,这里我们已经把最新的两种类型的安装包都准备好了,如下,EVE-COMM-VM-112为OVF包,EVE-20171007为ISO镜像文件:接下来就分别介绍一下这两种类型安装包的使用场景和使用方法。一、通过OVF包安装EVS-NG模拟器…

    2022年5月29日
    44
  • 360无线路由器dns服务器,路由器的首选dns服务器怎么填

    360无线路由器dns服务器,路由器的首选dns服务器怎么填满意答案mirk60422020.04.25采纳率:42%等级:7已帮助:159人1、在管理员界面中输入命令:ipconfig/all然后按enter键确认即可显示windowsip配置,在这里我们可以查看我们的dns服务器地址。2、如果你连接了路由的话也可以通过路由来查看你的dns服务器地址,在浏览器输入地址192.168.1.1弹出路由器登入对话框,通常路由器默认的账户密码均为:ad…

    2022年6月10日
    57
  • Vue3不支持Filters过滤器

    Vue3不支持Filters过滤器filters过滤器已从Vue3.0中删除,不再支持。2.x语法在2.x中,开发人员可以使用过滤器来处理常见的文本格式。<template><h1>BankAccountBalance</h1><p>{{accountBalance|currencyUSD}}</p></template><script>exportdefault{props:{a.

    2022年5月21日
    50
  • 频次最高的38道selenium面试题及答案(上)「建议收藏」

    频次最高的38道selenium面试题及答案(上)「建议收藏」1、selenium的原理是什么?selenium的原理涉及到3个部分,分别是:浏览器 driver:一般我们都会下载driver client:也就是我们写的代码client其实并不知道浏览器是怎么工作的,但是driver知道,在selenium启动以后,driver其实充当了服务器的角色,跟client和浏览器通信,client根据webdriver协议发送请求给driver,driver解析请求,并在浏览器上执行相应的操作,并把执行结果返回给client。这就是seleniu…

    2022年6月20日
    60
  • 可变形卷积从概念到实现过程

    可变形卷积从概念到实现过程可变形卷积是如何实现的 什么是可变形卷积 为什么要可变形卷积 如何实现可变形卷积 什么是可变形卷积 可变形卷积是指卷积核在每一个元素上额外增加了一个参数方向参数 这样卷积核就能在训练过程中扩展到很大的范围 上图来自论文 DeformableCo 上图中 a 是传统的标准卷积核 尺寸为 3×3 图中绿色的点 b 就是我们今天要谈论的可变形卷积 通

    2026年3月20日
    2
  • PHP接口上传参数返回参数混淆

    PHP接口上传参数返回参数混淆

    2022年2月18日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号