【通信系列 6 -- AT 命令介绍】

文章目录

  • 1. 背景介绍
    • 1.2 AT的命令格式
    • 1.3 AT指令用法
      • 1.3.1 指令执行结果
    • 1.2 CP 常用AT指令
      • 1.2.1 CP 模式设置
      • 1.2.2 网络相关
      • 1.2.3 IP获取
      • 1.2.4 Band 设置
      • 1.2.5 电话相关
      • 1.2.6 SIM卡检测
      • 1.2.7 cmwap 和cmnet
      • 1.2.8 AT 写 IMEI

1. 背景介绍

AT 命令一般分为三种:

  • Command //AT命令。
  • responses //AT命令的返回。
  • an unsolicited result code //是主动上报的AT命令。

如:AT+CEREG=<n>, 这里是对系统进行某些设置 (<n>是AT命令的参数)
+CEREG: <stat>是主动上报的AT命令

1.2 AT的命令格式

AT指令格式:AT指令都以”AT”开头, 以(即\r,回车符)结束,模块运行后,串口默认的设置为:

  • 8 位数据位;
  • 1位停止位、
  • 无奇偶校验位、硬件流控制(CTS/RTS).

note:为了发送AT命令, 最后还要加上 (即\n,换行符),这是串口终端要求。有一些命令后面可以加额外信息,如电话号码:ATD10086。

1.3 AT指令用法

  1. 测试命令(Test Command)
    在AT指令后面加上“=?”即构成测试命令。例如下面命令会列举出所有支持的字符集。
“AT+CSCS=?
  1. 读取命令(Read Command)
    在AT指令后面加上“?”即构成读取命令。例如下面命令会列举出当前设置。
“AT+CSCS?
  1. 执行命令(Execute Command)
    一般而言在AT指令后加上“=”及命令参数即可。有些命令例如AT+CMGR命令没有参数,直接就可以执行。
AT+CFUN=4 //飞行模式
AT_CMGR

1.3.1 指令执行结果

每个AT命令执行后, 通常DCE都给状态值, 用于判断命令执行的结果。AT返回状态包括三种情况:

  1. OK, 表示AT命令执行成功,如:AT+CPIN
+CPIN: READY //sim 卡检测到
OK
  1. ERROR, 表示AT命令执行失败
  2. 命令相关的错误原因字符串. 返回状态前后都有一个字符.
  3. NO DIAL TONE 只出现在ATD命令返回状态中, 表示没有拨号音, 这类返回状态要查命令手册
  4. 一些命令本身是要向DCE查询数据,数据返回时,一般是+打头命令。 返回格式:
+ 命令 : 命令结果

如: AT+CMGR=8 (获取第8条信息),返回:

+CMGR: “REC UNREAD”,"+8613508485560",01/07/16,15:37:28+32,Once more

1.2 CP 常用AT指令

1.2.1 CP 模式设置

ATE1=1: 打开回显
AT+ CUFN?: 用来查看当前系统状态,返回值是1表示正常模式,返回值4表示飞行模式,
AT+CFUN=0:关掉CP
AT+ CFUN=4: 设置系统进入飞行模式

1.2.2 网络相关

AT+CSQ=?:查询网络质量

+CSQ:<rssi>, <ber>
rssi:31 -51 dBm or greater, 99 not known or not detectabl
ber:99 not known or not detectable

AT+CPIN: 搜索SIM卡命令,查询SIM是否准备好。

+CPIN: READY //sim 卡检测到
OK

AT+CREG?:查看系统是否驻网的命令,

+CREG: 2,1,"18c2","0e752e90",7
OK

AT+COPS?: 设置网路方式,也是查看系统是否驻网的命令,

+COPS: 0,2,"46000",7 //驻网成功,
OK

note:目前我们DKB板子之后SIM查到背面才可以使用ATD10086;打电话。

AT+CIREG?:

+CIREG: <n>,<reg_info> [,<ext_info>]
n: 0 disable reporting; 1 enable reporting
reg_info:0 IMS not registered; 1 registered.

1.2.3 IP获取

AT+GETIP=<CID>:获取IP

AT+CGDCONT?: 查看4G是否可以上网, 可以看到DKB是可以访问外网的,IP地址:191.153.154.241
2. 客户可以自己建立socket通过4G来访问外网。
3. 或者客户可以通过Wireshark 抓取数据包来看。

+CGDCONT: 1,"IPV4V6","ctnet.MNC011.MCC460.GPRS",
"100.114.66.138 254.128.0.0.0.0.0.0.0.1.0.2.181.153.154.241",0,0,,,,

AT+CGDCONT=1,"IP","CMNET" : 设置APN无线接入点.

AT+CGDCONT=1,"IP","cmwap"
OK

