当前位置: 首页 > 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 更强大 框架封装过程…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...