当前位置: 首页 > news >正文

【通信系列 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

相关文章:

【通信系列 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 和cmnet1.2.8 AT 写 IMEI 1. 背景介绍 AT 命令一般分为三种&#xff1a; C…...

flask捕获@app.errorhandler/@app.after_request全局异常总结

捕获处理全局异常的方法有两种&#xff1a;app.errorhandler、app.after_request1、第一种的使用&#xff0c;需要将flask的debug开关打开才能生效&#xff08;自动捕获异常&#xff09;&#xff0c;在config里面将DEBUG TRUE就可以&#xff08;默认是False&#xff09;。 但是…...

智能晾衣架丨以科技解放双手

以往的晾衣架大多是平放式、手摇式居多&#xff0c;为衣物的晾晒提供了一个“栖身之所。”随着科技的日新月异&#xff0c;智能家居的产品越来越多。晾衣架也不例外&#xff0c;一款带有语音控制升降、同时具备照明和消毒的多功能衣架也已深入生活&#xff0c;正被人们所接受。…...

asp.net饭店订餐管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio计算机设计定制

一、源码特点 asp.net 饭店订餐管理系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语 言开发 asp.net饭店订餐系统 二、功能介…...

Pushgateway的场景使用

1,Pushgateway简介 Pushgateway为Prometheus整体监控方案的功能组件之一,并做为一个独立的工具存在。它主要用于Prometheus无法直接拿到监控指标的场景,如监控源位于防火墙之后,Prometheus无法穿透防火墙;目标服务没有可抓取监控数据的端点等多种情况。在类似场景中,可通…...

时间范围配置(昨天,今天,本周,本月,本季度,本年)

ranges:{ ‘昨天’: [ moment(moment().subtract(1, ‘days’).format(‘YYYY-MM-DD 00:00:00’)) ,moment(moment().subtract(1, ‘days’).format(‘YYYY-MM-DD 23:59:59’))], ‘今天’: [ moment(moment().format(‘YYYY-MM-DD 00:00:00’)),moment( moment().format(‘YYY…...

PlantUML 绘图

官网 https://plantuml.com/zh/ 示例 绘制时序图 USB 枚举过程 PlantUML 源码 startuml host <-- device : device insert host note right : step 1 host -> device : get speed, reset, speed check note right : step 2 host -> device …...

spring boot自定义配置时在yml文件输入有提示

自定义一个配置类&#xff0c;然后在yml文件具体配置值时&#xff0c;一般不会有提示&#xff0c;这个解决这个问题 依赖 <!--自定义配置类&#xff0c;在yml文件写的时候会有提示--><dependency><groupId>org.springframework.boot</groupId><arti…...

Linux:I/O 5种模型

图片来源&#xff1a;https://pdai.tech/md/java/io/java-io-model.html...

企业提升效率的秘密武器,推荐J2L3x聊天软件!

随着企业竞争加剧&#xff0c;提高效率已成为每个企业都必须面对的挑战。然而&#xff0c;企业要想提高效率&#xff0c;仅仅依靠员工的努力往往难以取得显著的效果&#xff0c;因此&#xff0c;许多企业开始寻找适合自己的工具和软件来提高生产力。 有一种聊天软件与众不同&a…...

Android Termux安装MySQL,并使用cpolar实现公网安全远程连接[内网穿透]

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备&#xff0c;尽管最初并非设计为服务器&#xff0c;但是随着技术的进步我们可以将Android配置为生产力工具&#xff0c;变成一个随身…...

如何有效管理公司分配给员工的个人微信,实现聚合聊天管理?

现在很多公司会在员工入职后&#xff0c;会把企业的微信账号分配给员工&#xff0c;让他们用微信与客户沟通业务。但这个过程有很多风险&#xff0c;比如不能实时掌握员工与客户的沟通情况&#xff0c;可能出现员工私自添加或删除重要客户&#xff0c;有的员工还会离职时带走公…...

【HTML5】语义化标签记录

前言 防止一个页面中全部都是div&#xff0c;或者ul li&#xff0c;在html5推出了很多语义化标签 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 常用语义化案例 一般我用的多的是header&#xff0c;main&#xff0c;footer 这些标签不难理解&#x…...

数据结构———— 堆

(一)基础补充 满二叉树是每一层节点都放满的二叉树。 完全二叉树是只有最后一层节点右边不放满的二叉树。 满二叉树(Perfect Binary Tree) 如果二叉树中除了叶子结点,每个结点的度都为 2,则此二叉树称为满二叉树。另一种说法:一个深度为k(>=-1)且有2^(k+1) - 1个结…...

如何选择专业的游戏开发公司?

如果你想找一家专业的游戏开发公司&#xff0c;你可以采取以下步骤来寻找合适的合作伙伴&#xff1a; 定义项目需求&#xff1a;首先&#xff0c;明确你的游戏开发项目的需求和目标。确定你需要什么类型的游戏&#xff08;移动游戏、PC游戏、主机游戏等&#xff09;、游戏类型…...

Unity基础课程之物理引擎3-碰撞检测案例-吃金币并加分显在UI文本框上

业务逻辑&#x1f4bc;&#xff1a; 这个脚本的主要功能是用于显示和更新主角的得分。在游戏中&#xff0c;玩家需要吃到金币来增加分数&#xff0c;而这个脚本就是负责将得分的变化实时显示在屏幕上的。 程序逻辑&#x1f4bb;&#xff1a; 1️⃣首先&#xff0c;在脚本的开始…...

DAPLink V2 STLink V2 JLink V9.7 串口四合一仿真调试下载器

作者 风陵&#xff1a; github:https://github.com/ForlingTec CSDN:https://blog.csdn.net/weixin_42518229 化作尘&#xff1a; https://blog.csdn.net/mbs520 一、产品介绍 该产品是一款基于USB2.0接口支持多个公司及多种内核的仿真器/编程器&#xff0c;板载了USB H…...

使用PyTorch处理多维特征输入的完美指南

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…...

萝卜刀玩具上架亚马逊CPC认证测试标准

含铅或含铅涂料儿童产品的要求 分阶段限制儿童产品所有部件的铅含量&#xff0c;要求在3年内将产品任何可接触部件的铅含量限制从不超过重量的600ppm&#xff08;0.06%&#xff09;降至不超过重量的100ppm&#xff08;0.01%&#xff09;。 铅含量限值&#xff08;总铅含量占重…...

阶段六-Day03-MyBatis

一、框架介绍 1. 框架的作用 将许多项目封装起来,形成了框架 2. 框架的优缺点 1. 优点 1.1 更好用 框架都是对Java原生内容进行的封装&#xff0c;对于企业级项目开发来说&#xff0c;使用框架比使用原生Java更好用&#xff0c;写起来更简单。 1.2 更强大 框架封装过程…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

面试高频问题

文章目录 &#x1f680; 消息队列核心技术揭秘&#xff1a;从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"&#xff1f;性能背后的秘密1.1 顺序写入与零拷贝&#xff1a;性能的双引擎1.2 分区并行&#xff1a;数据的"八车道高速公路"1.3 页缓存与批量处理…...