返回一个 ok 表示modem接通正常,

  • IP: 表示使用因特网协议,
  • PPP: 表示点对点协议。如 AT+CGDCONT=1,”PPP”,”cmwap” 点对点协议 wap 接入点。
  • CMWAP:China Mobile Wireless Application Protocol,中国移动人为划分的两个GPRS接入方式之一,是为手机WAP上网而设立的。是手机上网使用的接入点的名称。CMWAP使用HTTP代理协议和WAP网关协议可以访问到Internet。

1.2.4 Band 设置

AT*BAND=X:
1)发送at*band=0(设置为GSM单模)
2)发送at*band=5(设置为LTE单模)
3)发送at*band=8(设置为GSM+LTE双模),根据当前的网络信号情况自动选择GSM或者LTE,优先LTE. 默认是at*band=8

1.2.5 电话相关

ATH: 挂电话命令

+CLCC: 1,0,2,0,0,"112",129,"",0,0
OK
/*Indicates a disconnect for Call Clearing or a Call Failed for*/
/* an outgoing call.*/
NO CARRIER 
+CSQ:31,99

1.2.6 SIM卡检测

AT*SIMDETEC=1 //–Detect Sim1

*SIMDETEC:1,SIM
OK //检测到sim卡1

AT*SIMDETEC=2 //Detect Sim2

1.2.7 cmwap 和cmnet

wap接入点cmwap和cmnet有什么不同?
WAP是一种无线网络应用协议,而GPRS是实现WAP应用的一种网络传输技术方式。
CMWAP 和 CMNET 只是中国移动人为划分的两个wap接入方式。前者是为手机WAP上网而设立的,后者则主要是为PC、笔记本电脑、PDA等利用GPRS上网服务。

(1) 连网方式不同
就是说通过cmwap的方式访问,需要走移动的网关通过http协议去连接,这样的后果就是速度会变慢,而通过cmnet来连接的,就是直接连接到internet上的服务器,速度会比cmwap的快一些。

1.2.8 AT 写 IMEI

**IMEI:**国际移动设备识别码(International Mobile Equipment Identity)是手机硬件的一个手机序列号,串号,用于在移动电话网络中识别每一部独立的手机等移动通信设备,类似我们的身份证,是手机硬件的唯一标识。换句话说一个手机对某一个软件的使用权限是唯一的,一个手机一个手机号码绑定一次。

  1. 一般写IMEI是在产线上,产线本来就是CFUN=0状态下,必须飞行模式才能写IMEI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/103746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.1 向量与线性组合

一、向量的基础知识 两个独立的数字 v 1 v_1 v1​ 和 v 2 v_2 v2​&#xff0c;将它们配对可以产生一个二维向量 v \boldsymbol{v} v&#xff1a; 列向量 v v [ v 1 v 2 ] v 1 v 的第一个分量 v 2 v 的第二个分量 \textbf{列向量}\,\boldsymbol v\kern 10pt\boldsymbol …

【Java】如何将File转换成MultipartFile

假如你把你的后端项目部署在服务器上的时候&#xff0c;然后你要去读取某个路径下的文件&#xff0c;然后你就要提供文件的路径&#xff0c;然后获取到该文件对象&#xff0c;但是你需要将当前文件对象File转换成MultipartFile再发送http请求传递到其他服务器上&#xff0c;这样…

GPIO子系统(三)

1&#xff0c;简述 GPIO 资源是相对来说较为简单&#xff0c;而且比较通用&#xff08;比如 LED 灯&#xff09;&#xff0c;而 Linux 的 GPIO 驱动属于 Linux Driver 中较为容易上手的部分&#xff0c;但是简单归简单&#xff0c;在 Linux 系统中&#xff0c;要使用 GPIO 资源…

mysql.mongoDb,neo4j数据库对比

Mysql与MongoDb和Neo4j的一些对比 主要区别 MySQL&#xff1a; 1.MySQL是一种关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;广泛用于处理结构化数据。 2.它支持SQL语言&#xff0c;具备成熟的事务处理和数据一致性能力。 3.MySQL适用于大多数传统的基于表格…

UE4和C++ 开发-头文件(.h) 和实现文件(.cpp)区别

.h文件和.cpp文件是C程序中的两种不同类型的文件。 .h文件通常包含类、函数和变量的声明&#xff0c; 而.cpp文件包含这些声明的实现。 .h文件中的声明通常是公共的&#xff0c;可以被其他文件包含和使用。.cpp文件中的实现通常是私有的&#xff0c;只能在该文件中使用。 在…

高级网络调试技巧:使用Charles Proxy捕获和修改HTTP/HTTPS请求

今天我将与大家分享一种强大的网络调试技巧&#xff0c;那就是使用Charles Proxy来捕获和修改HTTP/HTTPS请求。如果您是一位开发人员或者网络调试爱好者&#xff0c;那么这个工具肯定对您有着很大的帮助。接下来&#xff0c;让我们一起来学习如何使用Charles Proxy进行高级网络…

区块链加密虚拟货币交易平台安全解决方案

