AT命令与ppp协议
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指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。
点对点协议(Point to Point Protocol,PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议。在 TCP-IP 协议集中它是一种用来同步调制连接的数据链路层协议(OSI模式中的第二层),替代了原来非标准的第二层协议,即 SLIP。除了 IP 以外 PPP 还可以携带其它协议,包括 DECnet 和 Novell 的 Internet 网包交换(IPX)
在数据通讯的应用中,比如说无线拨号上网。除了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的内容。
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/47808017
AT命令详解:https://blog.csdn.net/bytxl/article/details/25614491
AT命令与ppp协议相关推荐
- ppp协议,一文带你了解
一.PPP协议简介 PPP(Point-to-Point Protocol)是一种数据链路层协议,用于在两个节点之间建立点对点的数据通信连接.PPP协议是TCP/IP协议族中的一员,它可以在串行通信线 ...
- 第六章 ppp协议实验
第六章 ppp协议实验步骤 <?xml:namespace prefix = o ns = "urn:schemas-micro ...
- PPP协议的CHAP验证
PPP协议的CHAP验证<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" / ...
- PPP协议详细图解实验
一.配置PPP协议,使用CHAP认证模式(默认用户名)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office ...
- 【计算机网络】数据链路层 : 广域网 ( HDLC 协议 | HDLC 站 | HDLC 帧格式 | HDLC 帧类型 | PPP 协议 与 HDLC 协议 对比 )
文章目录 一.HDLC 协议 二.HDLC 站 三.HDLC 帧格式 四.HDLC 帧类型 五.PPP 协议 与 HDLC 协议 对比 一.HDLC 协议 HDLC 协议 : ① 全称 : High- ...
- ppp chap 加密摘要_“网络工程师培训”基础教程:一文读懂PPP协议
1.PPP协议简介 PPP 是一种得到广泛应用的广域网协议,它同时支持同/异步传输介质,也支持拨号方式.在我们的日常生活.工作中,拨号上网.DDN 专线等网络连接方式都是封装的 PPP 协议. 2.P ...
- PPP协议体系的实现
其实PPP不像是一种协议,而更像是一种应用,可以把它看成一个拨号上网的应用软件,拨号成功后,本地主机就可以正常上网了,可以使用TCP/IP等协议,而完全感觉不到PPP的存在.而实际上PPP在网络协议栈 ...
- 《计算机网络》——IEEE 802.11 无线局域网、无线局域网的分类、广域网、PPP协议、HDLC协议、链路层设备、冲突域和广播域
文章目录 IEEE 802.11 无线局域网 802.11的MAC帧头格式 无线局域网的分类 广域网 PPP协议 PPP协议应满足的要求: PPP协议无需满足的要求 PPP协议的帧格式 HDLC协议 ...
- 思科-实验10:路由器接口 PPP 协议封装和 PAP、CHAP 验证配置
[实验内容] (1) 选择两台C2811 路由器,分别关闭电源后添加WIC-2T 模块,添加位置为插槽0/接口适配器0(提示:在4个插槽中右下角的位置).开启电源之后使用Serial 电缆将两台路由器 ...
最新文章
- Gitlab Webhooks, External Services, and API(一)
- 一种求任意多边形内部水平方向似最大矩形的算法
- 动图图解C语言插入排序算法,含代码分析
- Java数据库查询简介
- 用Windows Live Writer 2012发博客
- 机器学习(十一)——机器学习中的矩阵方法(1)LU分解、QR分解
- C语言中的三目运算符是啥?有何用处?
- 计算机软件及其软件系统,计算机软件系统课件
- mysql 性能分析_十大MySQL性能分析工具汇总!专治MySQL性能瓶颈
- java 日期只计算年月日大小_java 日期加减天数、月数、年数的计算方式
- 程序员进化史|P4到P9,从应届生到双11前端PM
- c语言进程调度报告,操作系统C进程调度算法实验报告
- 【学习笔记】seckill-秒杀项目--(2)登录功能及完善
- 数学建模常识及论文写作方法
- ¶àÀAÃεĴó½á¾Ö
- 内存超频trfc_P55平台内存超频实战
- web怎么将dwg转换图片_怎么将DWG图纸转换成JPG格式图片
- 第一个C语言项目——图书管理系统
- 我的大学之模拟电子技术 No.5
- 安装软件提示写入失败解决方案