区块链机密货币交易锁遭入侵&#xff0c;安全存在隐患。使用泰雷兹Protect server HSM加密机&#xff0c;多方位保护您的数据&#xff0c;并通过集中化管理&#xff0c;安全的存储密钥。 引文部分&#xff1a; 损失7000万美元!黑客入侵香港区块链加密货币交易所 2023年9月&…

计算机毕业设计选什么题目好?springboot 健身房管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

HTML5简介-HTML5 新增语义化标签-HTML5 新增多媒体标签

一、HTML5简介 HTML5&#xff0c;全称为HyperText Markup Language 5&#xff0c;是HTML的第五个版本&#xff0c;由万维网联盟&#xff08;World Wide Web Consortium&#xff0c;W3C&#xff09;和Web Hypertext Application Technology Working Group&#xff08;WHATWG&am…

github创建个人网页登录后404无法显示的问题

1.首先必须要有内容&#xff0c;默认是会找index.html文件&#xff0c;找不到该文件会找readme.md文件&#xff0c;也就是说最简单的方法是&#xff0c;创建了与用户名同名的repository后username.github.io后&#xff0c;添加一个readme.md文件&#xff0c;得在readme里打点字…

十四、【图章工具组】

文章目录 仿制图章图案图章 仿制图章 纺织图和章工具跟我们之前所用到的修补工具类似,需要我们先按住Alt键选住一块区域&#xff0c;然后调整它的硬度在用我们选择的区域去覆盖&#xff0c;需要注意的是&#xff0c;我们去做的时候尽量一笔覆盖我们想要遮住的区域: 图案图章…

Blender:对模型着色

Blender&#xff1a;使用立方体制作动漫头像-CSDN博客 上一步已经做了一个头像模型&#xff0c;我做的太丑了&#xff0c;就以这个外星人头像为例 首先切换到着色器编辑器 依次搜索&#xff1a;纹理坐标、映射、分离xyz和颜色渐变 这里的功能也是非常丰富和强大&#xff0c…

【微服务部署】九、使用Docker Compose搭建高可用双机热备MySQL数据库

通常&#xff0c;一般业务我们使用云服务器提供的数据库&#xff0c;无论是MySQL数据库还是其他数据库&#xff0c;云服务厂商都提供了主备功能&#xff0c;我们不需要自己配置处理。而如果需要我们自己搭建数据库&#xff0c;那么考虑到数据的高可用性、故障恢复和扩展性&…

RFID拓展的相关问答

基于&#xff1a; Research Reading: Smart Parking Applications Using RFID Technology-CSDN博客这篇文章总结了无线射频识别&#xff08;RFID&#xff09;技术在自动化中的应用及其在停车场管理系统中的解决方案。文章提到&#xff0c;RFID技术在自动化中可以降低交易成本&…

【数据结构C/C++】双向链表的增删改查

文章目录 CC408考研各数据结构C/C代码&#xff08;Continually updating&#xff09; 对我个人而言&#xff0c;在开发过程中使用的比较多的就是双向链表了。 很多重要的代码优化都会使用到基于双向链表实现的数据机构。 比如我们常用的HashMap&#xff0c;我们知道Key其实是无…

Macos音乐制作:Ableton Live 11 Suite for Mac中文版

Ableton Live 11是一款数字音频工作站软件&#xff0c;用于音乐制作、录音、混音和现场演出。它由Ableton公司开发&#xff0c;是一款极其流行的音乐制作软件之一。 以下是Ableton Live 11的一些主要特点和功能&#xff1a; Comping功能&#xff1a;Live 11增加了Comping功能…

css设置文本溢出隐藏...

在CSS中&#xff0c;文本溢出可以使用text-overflow属性来处理&#xff0c;下面分别介绍单行文本溢出和多行文本溢出的处理方法1&#xff1a; 单行文本溢出。需要使用text-overflow: ellipsis;来显示省略号。需要注意的是&#xff0c;为了兼容部分浏览器&#xff0c;还需要设置…

深度思考线程池面经之四:使用线程池的各种特性

8 线程池&#xff08;百度acg百度云一面&#xff09; 8.1 你是用到哪个线程池呢&#xff0c;在哪个场景中使用呢 答&#xff1a;在秒杀系统中使用了newCachedThreadPool这个线程池 8.2 自定义线程池的参数&#xff0c;你是怎么设置的呢 8.3 写一个自定义线程池&#xff0c;…

Python接口自动化-requests模块之post请求

一、源码解析 def post(url, dataNone, jsonNone, **kwargs):r"""Sends a POST request.:param url: URL for the new :class:Request object.:param data: (optional) Dictionary, list of tuples, bytes, or file-likeobject to send in the body of the :cl…

Vue.prototype详解

一&#xff1a;简介 在 Vue.js 中&#xff0c;经常会看到 this.$XXX 这种写法&#xff0c;那么这个是什么呢&#xff1f;其实这里就是使用 Vue.prototype 所定义的一个挂载到本身的全局方法&#xff0c;主要是为了防止全局变量的污染&#xff0c;所以我们来共同商议的一种写法…