Air724UG模块AT指令手册
AT指令手册PDF版本
上海合宙Cat.1模组(展锐8910平台系列)AT命令手册V1.1.4.pdf
本页由《上海合宙Cat.1模组(展锐8910平台系列)AT命令手册V1.1.4》整理生成,按章节顺序收录全部 308 条 AT 命令;命令的语法、参数、取值与示例均照手册原文。
基本命令
查询制造商名称:AT+CGMI
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CGMI | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 生产厂商ID | 取值由模块厂商定义 |
举例:
| 命令(→)/返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | AT+CGMI | 查询模块的生产厂商的ID |
| ← | +CGMI: "AirM2M" OK |
返回查询结果 |
查询模块型号:AT+CGMM
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CGMM | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 模块的型号 | 由厂商而定 |
举例:
| 命令(→)/返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | AT+CGMM | 查询模块型号 |
| ← | +CGMM: "Air724UG" OK |
返回查询结果 |
查询模块版本信息:AT+CGMR
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CGMR | Revision: |
| OK | ||
| 测试命令 | AT+CGMR=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 软件版本标识 | 由厂商定义 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CGMR | 查询软件版本标识 |
| ← | +CGMR:"AirM2M_Air724UG_V401874_LTE_AT" OK |
返回查询结果 |
查询IMEI号:AT+CGSN
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CGSN | OK |
| 测试命令 | AT+CGSN=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 产品序列号,即国际移动设备识别码 IMEI (International Mobile Equipment Identification) |
- | 15位数字组成 |
举例:
| 命令(→)/返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | AT+CGSN | 查询产品IMEI |
| ← | 359759002514931 OK |
返回查询结果 |
查询SIM卡ICCID号码:AT+CCID(/ICCID)
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CCID | OK |
| AT+ICCID | +ICCID: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 产品 ICCID 号 (Integrated circuit card identity , 集成电路卡识别码) |
一般由20位数字组成 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CCID | 查询SIM卡ICCID号 |
| ← | 89860117831003134201 OK |
返回查询结果 |
| → | AT+ICCID | 查询SIM卡ICCID号 |
| ← | +ICCID: 89860117831003134201 OK |
返回查询结果 |
查询IMSI:AT+CIMI
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | AT+CIMI | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 国际移动台用户识别码(International Mobile Subscriber Identity) |
由15位数字组成 |
举例:
| 命令(→)/返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | AT+CIMI | 查询IMSI号 |
| ← | 460001841426414 OK |
返回查询结果 |
查询产品信息:ATI
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | ATI | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 模块相关信息(厂商,版本) | - | 由厂商定义 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | ATI | 查询模块信息 |
| ← | AirM2M_Air724UG_V401874_LTE_AT OK |
返回查询结果 |
查询模块FIRMWARE版本:AT+VER
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+VER | OK |
| 注意事项 | 返回结果与ATI一致 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| < firmware ver> | 模块内部软件版本 | - | 由厂商定义 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+VER | 查询模块信息 |
| ← | AirM2M_Air724UG_V670_LTE_AT OK |
返回查询结果 |
查询平台硬件版本:AT^HVER
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT^HVER | ^HVER: OK |
举例:
| 命令(→)/ | 实例 | 解释和说明 |
|---|---|---|
| 返回(←) | ||
| → | AT^HVER | 查询模块平台硬件信息 |
| ← | ^HVER: RDA8910 OK |
返回查询结果 |
查询各种信息:AT*I
语法规则:
| 命令类型 | 语法 | 返回 | |
|---|---|---|---|
| 设置命令 | AT*I | Manufacturer: Model: Revision: ATVer: HWVer: Buildtime: IMEI: ICCID: IMSI: OK |
|
| 参数 | Definition | 取值 | 解释 |
| +CGMI 命令的返回 | |||
| +CGMM命令的返回 | |||
| +CGMR命令的返回 | |||
| AT版本 | |||
| 硬件版本 | |||
| 版本固件的编译时间 | |||
| 同+CGSN命令的返回值 | |||
| 同+ICCID命令的返回值 | |||
| 国际移动台用户识别码(International Mobile Subscriber Identity) |
由15位数字组成 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT*I | |
| ← | Manufacturer: AirM2M Model: Air724UG Revision: AirM2M_Air724UG_V670_LTE_AT ATVer: 193 HWVer: A10 Buildtime: Jun 13 2020 17:55:20 IMEI: 866714043071637 |
|
| ICCID: 898600650915F6049889 IMSI: 460001651547739 OK |
重复上一条命令:A/
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | A/ | 响应:重复上一条命令,该命令行无需以终止符作为结尾 |
| 注意事项 | 这条命令后面必须加回车键才能正常使用 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CIMI | 查询IMSI号 |
| ← | 460001841426414 OK |
返回IMSI号 |
| → | A/ | 重复上一条命令,即AT+CIMI |
| ← | 460001841426414 OK |
返回IMSI号 |
写SN号命令:AT+WISN
AT+WISN是用来写用户 sn(serial number)到模块里的。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+WISN= |
OK |
| +CME ERROR: |
||
| 查询命令 | AT+WISN? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| special SN | - | 由用户定义,最长64位 |
举例:
| 命令(→)/ | 实例 | 解释和说明 |
|---|---|---|
| 返回(←) | ||
| → | AT+WISN="1234567890" | 写客户SN号 |
| ← | OK | |
| → | AT+WISN? | 查询客户SN号 |
| ← | 1234567890 OK |
重启模块:AT+RESET
重启模块。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+RESET | OK |
重启模块并恢复出厂设置:AT+RSTSET
重启模块并恢复出厂设置。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+RSTSET | OK |
配置命令
选择TE字符集:AT+CSCS
设置命令通知DCE,DTE需要使用的字符集,以确保DCE和DTE在约定的字符集之间准确转换字符串。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CSCS= |
OK |
| 查询命令 | AT+CSCS? | +CSCS: OK |
| 测试命令 | AT+CSCS=? | +CSCS: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 字符集 | "GSM" | GSM 7 位默认字符 (3GPP TS 23.038) | |
| "IRA" | 国际参考符号集(ITU-T T.50) | ||
| "PCCP936" | |||
| "HEX" | |||
| "UCS2" | 16 位通用多字节编码字符集 |
举例:
| 命令(→)/返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | AT+CSCS? | |
| ← | +CSCS: IRA OK |
|
| → | AT+CSCS=? | 查询字符集范围 |
| ← | +CSCS: ("GSM","HEX","PCCP936","UCS2") OK |
CAT1模块的返回 |
保存用户当前的配置:AT&W
本文档中大部分的AT 命令,若希望模块重启后其参数不变,都需要通过AT&W 保存。该命令将用户设置的一些AT命令参数保存到NV中,重开机后相关的配置自动加载并生效。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | AT&W | OK |
设置命令回显模式:ATE
执行命令设置TA 在命令模式下,是否可以回显从TE 接收到的字符。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | ATE |
OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 是否回显 | 0 | 回显模式关闭 | |
| 1 | 回显模式打开 |
恢复所有参数为出厂配置:AT&F
执行命令把所有参数恢复为出厂配置。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT&F | OK |
设置结果码抑制模式:ATQ
此命令用于设置TA 是否向TE 发送结果码。并且此设置不会影响响应内的内容。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | ATQ |
OK |
| 参数存储模式 | 设置命令的参数可以通过AT&W命令保存到NVM中,重启不丢失 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 是否显示结果码 | 0 | 向TE发送结果码 | |
| 1 | 结果码被抑制,不发送 |
举例:
| 命令(→)/ 返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | ATQ1 | 设置为不返回结果码 |
| ← | 此时没出现OK这个结果码 | |
| → | AT+CREG? | |
| ← | +CREG: 0,1 | 此时没出现OK这个结果码 |
设置TA响应内容的格式:ATV
该命令用于设置结果码和返回结果的传送格式(数字格式或者字母格式),并设置头部和尾部的内容,这些内容是与结果码和信息返回结果一起发送的。一些常用的code定义如下:
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | ATV |
当 0或4 |
| 当 OK或ERROR |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 结果码显示模式 | 0 | 设置成功后,输入AT命令后的返回信息如下:信息返回: 结果码返回(数字型): |
|
| 1 | 设置成功后,输入AT命令后的返回信息如下:信息返回: 结果码返回(冗长字符型): |
||
(ATV0) |
说明 | ||
| 0 | OK | 执行命令的正确确认 | |
| 1 | CONNECT | 连接已经建立;DCE 从命令状态切换为在线数据状态 | |
| 2 | RING | DCE 已经检测到一个来自网络的呼叫 | |
| 3 | NO CARRIER | 连接中断或尝试建立连接失败 | |
| 4 | ERROR | 命令不能被识别,超出命令行的最大长度,参数值无效,或命令进程中的其他问题 | |
| 6 | NO DIALTONE | 无法检测到拨号音 | |
| 7 | BUSY | 检测到忙音信号(占线) | |
| 8 | NO ANSWER | 若"@"拨号修改量被使用,则紧跟5 秒静默时间的远程振铃没有在定时器(S7)超时前检测到。即无人应答 | |
| 9 | PROCEEDING | 一条AT 命令正在被处理 | |
| 制造商特殊需求 | CONNECT |
与CONNECT 相同,但包含制造商特殊需求的文本可以制定DTE 速率,线速,错误控制,数据压缩,或其他状态。 |
举例:
| 命令(→)/ 返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | ATV0 | 设置结果码显示模式为0,设置成功后,输入AT命令后的返回信息如下:信息返回: |
| 结果码返回(数字型): |
||
| ← | 0 | 0表示OK |
| ←(URC) | AT+CSCS? | |
| ←(URC) | +CSCS: IRA 0 |
设置 CONNECT 结果码格式和监测呼叫进程:ATX
此命令用于设置TA 是否做拨号音和忙音检测,以及向TE发送某一个特定的结果码。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | ATX |
OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| < value > | CONNECT 结果码和呼叫进程模式设定 | 0 | 进入在线数据状态时立即返回给定连接CONNECT 结果码,拨号音和忙音检测均禁用 |
| 1 | 进入在线数据状态时立即返回给定连接CONNECT |
||
| 2 | 进入在线数据状态时立即返回给定连接CONNECT |
||
| 3 | 进入在线数据状态时立即返回给定连接CONNECT |
||
| 4 | 进入在线数据状态时立即返回给定连接CONNECT |
设置自动应答前振铃次数:ATS0
设置命令,可启用或禁用DCE自动应答入局呼叫。若
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | ATS0= |
OK |
| 查询命令 | ATS0? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 自动应答模式 | 0 | 禁用自动应答(默认) | |
| 1~255 | 达到指定的振铃次数后,启用自动应答 |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | ATS0=3 | 设置当有来电时,MT响三声后自动接听 |
| ← | OK | |
| ←(URC) | RING RING RING OK |
有一个来电,当显示3个RING(即响三声)后,自动接听 |
FOTA空中升级:AT+UPGRADE
FOTA(FirmwareOverTheAir)是空中升级固件的功能。过程按顺序如下:1 跟服务器固件版本比较版本号大小;2 如果服务器固件版本号大,则启动下载固件的过程;3 下载固件完毕,模块自动重启,烧录新版本;4 模块再次自动重启,运行新固件
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+UPGRADE= [, |
OK | 设置 |
| AT+UPGRADE= |
+UPGRADE: OK |
查询 |
|
| 查询命令 | AT+UPGRADE? | +UPGRADE: OK |
|
| +UPGRADE: OK |
|||
| +UPGRADE: OK |
|||
| 执行命令 | AT+UPGRADE | OK | 手动触发升级 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| "KEY" | 使用"KEY"来设置服务器的ProductKEY | ||
| "AUTO" | 使用"AUTO"设置是否自动升级 | ||
| "PERIOD" | 使用"PERIOD"设置自动升级的查询周期,单位:秒。当设置的周期到时,模块向服务器查询版本,服务器的模块版本号比自己大时,会发起自动升级。 | ||
| "URL" | 使用"URL"设置自己的升级服务器的URL地址 | ||
| 是否把参数保存到NV | 0 | 保存,缺省值 | |
| 1 | 不保存 | ||
| 字符串型, iot服务器某个产品的ProductKey即可在此产品下进行OTA升级 |
|||
| 0 | 0:关闭自动FOTA(模块不再和服务器通讯) 1:打开自动FOTA(模块定期向服务器查询)注:缺省为1,即自动升级为打开! |
||
| 1 | |||
| 60~2^32(4294967296) | |||
| "http://xxxx.bin" | |||
| 0 | 未执行FOTA | ||
| 1 | 正在从服务器下载固件 | ||
| 2 | 固件下载结果 | ||
| 升级百分比 | 1~100 | 当模块处于 |
|
| -1000 | 无效的URL | ||
| -1001 | 网络错误 | ||
| -1002 | 服务器链接错误 | ||
| -1003 | 无效固件 | ||
| -1004 | http应答错误 | ||
| -1005 | 存储固件错误 | ||
| -1006 | 其他错误 | ||
| http错误码 | 详细取值请参考: https://baike.baidu.com/item/HTTP%E7%8A %B6%E6%8 |
||
| FOTA错误原因 | 3 | 无效的设备。找不到设备 | |
| 17 | 无权限 | ||
| 25 | 无效的项目 | ||
| 26 | 无效的固件 | ||
| 27 | 已经是最新版本。通过了前面的检查,但版本号已是最新,或没打开升级开关、没指定imei等 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| 使用合宙提供的私人服务器进行升级: | ||
| 1 将新版本固件上传服务器端 | ||
| 在通过合宙ERP购买模块后,ERP会自动分配一个升级服务器管理账号,登陆地址为: http://iot.openluat.com/ 登录名是购买者手机号码,登录密码缺省是:888888 登录后会请点:对应的模块型号。这里以Air72XUX标准模块为例:点击进入产品->设备列表将会看到已购买模块的IMEI列表,自动FOTA可以对这些设备进行固件升级。点击进入产品->固件列表->创建固件->上传文件,上传待更新的固件bin。固件升级用的bin文件在合宙官网发布的AT命令固件包内。以合宙AirM2M_720U_V401874_LTE_AT测试固件为例,该升级包解压后会有四个文件,其中bin文件需要上传到服务器端。上传文件完成后,将下图中的两个选项选择:是 |
||
| 完成上述设置以后,模块就能实现自动空中固件升级FOTA了。缺省的查询服务器的时间间隔是24小时。注:用户同样可以通过AT+UPGRADE="AUTO",0关闭自动更新。如果客户想再自动升级,有两种方法: 1)输入AT+UPGRADE手动触发升级 2)输入AT+UPGRADE="AUTO",1重新打开自动升级 2 在服务器端可以查看FOTA升级情况点固件升级->升级统计后,可以看到每个版本的升级成功数量 3 模块在整个升级过程中的表现开始下载固件。此时自动上报: +UPGRADEIND: percent: 0-100 下载完固件后自动重启,开始烧录固件。烧录的时候主动上报: +UPGRADEDL: percent: 0-100 烧录成功后再次自动重启并主动上报软件已经更新: +UPGRADEVER: (new version:新固件版本号,例如: "AirM2M_720U_V401874_LTE_AT") +UPGRADEVER: (upload state:新固件更新状态是否成功上报,1:上报成功,0:上报失败) 注意:从下载固件(打印+UPGRADEIND: +UPGRADDL: |
||
| 使用用户自己的服务器进行升级: | ||
| 用户在自己服务器放好bin文件,然后输入: | ||
| AT+UPGRADE="URL","http://xxxx.bin" OK 同样的,缺省也是自动升级,间隔周期也是24小时。模块从服务器下载固件,是用HTTP协议。 |





设置指令行终止符:ATS3
设置指令,可设置用于AT指令行终止符,该字符能被TA识别。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | ATS3= |
OK |
| 查询命令 | ATS3? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 指令行终止符的ASCII值 | 13 | 缺省值:13,对应 ASCII字符为 注:仅支持这个值 |
设置命令行编辑字符:ATS5
此命令设置删除命令行先前字符的字符。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | ATS5= |
OK |
| 查询命令 | ATS5? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 指令行编辑符的ASCII值 | 8 | 缺省值:8(对应ASCII字符 |
举例:
| 命令(→) / 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | ATS5? | 查询当前指令行编辑字符 |
| ← | 008 OK |
当前指令行编辑字符为BackSpace 后退符 |
设置CDC功能模式:AT&C
此命令设置 109(DCD)电路状态与远端接收线上信号检测之间的关系。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT&C |
OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| DCD电路状态 | 0 | DCD 线始终为ON | |
| 1 | DCD线只在数据载波存在时为ON |
设置DTR功能模式:AT&D
此命令设置数据模式下,circuit 108/2 (DTR) 从ON 变为OFF 状态时, TA 的响应状态。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT&D |
OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| DTR电路状态 | 0 | TA 忽略DTR 状态 | |
| 1 | DTR 由ON至OFF:TA在保持当前数据通话的同时,切换至命令模式 | ||
| 2 | DTR 由ON 至OFF:TA 释放数据通话,切换至命令模式。 DTR= OFF 时,为自动应答关闭状态。 |
实时时钟:AT+CCLK
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CCLK= | OK |
| 查询命令 | AT+CCLK? | +CCLK: |
| 测试命令 | AT+CCLK=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 时间 | - | 字符串类型(字符串需包含在引号内) ;格式类似"yy/MM/dd,hh:mm:ss±zz",最后两位字符指示年,月,日,小时,分钟,秒和时区(用当地时间和GMT 时间之间的差别来表示,以1/4 小时格式来表示;范围-47...+48) |
举例:
| 命令(→)/ | 实例 | 解释和说明 |
|---|---|---|
| 返回(←) | ||
| → | AT+CCLK? | 查询当前时间 |
| ← | +CCLK: "18/08/01,12:12:58+00" OK |
返回的查询结果 |
| → | AT+CCLK="18/08/07,13:28:29+32" | 将当前时间设置为正确的时间,设置时区可以用"+"号 |
| ← | OK | |
| → | AT+CCLK? | 再查询一次当前时间 |
| ← | +CCLK: "18/08/07,13:28:31+32" OK |
返回的查询结果 |
设置USB模式:AT+SETUSB
本命令可以设置USB口的使用模式。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+SETUSB= |
OK |
| 查询命令 | AT+SETUSB? | mode: Vid: Pid: OK |
| 测试命令 | AT+SETUSB=? | OK |
| 注意事项 | 该命令可以关机自动保存 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 | ||
|---|---|---|---|---|---|
| USB的使用模式,设置命令的必选参数 | 1 | RNDIS+AT+PPP+DIAG模式,缺省值 | |||
| 2 | ECM+ AT+PPP+DIAG模式 | ||||
| 3 | 保留 | ||||
| Vendorid,设置命令的可选参数 | Air72XUX系列缺省值为0x1782 | ||||
| Productid,设置命令的可选参数 | Air72XUX系列缺省值为0x4e00 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+SETUSB=2 | 设置成ECM网卡 |
| ← | OK | |
| → | AT+SETUSB? | |
| ← | mode: 2 vid: 0x1782 pid: 0x4e00 |
|
| OK |
设备错误:AT+CMEE
该命令使能或者屏蔽结果码的使用+CME ERROR:
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CMEE=[ |
OK |
| 查询命令 | AT+CMEE? | +CMEE : OK |
| 测试命令 | AT+CMEE=? | +CMEE:( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 结果码上报模式 | 0 | 禁用结果码+ CME ERROR: |
|
| 1 | 启用结果码+ CME ERROR: |
||
| 2 | 启用结果码+ CME ERROR: |
错误码描述:+CME ERROR:
| 数字型 取值 |
冗长方式的 |
解释 |
|---|---|---|
| 常见错误 | ||
| 0 | phonefailure | 手机故障 |
| 1 | noconnectiontophone | 未连接到手机 |
| 2 | phone-adaptorlinkreserved | 预留手机适配器链路 |
| 3 | operationnotallowed | 不允许操作 |
| 4 | operationnotsupported | 不支持操作 |
| 5 | PH-SIMPINrequired | 需要PH-SIM卡的PIN |
| 6 | PH-FSIMPINrequired | 需要PH-FSIM的PIN |
| 7 | PH-FSIMPUKrequired | 需要PH-FSIM的PUK |
| 10 | SIMnotinserted | 没有插入SIM卡 |
| 11 | SIMPINrequired | 需要SIM卡的PIN |
| 12 | SIMPUKrequired | 需要SIM卡的PUK |
| 13 | SIMfailure | SIM卡故障 |
| 14 | SIMbusy | SIM卡遇忙 |
| 15 | SIMwrong | SIM错误 |
| 16 | incorrectpassword | 密码无效 |
| 17 | SIMPIN2required | 需要SIM卡的PIN2 |
| 18 | SIMPUK2required | 需要SIM卡的PUK2 |
| 20 | memoryfull | 存储已满 |
| 21 | invalidindex | 索引无效 |
| 22 | notfound | 未发现 |
| 23 | memoryfailure | 存储故障 |
| 24 | textstringtoolong | 文本字符串过长 |
| 25 | invalidcharactersintextstring | 文本字符串中的字符无效 |
| 26 | dialstringtoolong | 拨号字符串过长 |
| 27 | invalidcharactersindialstring | 拨号字符串中的字符无效 |
| 30 | nonetworkservice | 无网络业务 |
| 31 | networktimeout | 网络超时 |
| 32 | networknotallowed-emergencycallsonly | 网络不允许-只适用于紧急呼叫 |
| 40 | networkpersonalizationPINrequired | 需要网络个性化PIN |
| 41 | networkpersonalizationPUKrequired | 需要网络个性化PUK |
| 42 | networksubsetpersonalizationPINrequired | 需要网络子集个性化PIN |
| 43 | networksubsetpersonalizationPUKrequired | 需要网络子集个性化PUK |
| 44 | serviceproviderpersonalizationPINrequired | 需要服务供应商个性化PIN |
| 45 | serviceproviderpersonalizationPUKrequired | 需要服务供应商个性化PUK |
| 46 | corporatepersonalizationPINrequired | 需要公司个性化PIN |
| 47 | corporatepersonalizationPUKrequired | 需要公司个性化PUK |
| 48 | hiddenkeyrequired | 需要输入隐藏的密码 |
| 49 | ||
| 50 | EXE_NOT_SURPORT | (适用于cat1 模块) |
| 50 | InvalidParam EXE_FAIL |
无效参数(适用于cat4 模块) |
| 51 | NOMEMORY | 内存不足(适用于cat1 模块) |
| 52 | OPTIONNOTSURPORT | 选项不支持(适用于cat1 模块) |
| 53 | parametersareinvalid | 无效参数(适用于cat1 模块) |
| 54 | EXT_REG_NOT_EXIT | (适用于cat1 模块) |
| 55 | EXT_SMS_NOT_EXIT | (适用于cat1 模块) |
| 56 | EXT_PBK_NOT_EXIT | (适用于cat1 模块) |
| 57 | EXT_FFS_NOT_EXIT | (适用于cat1 模块) |
| 58 | INVALID_COMMAND_LINE | (适用于cat1 模块) |
| 59 | ITF_DIFFERENT | (适用于cat1 模块) |
| 60 | BURN_FLASH_FAIL | (适用于cat1 模块) |
| 61 | TFLASHNOTEXIST | TF卡不存在(适用于cat1 模块) |
| 62 | FILENOTEXIST | 文件不存在(适用于cat1 模块) |
| 63 | FILETOOLARGE | 文件太大(适用于cat1 模块) |
| 96 | INVALIDDATEORTIME | 无效日期或时间(适用于cat1 模块) |
| 97 | DIRCREATEFAIL | 创建文件夹失败(适用于cat1 模块) |
| 98 | DIRNOTEXIST | 文件夹不存在(适用于cat1 模块) |
| 99 | NOTIMPLEMENTED | 不可执行(适用于cat1 模块) |
| 100 | unknown | 未知 |
| 103 | IllegalMS | 非法MS |
| 106 | IllegalME | 非法ME |
| 107 | GPRSservicesnotallowed | 不允许GPRS业务 |
| 111 | PLMNnotallowed | 不允许PLMN |
| 112 | Locationareanotallowed | 不允许位置区 |
| 113 | Roamingnotallowedinthislocationarea | 该位置区不允许漫游 |
| 132 | serviceoptionnotsupported | 不支持业务选择 |
| 133 | requestedserviceoptionnotsubscribed | 未描述业务选择请求 |
| 134 | serviceoptiontemporarilyoutoforder | 业务选择暂时无连接 |
| 148 | unspecifiedGPRSerror | GPRS错误未指明 |
| 149 | PDPauthenticationfailure | PDP 鉴权失败 |
| 150 | invalidmobileclass | 移动类别无效 |
| 151 | ATcommandtimeout | AT命令超时 |
| 181 | UNSUPPORTEDQCIVALUE | 不支持CQI |
| 214 | SS_UNKNOWN_SUBSCRIBER | |
| 222 | SS_ILLEGAL_SUBSCRIBER | |
| 223 | SS_BRERSERV_NOT_PROV | |
| 224 | SS_TELESERV_NOT_PROV | |
| 225 | SS_ILLEGAL_EQUIPMENT | |
| 226 | SS_CALL_BARRED | |
| 229 | SS_ILLEGAL_OPERATION | |
| 230 | SS_ERROR_STATUS | |
| 231 | SS_NOT_AVAILABLE | |
| 232 | SS_SUBS_VIOLATION | |
| 233 | SS_INCOMPATIBILITY | |
| 234 | SS_FACILITY_NOT_SUPPORTED | |
| 240 | SS_ABSENT_SUBSCRIBER | |
| 247 | SS_SYSTEM_FAILURE | |
| 248 | SS_DATA_MISSING | |
| 249 | SS_UNEXPECTED_DATA_VALUE | |
| 250 | SS_PWD_REGISTRATION_FAILURE | |
| 251 | SS_NEGATIVE_PWD_CHECK | |
| 256 | SS_NUMOF_PWD_ATTEMPT_VIOL | |
| 264 | SIMVERIFYFAIL | (适用于cat1 模块) |
| 265 | SIMUNBLOCKFAIL | (适用于cat1 模块) |
| 266 | SIMCONDITIONNOFULLFILLED | (适用于cat1 模块) |
| 267 | SS_POSITION_METHOD_FAILURE | (适用于cat4 模块) |
| 267 | SIMUNBLOCKFAILNOLEFT | (适用于cat1 模块) |
| 268 | SIMVERIFYFAILNOLEFT | (适用于cat1 模块) |
| 269 | SIMINVALIDPARAMETER | (适用于cat1 模块) |
| 270 | SIMUNKNOWCOMMAND | (适用于cat1 模块) |
| 271 | SIMWRONGCLASS | (适用于cat1 模块) |
| 272 | SIMTECHNICALPROBLEM | (适用于cat1 模块) |
| 273 | SIMCHVNEEDUNBLOCK | (适用于cat1 模块) |
| 274 | SIMNOEFSELECTED | (适用于cat1 模块) |
| 275 | SIMFILEUNMATCHCOMMAND | (适用于cat1 模块) |
| 276 | SIMCONTRADICTIONCHV | (适用于cat1 模块) |
| 277 | SIMCONTRADICTIONINVALIDATION | (适用于cat1 模块) |
| 278 | SIMMAXVALUEREACHED | (适用于cat1 模块) |
| 279 | SIMPATTERNNOTFOUND | (适用于cat1 模块) |
| 280 | SIMFILEIDNOTFOUND | (适用于cat1 模块) |
| 281 | SIMSTKBUSY | (适用于cat1 模块) |
| 282 | SIMUNKNOW | (适用于cat1 模块) |
| 283 | SIMPROFILEERROR | (适用于cat1 模块) |
| 284 | SS_UNKNOWN_ALPHABET | |
| 285 | SS_USSD_BUSY | |
| 323 | Cat1模块 | |
| 339 | SS_MAXMPTY_CALLS_EXCEEDED | |
| 340 | SS_RESOURCES_NOT_AVAILABLE | |
| 501 | WIFIlabtoolretureerror | |
| 502 | BTlabtoolretureerror | |
| 503 | FMlabtoolretureerror | |
| 504 | MRDfilealreadyexist | |
| 505 | MRDfilewithsameversionalreadyexist | |
| 506 | MRDfilewithnewerversionalreadyexist | |
| 507 | MRDauthorizationfailure | |
| 508 | (U)SIMPUKblocked | |
| 509 | Vendornotsupported | |
| 510 | NVMpathnotexist | |
| 511 | NVMfilecomcfgerror | |
| 535 | PROTOCOLstackbusy | |
| 600 | BTSAPcardnotaccessible | |
| 601 | BTSAPcardpoweredoff | |
| 602 | BTSAPcardremoved | |
| 603 | BTSAPcardpoweredon | |
| 604 | BTSAPdatanotavailable | |
| 605 | BTSAPnotsupported | |
| 606 | Non-Productionmode | |
| 753 | missingrequiredcmdparameter | CRSM 缺少参数 |
| 754 | InvalidSIMcommand | CRSM 无效命令 |
| 755 | Invalidfileid | CRSM 无效的文件 |
| 756 | MissingrequiredP1/2/3parameter | CRSM 缺少P 参数 |
| 757 | InvalidP1/2/3parameter | CRSM 无效的P 参数 |
| 758 | Missingrequiredcommanddata | CRSM 缺少命令数据 |
| 759 | invalidcharactersincommanddata | CRSM 命令行中有无效字符 |
| 765 | Invalidinputvalue | 无效输入值 |
| 766 | Unsupportedmode | 不支持的模式 |
| 767 | Operationfailed | 操作失败 |
| 768 | Muxalreadyrunning | 多路复用已经在运行 |
| 769 | Unabletogetcontrol | 不能获得控制权 |
| 770 | SIMnetworkreject | SIM 网络拒绝 |
| 771 | Callsetupinprogress | 正在建立呼叫 |
| 772 | SIMpowereddown | SIM 关闭了 |
| 773 | SIMfilenotpresent | SIM 文件不在 |
| 774 | RACrefreshnettimefailure | |
| 791 | Paramcountnotenough | |
| 792 | Paramcountbeyond | |
| 793 | Paramvaluerangebeyond | |
| 794 | Paramtypenotmatch | |
| 795 | Paramformatinvalid | |
| 796 | Getanullparam | |
| 797 | CFUNstateis0or4 | |
| 810 | NoError | |
| 811 | UnrecognizedCommand | |
| 812 | ReturnValueError | |
| 813 | SyntaxError | |
| 814 | UnspecifiedError | |
| 815 | DataTransferAlready | |
| 816 | ActionAlready | |
| 817 | NotAtCmd | |
| 818 | MultiCmdtoolong | |
| 819 | AbortCops | |
| 820 | NoCallDisc | |
| 821 | BTSAPUndefined | |
| 822 | BTSAPNotAccessible | |
| 823 | BTSAPCardRemoved | |
| 824 | ATNotAllowedByCustomer | |
| 890 | GPS_NOT_RUNNING | |
| 891 | GPS_IS_RUNNING | |
| 892 | GPS_IS_FIXING | |
| 893 | GPS_IS_SLEEPING | |
| 894 | GPS_NOT_SLEEPING | |
| 900 | DIAED_REJECT | |
| 901 | PDP_NO_ACTIVE | |
| 902 | PDP_ACTIVE | |
| 910 | TCP_CONNECTION_REJECT | |
| 911 | TCP_CONNECT_OVERTIME | |
| 912 | SOCKET_CONNECTION_EXIST | |
| 913 | SOCKET_CONNECTION_NOT_EXIST | |
| 914 | BUFFER_OVER_SIZE | |
| 915 | SENDING_OVERTIME | |
| 916 | DNS_EXIST | |
| 917 | DNS_PARSE_OVERTIME | |
| 918 | DNS_PARSE_ERROR | |
| 980 | INPUT_VALUE_ERROR | |
| 981 | OTHER_ERROR | |
| 982 | ERROR | |
| 983 | NOT_ALLOWED | |
| 1000 | UPGRADE_INVALID_URL | |
| 1001 | UPGRADE_NET_ERROR | |
| 1002 | UPGRADE_SERVER_CONNECT_ERROR | |
| 1003 | UPGRADE_INVALID_FILE | |
| 1004 | UPGRADE_SERVER_RESPONSE_ERROR | |
| 1005 | UPGRADE_WRITE_FLASH_ERROR | |
| 1006 | UPGRADE_ERROR | |
| 65535 | OtherError |
设备控制命令
手机活动状态:AT+CPAS
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CPAS | +CPAS: OK |
| 测试命令 | AT+CPAS=? | +CPAS: ( OK |
| 注意事项 | 执行命令是用来查询手机活动状态 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 状态 | 0 | ME准备就绪 | |
| 1 | ME不可用 | ||
| 2 | 未知,ME未准备好 | ||
| 3 | 振铃 | ||
| 4 | 呼叫进行中 | ||
| 5 | 睡眠 | ||
| 6 | call in active |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CPAS=? | 查询 |
| ← | +CPAS: (0,1,2,3,4,5,6) OK |
|
| → | ATD138**; | 模块主叫一个手机号码 |
| ← | OK | |
| → | AT+CPAS | 对方振铃,但是未接听的时候,模块这边做一次查询 |
| ← | +CPAS: 3 OK |
3表示振铃 |
| ←(URC) | CONNECT | 被叫接听 |
| → | AT+CPAS | 被叫接听后,模块这边查询状态 |
| ← | +CPAS: 4 OK |
4表示呼叫进行中 |
| ←(URC) | NO CARRIER | 被叫挂断电话 |
| → | AT+CPAS | 被叫挂机后,模块再查询一次状态 |
| ← | +CPAS: 0 OK |
0表示ME准备好(idle状态) |
模块功能模式:AT+CFUN
设置命令选择模块的功能模式。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CFUN= |
OK |
| 查询命令 | AT+CFUN? | +CFUN: OK |
| 测试命令 | AT+CFUN=? | +CFUN: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 功能模式 | 0 | 最少功能 | |
| 1 | 全部功能 | ||
| 3 | 关闭模块RF电路的接收功能 | ||
| 4 | 飞行模式。关闭模块的RF电路的接收和发送功能 | ||
| 5 | 使SIM卡失效 | ||
| 6 | turnofffullsecondaryreceiver | ||
| 是否需要重启 | 0 | 在设置 |
|
| 1 | 在设置 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CFUN=? | 查询各个参数的取值范围 |
| ← | +CFUN: (0,1,3,4,5,6),(0-1) OK |
查询结果 |
| → | AT+CFUN? | 查询当前的功能模式 |
| ← | +CFUN: 1 OK |
查询结果 |
| → | AT+CFUN=1,1 | 被用来主动重启模块, 重启后进入全功能模式 |
| ← | OK |
关机:AT+CPOWD
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CPOWD= |
输入PIN码:AT+CPIN
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CPIN= |
OK 说明:如果需要的PIN 是SIM PUK 或者SIM PUK2, 则需要第二个 pin。 |
| 查询命令 | AT+CPIN? | +CPIN: |
| 测试命令 | AT+CPIN=? | OK |
| URC | +CPIN: |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 密码 | - | 字符串型 | |
| 新密码 | - | 字符串型 | |
|
READY | ME不再需要提供密码 | |
| SIM PIN | ME等待提供SIM卡的PIN码 | ||
| SIM PUK | ME等待提供SIM卡的PUK码 | ||
| SIM PIN2 | ME等待提供SIM卡的PIN2码 | ||
| SIM PUK2 | ME等待提供SIM卡的PUK2码 | ||
| SIMREMOVED | SIM卡未检出 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CPIN? | 查询PIN码锁状态 |
| ← | +CPIN: READY OK |
表示PIN码锁并未开启 |
| → | AT+CLCK="SC",1,"1234" | 开启开机PIN码锁,1234是PIN码,SC表示是SIM卡 |
| ← | OK | 返回OK后,重启模块 |
| ← | +CPIN: SIM PIN | 重新开机后,模块会自动上报PIN码状态,SIM PIN表示开机PIN 码为ON的状态(即开机需要输入PIN码) |
| → | AT+CPIN="1234" | 此时需要输入PIN码 |
| ← | +CPIN: READY OK |
表示密码正确,PIN码锁解锁 |
| → | AT+CLCK="SC",2 | 查询当前的开机PIN码是否仍然开启 |
| ← | +CLCK: 1 OK |
1表示仍然有开机PIN码提示 |
| → | AT+CLCK="SC",0,"1234" | 关闭开机PIN码提示 |
| ← | OK | 返回OK后重新开机 |
| ← | +CPIN: READY | 重新开机后,模块会自动上报PIN码状态,READY表示开机PIN码: OFF |
设备锁定:AT+CLCK
执行命令锁定、解锁、查询 ME或网络设备
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CLCK= [, |
当 OK |
| 当 +CLCK: +CLCK: OK |
||
| 测试命令 | AT+CLCK=? | +CLCK:( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 设备 | "CS" | Control surface(锁控制接口) | |
| "PS" | 将设备锁定到某个或某些SIM卡上 | ||
| "PF" | 将设备锁定到第一个插入的SIM卡上 | ||
| "SC" | SIM/UICC(锁SIM卡) | ||
| "AO" | 禁止所有出局呼叫 | ||
| "OI" | 禁止所有国际出局呼叫 | ||
| "OX" | 禁止所有国际出局呼叫,归属国除外 | ||
| "AI" | 禁止所有入局呼叫 | ||
| "IR" | 归属国以外漫游时,禁止所有入局呼叫 | ||
| "NT" | 禁止TA未保存的号码入呼叫 | ||
| "NM" | 禁止MT未保存的号码入呼叫 | ||
| "NS" | 禁止SIM/UICC未保存的号码入呼叫 | ||
| "NA" | 禁止在哪个存储空间都未保存的号码呼入 | ||
| "AB" | 禁止所有服务,仅当 mode=0 有效 | ||
| "AG" | 禁止所有出局服务,仅当 mode=0 有效 | ||
| "AC" | 禁止所有入局服务,仅当 mode=0 有效 | ||
| "FD" | SIM 卡固定拨号 | ||
| "PN" | 网络个性化(请参考GSM 02.22) | ||
| "PP" | 服务供应商个性化(请参考GSM 02.22) | ||
| "PU" | 网络子集个性化(请参考GSM 02.22) | ||
| "PC" | 企业个性化(请参考GSM 02.22) | ||
| 工作模式 | 0 | 解锁 | |
| 1 | 锁定 | ||
| 2 | 查询状态 | ||
| 激活状态 | 0 | 非激活 | |
| 1 | 激活 | ||
| 业务类型 | 1 | 语音(电话业务) | |
| 2 | 数据(所有承载业务;当 128 的取值,该参数仅表示部分承载业务) |
||
| 4 | 传真(传真业务) | ||
| 8 | 短消息服务 | ||
| 16 | 数据电路同步 | ||
| 32 | 数据电路异步 | ||
| 64 | 专用分组访问 | ||
| 128 | PAD专用接入 | ||
| 密码 | 字符型;与ME用户接口使用的设备密码、修改密码命令+CPWD 设置的密码相同 |
修改密码:AT+CPWD
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CPWD= |
OK |
| 测试命令 | AT+CPWD=? | +CPWD: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 老密码,新密码 | - | 字符型;与 ME用户接口使用的设备密码、修改密码命令 +CPWD设置的密码相同 |
|
| 密码长度 | - | 整数型,设备支持的最大密码长度 | |
| 设备 | 与AT+CLCK中定义相同 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CLCK="SC",1,"1234" | 如果要修改开机PIN码,必须先要打开开机PIN码锁 |
| ← | OK | |
| → | AT+CPWD="SC","1234","8888" | 修改开机PIN码为8888 |
| ← | OK | 此时重启模块 |
| ← | +CPIN: SIM PIN | 重新开机后,模块会自动上报PIN码状态,SIM PIN 表示开机PIN码:ON |
| → | AT+CPIN="8888" | 此时需要输入PIN码 |
| ← | +CPIN: READY OK |
表示密码正确,PIN码锁解锁 |
网络灯闪烁的时间间隔:AT+SLEDS
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+SLEDS= |
OK |
| 查询命令 | AT+SLEDS? | +SLEDS: OK |
| 测试命令 | AT+SLEDS=? | +SLEDS: ( ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 设置何种状态下的闪灯间隔 | 1 | 设置没有注册上网络时的网络灯闪烁时间间隔 | |
| 2 | 设置已经注册上网络时的网络灯闪烁时间间隔 | ||
| 3 | 设置PPP通讯状态时的网络灯闪烁时间间隔 | ||
| 灯亮的时间 | 0或40~65535 | 单位ms , 0为常灭 | |
| 灯灭的时间 | 0或40~65535 | 单位ms , 0为常亮 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+SLEDS=? | 测试命令 |
| ← | +SLEDS : (1-3),(0,40-65535),(0,40-65535) OK |
设置TE-TA波特率:AT+IPR
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+IPR= |
OK |
| 查询命令 | AT+IPR? | +IPR: OK |
| 测试命令 | AT+IPR=? | +IPR: (自适应波特率取值列表),(固定波特率取值列表) OK |
| 注意事项 | 1. 缺省波特率=0,即自适应波特率。 2. 模块开机时需要MCU那边输入若干个"AT"或(注:"aT","At"无法训练波特率),即可把模块的波特率训练成跟主控一致,此时会有初始化信息上报,表示训练成功。 3. 训练成功后,AT命令可以识别大写,小写或大小写混写。 4. "AT+IPR=x;&W",可以设置固定波特率并保存。重启模块后,模块仍然是这个波特率x,如果上位机波特率也是x,此时不用输入任何东西,模块就会自动上报开机初始化信息。注:x是波特率,例如115200 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 波特率,单位 bps |
0 | 自适应波特率(自适应范围随模块型号不同而有所不同) | |
| 1200 | |||
| 2400 | |||
| 4800 | |||
| 9600 | |||
| 14400 | |||
| 19200 | |||
| 28800 | |||
| 38400 | |||
| 57600 | |||
| 115200 | |||
| 230400 | |||
| 460800 | |||
| 921600 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+IPR=? | 查询AIR720S当前支持的波特率范围 |
| ← | +IPR: (0,9600,14400,19200,28800,33600,38400,57600,115 200),(230400,460800,921600) OK |
自适应波特率范围是:9600,14400, 19200,28800,38400,57600, 115200 |
| → | AT+IPR=? | 查询AIR720U当前支持的波特率范围 |
| +IPR: (0,2400,4800,9600,14400,19200,28800,33600,38400 ,57600,115200),(230400,460800,921600) OK |
自适应波特率范围是: 2400,4800,9600,14400,19200,288 00,33600,38400,57600,115200 |
设置 TE-TA 帧格式:AT+ICF
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+ICF= |
OK |
| 查询命令 | AT+ICF? | +ICF: < format >[, OK |
| 测试命令 | AT+ICF=? | +ICF: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 帧格式 | 0 | 自动识别 | |
| 1 | 8 数据位0 奇偶校验位2 停止位 | ||
| 2 | 8 数据位1 奇偶校验位1 停止位 | ||
| 3 | 8 数据位0 奇偶校验位1 停止位 | ||
| 4 | 7 数据位0 奇偶校验位2 停止位 | ||
| 5 | 7 数据位1 奇偶校验位1 停止位 | ||
| 6 | 7 数据位0 奇偶校验位1 停止位注:0 奇偶校验位是指无奇偶校验位,此时 |
||
| 校验位 | 0 | 奇数位(Odd) | |
| 1 | 偶数位(Even) | ||
| 2 | 标记(Mark) | ||
| 3 | 空格(Space) |
举例:
| 命令(→)/ 返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | AT+ICF=? | 查询参数取值范围 |
| ← | +ICF: (1-6),(0-3) OK |
|
| → | AT+ICF=? | 查询参数取值范围 |
| ← | +ICF: (1-6), (0-1) | Air780E/Air600E系列模块返回值 |
设置指令行换行字符:ATS4
使用该指令的设置命令,可设置用于结果码和信息文本换行的字符。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | ATS4= |
OK |
| 查询命令 | ATS4? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 指令行换行符的ASCII值 | 10 | 缺省值:10(对应ASCII字符 注:仅支持这个值 |
TE-TA 本地流量控制:AT+IFC
流控简介:对模块与 DTE 之间可靠的通信而言,流控是很重要的。假使一次数据或传真呼叫中,发送端的发送速度大于接收端的接收速度,当接收缓存接近满的时候,接收端应该有方法让发送端暂停发送,直到它重新赶上。这就是流控。一般来说,有两种方法来实现流控。它们是软件流控和硬件流控。在多路复用模式下,推荐采用硬件流控。合宙模块对这两种流控方式都支持。软件流控:软件流控发送不同的字符去暂停(XOFF,十进制 19)和恢复(XON,十进制 17)数据流。它适用于仅仅有三根线的串口通信。合宙LTE模块如果使用软件流控,则需要通过命令:AT+IFC=1,1 来配置因为这个配置不保存,所以若希望重启后继续使用软件流控,需要通过 AT&W 保存到用户配置表中。注:当模块传送的是二进制/十六进制数据时,不适合软件流控方式,因为TE可能会将二进制数据当成流控字符。硬件流控:
硬件流控通过 RTS/CTS 信号来实现。当接收缓存快满的时候,模块把 CTS 信号设置为无效,数据传输被暂停。当模块的接收缓存可以接收更多数据时,CTS 信号重新被设置为有效。要实现硬件流控功能,请确保你的应用串口包含 RTS/CTS 线。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+IFC= |
OK |
| 查询命令 | AT+IFC? | +IFC: OK |
| 测试命令 | AT+IFC=? | +IFC: ( OK |
| 注意事项 | 模块缺省无流控。如果需要硬件流量控制,请输入"AT+IFC=2,2;&W",重启模块就一直生效了。 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| < dce_by_dte> | TE 接收来自TA 数据时采用的流控方法 | 0 | 无流控 |
| 1 | 软件流控 | ||
| 2 | 硬件流控 | ||
| < dte_by_dce> | TA 接收来自TE 数据时采用的流控方法 | 0 | 无流控 |
| 1 | 软件流控 | ||
| 2 | 硬件流控 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+IFC=? | 查询< dce_by_dte>和< dte_by_dce>取值范围 |
| ← | +IFC: (0-2),(0-2) OK |
查询结果 |
| → | AT+IFC? | 查询当前的流量控制方式 |
| ← | +IFC: 2,2 OK |
硬件流控 |
多路复用:AT+CMUX
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CMUX= [ |
OK |
| 查询命令 | AT+CMUX? | +CMUX:[ T1>[, OK |
| 测试命令 | AT+CMUX=? | +CMUX:( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 复用透传机制 | 0 | 基本选择 | |
| 控制通道的复用器建立的方式 | 0 | 仅使用UIH 包文 | |
| 传输速率,单位为bits/s | 1 | 9600 | |
| 2 | 19200 | ||
| 3 | 38400 | ||
| 4 | 57600 | ||
| 5 | 115200 | ||
| 6 | 230400 | ||
| 7 | 460800 | ||
| 最大报文大小 | 1-255 | 默认:127 | |
| 接收timer,以10ms为单位 | 1-255 | 默认:10(100 ms) | |
| 重传的最大数量 | 0-100 | 默认:3 | |
| 复用器控制通道的响应定时器,以10ms 为单位 | 2-255 | 默认:30 | |
| 唤醒响应定时器,以秒为单位 | 1-255 | 默认:10 | |
| 窗口大小,适用于有错误恢复选项的高级操作 | 1-7 | 默认:2 |
开启和关闭SIM卡在位硬件检测:AT+CSDT
该命令的设置命令可以开启USIM_CD这个引脚的功能。当AT+CSDT=1的时候,使能该引脚。此时配合SIM卡外围检测电路就能检测SIM卡在位状态,即插卡或掉卡。注:USIM_CD脚为USIM卡在位检测脚,具体定义请参考相关模型的硬件手册
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CSDT= |
OK |
| 查询命令 | AT+CSDT? | +CSDT: OK |
| 测试命令 | AT+CSDT=? | +CSDT: ( OK |
| 注意事项 | 当检测到SIM卡在位的时候,立刻会有一个URC 上报:+CPIN: READY 当检测到SIM卡不在位的时候,立刻会有一个URC 上报:+CPIN: SIM REMOVED 如果需要关机保存,请输入AT+CSDT= 如下指令仅适用于合宙4GCAT1模块(Air720U/Air724U系列)(版本>=V401857) AT+CSDT=1:默认上升沿触发,不插卡是低,插入卡是高电平 AT+CSDT=1,0:可以配置下降沿触发,不插卡是高,插入卡是低电平 AT+CSDT=1,1:可以配置上升沿触发,不插卡是低,插入卡是高电平 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| SIM在位检测的开启状态 | 0 | 关闭SIM卡在位检测 | |
| 1 | 开启SIM卡在位检测 |
检测某个插槽的SIM卡是否在位:AT*SIMDETEC
注:本命令适用合宙模块类型:Air720/Air720G/ Air720H/ Air720D/ Air720S/Air72XCX。设置命令用来检测某个插槽的SIM卡是否在位。测试命令用来显示目前所支持的SIM插槽。
语法规则:
| 命令类型 | 语法 | 返回 | |
|---|---|---|---|
| 设置命令 | AT*SIMDETEC= |
*SIMDETEC: OK |
Air720系列模块的返回 |
| *SIMDETEC: OK |
Air720s系列模块的返回 | ||
| 测试命令 | AT*SIMDETEC=? | *SIMDETEC:(1,2) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 哪个sim卡槽 | 1 | 主sim卡 | |
| 2 | 备用sim卡(暂不支持) | ||
| SIM卡状态 | NOS | SIM卡不存在 | |
| SIM | SIM卡已插入 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT*SIMDETEC=1 | |
| ← | *SIMDETEC:NOS OK |
SIM卡不在位 |
控制Sim卡状态主动上报:AT^CARDMODE
设置命令控制是否允许SIM卡状态的URC上报^CARDMODE:
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT^CARDMODE= |
OK |
| 查询命令 | AT^CARDMODE? | ^CARDMODE: OK |
| 测试命令 | AT^CARDMODE=? | ^CARDMODE:(listofsupported OK |
| URC | ^CARDMODE: |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| URC上报开关 | 0 | 不允许上报 ^CARDMODE: |
|
| 1 | 允许上报 ^CARDMODE: |
||
| SIM 卡状态 | 0 | 未知状态 | |
| 1 | 有效的SIMCARD | ||
| 2 | 有效的USIMCARD | ||
| 255 | 未检测到SIM/USIM卡,或者pin码没有解锁 |
获取Sim类型:AT*EUICC
获知SIM卡类型。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 查询命令 | AT*EUICC? | *EUICC: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| SIMcardtype | 0 | SIM | |
| 1 | USIM |
设置在数传模式下,等待多长时间进入休眠状态:AT*RTIME
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT*RTIME= |
OK |
| 查询命令 | AT*RTIME? | *RTIME: OK |
| 注意事项 | 信号正常情况下, |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 在数传模式下,等待多长时间进入休眠状态。 | 0~20 | 单位:秒,0表示关闭。缺省值为0。 | |
| 在数传模式下,等待多长时间进入休眠状 | |||
| 态。 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT*RTIME=2 | 设置等待时间为2秒 |
| ← | OK |
通过UART口设置睡眠唤醒:AT+CSCLK
通过串口使模块进入睡眠的先决条件是:不接USB口。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CSCLK= |
OK |
| 查询命令 | AT+CSCLK? | +CSCLK: OK |
| 测试命令 | AT+CSCLK=? | +CSCLK: (list ofsupported OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 睡眠设置 | 0 | 关闭模块睡眠功能。模块无法进入睡眠状态。缺省值。 | |
| 1 | 睡眠模式1。由模块AP_WAKEUP_MODULE 脚控制是否进入睡眠。当AP_WAKEUP_MODULE拉高(缺省为高,因为有内部上拉),设置AT+CSCLK=1,没有其他中断产生(GPIO、来电、来短信等),模块将自动进入睡眠模式1。在这种模式下,模块仍能接收来自网络的呼叫和短消息。当模块处于睡眠模式1时,可以通过以下的几种方法唤醒模块。 模块接收到外部中断信号; 模块接收到语音或数据呼叫; 模块接收到短消息(SMS); 串口接收到AT命令; 拉低AP_WAKEUP_MODULE引脚大概50ms 注意:模块收到语音、数据呼叫或短消息后会有URC上报 |
||
| 2 | 睡眠模式2。设置AT+CSCLK=2后,模块会连续监测串口数据,如果模块的串口上没有数据输入,并且没有其他中断产生(GPIO,来电,来短信,来数据等),缺省5秒后模块会自动进入睡眠模式2(注:睡眠模式2情况下,AP_WAKEUP_MODULE电平对模块睡眠唤醒功能无影响,这个是跟休眠模式1最主要的区别)。在这种模式下,模块仍能接收来自网络的呼叫和短消息。当模块处于睡眠模式2时,可以通过以下的几种方法唤醒模块。 模块接收到外部中断信号; 模块接收到语音或数据呼叫; 模块接收到短消息(SMS); 串口接收到AT命令。 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| 睡眠唤醒应用实例1 | ||
| → | AT+CSCLK=2 | 设置为睡眠模式2。在这种睡眠模式下,以下情况同时满足时,模块进入睡眠。 模块在AT口无输入 没有URC上报(包括没有来电,没有短信,没有收到服务器发来的数据等) 无GPIO中断 |
| ← | OK | |
| → | AT+WAKETIM? | 查询进入睡眠的时间 |
| ← | +WAKETIM:5 OK |
查询结果为5秒钟。5秒钟是CSCLK设置睡眠后缺省进入睡眠的时间 |
| → | AT+WAKETIM=8 | 如果需要修改进入睡眠的时间,可以通过WAKETIM来设置,例如改为8(一般情况下不需要设置)注:WAKETIM此时不要设置为0,这样会使睡眠失效。 |
| ← | OK | |
| 模块唤醒方式有以下几种: 1) 串口输入几个AT命令(一个往往唤不醒,需要多输几个) |
||
| 2) 任意URC上报(包括来电,来短信,收到服务器发的数据等) 3) GPIO中断 |
||
| → | AT+CSCLK=0 | |
| ← | OK | 0,设置为不允许模块睡眠 |
| 睡眠唤醒应用实例2 | ||
| → | AT+CSCLK=1 | 设置为睡眠模式1。在这种睡眠模式下,以下情况同时满足时,模块进入睡眠。 模块在AT口无输入 没有URC上报(包括没有来电,没有短信,没有收到服务器发来的数据等) 模块AP_WAKEUP_MODULE为高(AP_WAKEUP_MODULE 高,是允许模块睡眠;AP_WAKEUP_MODULE低,是唤醒模块) 无GPIO中断 |
| ← | OK | |
| → | AT+WAKETIM? | 查询进入睡眠的时间 |
| ← | +WAKETIM:5 OK |
查询结果为5秒钟。5秒钟是CSCLK设置睡眠后缺省进入睡眠的时间 |
| → | AT+WAKETIM=8 | 如果需要修改进入睡眠的时间,可以通过WAKETIM来设置,例如改为8(一般情况下不需要设置)注:WAKETIM此时不要设置为0,这样会使睡眠失效。 |
| ← | OK | |
| 模块唤醒方式有以下几种: 串口输入几个AT命令(一两个AT就可以了) 任意URC上报(包括来电,来短信,收到服务器发的数据等) GPIO中断 AP_WAKEUP_MODULE唤醒(AP_WAKEUP_MODULE低,唤醒;AP_WAKEUP_MODULE高,允许睡眠) |
||
| → | AT+CSCLK=0 | |
| ← | OK | 0,设置为不允许模块睡眠 |
设置睡眠等待时间:AT+WAKETIM
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+WAKETIM= |
OK |
| 查询命令 | AT+WAKETIM? | +WAKETIM: OK |
| 注意事项 | 请用WAKETIM命令设置模块睡眠时间,请用CSCLK设置睡眠。 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 在IDLE状态下(无AT,无短信,无通话且 AP_WAKEUP_MODULE为高的情况下)等待多长时间进入睡眠状态 |
0~100 | 单位:秒,0表示不睡眠。缺省值为5。 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+WAKETIM=8 | 设置睡眠时间为8秒 |
| ← | OK |
设置RI指示功能:AT+CFGRI
设置命令设置RI脚(在合宙Air72X系列模块中对应WAKEUP_OUT脚)在收到URC上报的时候是否会有低脉冲指示。如果打开指示功能(
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CFGRI= |
OK |
| 查询命令 | AT+CFGRI? | +CFGRI: OK |
| 注意事项 | 无论 只有设置AT+CFGRI=1后,数据业务(包括TCPIP,HTTP,MQTT,FTP)到来时的URC上报,才会使RI 产生低脉冲 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| RI指示状态 | 0 | RI指示功能关闭 | |
| 1 | RI指示功能打开(TCPIP/FTP/HTTP/MQTT及其他URC) | ||
| 拉高的时间 | >0 | 单位:毫秒 | |
| 拉低的时间 | >0 | 单位:毫秒 | |
| 拉低的次数 | >0 | 单位:毫秒 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CFGRI=0 | 这个是模块的缺省设置。在此设置下,当收到短信的时候,会产生一个120ms低脉冲;当来电话的时候,会跳变为低电平,直到接通或挂断电话才会变成高电平 |
| ← | OK | |
| → | AT+CFGRI=1 | 在此设置下:当收到短信的时候,会产生一个120ms低脉冲;当来电话的时候,会跳变为低电平,直到接通或挂断电话才会变成高电平;数据业务(包括TCPIP,HTTP,MQTT,FTP)到来时的URC上报,会产生一个120ms低脉冲。 |
| ← | OK |
保存RI设置功能:AT+CFGRISAVE
设置是否保存AT+CFGRI指令设置的值(>=V401870软件版本支持)。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CFGRISAVE= |
OK |
| 查询命令 | AT+CFGRISAVE? | +CFGRISAVE: OK |
| 注意事项 | AT+CFGRI设置对应值后,需执行AT+CFGRISAVE=1才会保持对应值 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 是否关键保存 | 0 | 不保存 | |
| 1 | 保存 |
短信特定字符触发RI功能:AT*CMCRI
注:该功能目前没有实现AT*CMCRI指令增加对短信关键字的匹配功能,收到的短信中只有含有配置的特定字符的,才能触发RI120ms低脉冲(仅
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT*CMCRI= |
OK |
| 查询命令 | AT*CMCRI? | *CMCRI: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| RI指示状态 | 0 | 不使能此功能 | |
| 1 | 使能此功能 | ||
| 特定的字符串 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT*CMCRI=1, "testABC" | |
| ← | OK | |
| → | AT+CMGF=1 | |
| ← | OK | |
| ←(URC) | +CMT:"+8617740879810",,"20/09/23,18:57:11+32" ---testABC012 |
收到一个短信,含有设定字符"testABC",应该能产生RI 低脉冲;如果收到的短信不含有设定的字符串,则不应该产生RI 低脉冲 |
设置MAC地址:AT+MIFIMAC
注:本命令适用于合宙4GCAT1模块(Air720U/Air724U系列)。MAC 地址也叫物理地址、硬件地址,由网络设备制造商生产时烧录在网卡(Network lnterface Card)的EPROM(一种闪存芯片,通常可以通过程序擦写)。它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。AT+MIFIMAC指令可以对MAC地址进行读写与删除。当
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 读MAC地址 | AT+MIFIMAC=R | OK |
| 删MAC地址 | AT+MIFIMAC=D | OK |
| 写MAC地址 | AT+MIFIMAC=W, |
OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| MAC地址 | |||
| 状态码 | 1 | 删除成功 | |
| 2 | 没找到 | ||
| 0 | 删除错误 |
读取ADC:AT+CADC
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CADC= |
OK |
| 读取命令 | AT+CADC? | +CADC: |
| OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| ADC id,共有两路 | 0 | ||
| 1 | |||
| ADC使用模式 | 0 | 禁用 | |
| 1 | 启用 | ||
| ADC电压 | 单位:毫伏 |
读取VBAT电压:AT+CBC
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 读取命令 | AT+CBC | +CBC: OK |
| 测试命令 | AT+CBC=? | +CBC: (list of supported OK |
| 设置命令 | AT+CBC= owerOffVol> |
OK |
| 读取命令 | AT+CBC? | +CBC: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 充电状态 | 0 | 模块没有在充电 | |
| 1 | 模块正在充电 | ||
| 2 | 模块充电完成 | ||
| 电池电量 | 1~100 | 百分比 | |
| VBAT当前电压 | 单位:毫伏 | ||
| 开机检测的电压值 | >=0 | 单位:毫伏 | |
| 关机检测的电压值 | >=0 | 单位:毫伏 |
设置VCC_LCD电压:AT+LDO
注:本命令>=V401880版本支持
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+LDO= |
+LDO: OK |
| 读取命令 | AT+LDO? | +LDO: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| ldo通道 | 1 | ldo通道 | |
| 电压等级 | 1~15 | level=0时:关闭LDO level=1时:LDO输出1.728V level=2时:LDO输出1.839V level=3时:LDO输出1.951V level=4时:LDO输出2.064V level=5时:LDO输出2.175V level=6时:LDO输出2.287V level=7时:LDO输出2.398V level=8时:LDO输出2.514V level=9时:LDO输出2.625V level=10时:LDO输出2.737V level=11时:LDO输出2.849V level=12时:LDO输出2.960V level=13时:LDO输出3.072V level=14时:LDO输出3.183V level=15时:LDO输出3.195V |
打开/关闭网络灯:AT+CNETLIGHT
本命令的设置命令是用来打开或关闭网络状态指示灯(NET_MODE和NET_STATUS)。本命令的查询命令是用来查询网络状态指示灯是否已经打开。Air720系列模块分别用两个管脚信号来指示网络的状态。如下表描述了管脚定义。网络指示管脚定义
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CNETLIGHT= |
OK |
| 读取命令 | AT+CNETLIGHT? | +CNETLIGHT: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 网络状态指示灯的开关状态 | 0 | 关闭 | |
| 1 | 打开 |

SIM卡切换:AT+SIMCROSS
Air724UG-NA 支持 SIM0 和 SIM1 双卡单待。Air724UG-MA 由于模块内部已经在 SIM1 接口上内置了贴片 SIM 卡,故 SIM1 接口不可再外接 SIM 卡,也不可用作 GPIO。在+SIMCROSS的缺省设置下(缺省设置为0):Air724UG-MA模块开机后首先会去查询SIM0 接口上是否有插入SIM 卡,如果检测到SIM0 接口上的SIM 卡,就会读取SIM0 接口的卡信息去注册网络;如果SIM0 接口上没有检测到SIM 卡,则会再去检测SIM1 接口上是否有内置贴片SIM 卡,如果检测到SIM1接口上的内置贴片SIM 卡,就会读取内置贴片SIM 卡的信息去注册网络;如果SIM1 接口上也没有检测到内置SIM卡,则会报错:未插入SIM卡。
Air724UG-NA模块模块开机后首先会去查询SIM0 接口上是否有插入SIM 卡,如果检测到SIM0 接口上的SIM卡,就会读取SIM0 接口的卡信息去注册网络;如果SIM0 接口上没有检测到SIM 卡,则会再去检测SIM1 接口上是否有SIM 卡,如果检测到SIM1 接口上的SIM 卡,就会读取SIM1接口的卡信息去注册网络;如果SIM1 接口上也没有检测到SIM卡,则会报错:未插入SIM 卡;SIM0 接口和 SIM1 接口如果同时插入了 SIM 卡,默认会使用 SIM0 接口上的 SIM 卡,同时也可以通过AT+SIMCROSS 这个指令来切换。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+SIMCROSS= |
OK |
| 查询命令 | AT+SIMCROSS? | +SIMCROSS: OK |
| 测试命令 | AT+SIMCROSS=? | +SIMCROSS:( OK |
| 注意事项 | 本命令关机保存,但是需重启生效 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| SIMNo. | 0 | SIM卡0 | |
| 1 | SIM卡1或内置贴片卡 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+SIMCROSS? | |
| ← | +SIMCROSS:0 OK |
SIM卡位置为0 |
| → | AT+SIMCROSS=1 | 切换成内置贴片卡或SIM卡1 |
| ← | OK |

SIM卡自动切换开关:AT*SIMAUTO
注:本命令仅适用于合宙Air72XUX/Air72XCX系列模块。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT*SIMAUTO= |
OK |
| 查询命令 | AT*SIMAUTO? | *SIMAUTO: OK |
| 注意事项 | 本命令关机保存,但是需重启生效 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 自动切换开关状态 | 1 | 打开自动切换 | |
| 0 | 关闭自动切换 |
RNDIS/ECM功能开关:AT+RNDISCALL
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+RNDISCALL= |
OK |
| 读取命令 | AT+RNDISCALL? | +RNDISCALL: OK |
| 测试命令 | AT+RNDISCALL=? | +RNDISCALL:(0-disable;1-enable),(0-not save;1-save) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 工作模式 | 0 | 关闭RNDIS/ECM网卡 | |
| 1 | 打开RNDIS/ECM网卡 | ||
| 是否关机保存 | 0 | 不保存 | |
| 1 | 保存 |
SECURE BOOT使能开关:AT*SECUREBOOT
注:本命令仅适用于合宙4GCAT1模块(Air720U/Air724U系列)
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT*SECUREBOOT | OK |
| 读取命令 | AT*SECUREBOOT? | *SECUREBOOT: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 使能状态 | 0 | 未使能 | |
| 1 | 已使能 |
重新打开USB:AT+SYSNV=1,"ureboot",1
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+SYSNV=1,"ureboot",1 | OK |
| 查询命令 | AT+SYSNV=0,"ureboot" | +SYSNV: "ureboot",1 OK |
网络服务命令
查询信号质量:AT+CSQ
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CSQ | +CSQ: OK |
| 测试命令 | AT+CSQ=? | +CSQ:(listofsupported OK |
参数定义:
| 参数 | 定义 | 取值 | 对应的接收信号强度(dbm) |
|---|---|---|---|
| 接收信号强度指示(received signal strength indication) |
0 | 小于等于-115dBm | |
| 1 | -111dBm | ||
| 2~30 | -109~-53dBm | ||
| 31 | 大于等于-51dBm | ||
| 99 | 未知或不可测 | ||
| 信道误码率(biterrorrate,只有通话建立后,才能获知该值) | 0~7 | GSM 05.08 section 8.2.4所示的RXQUAL值 | |
| 99 | 未知或不可测 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CSQ | 查询信号强度和质量 |
| ← | +CSQ:15,99 OK |
查询结果 |
| → | ATD131****9873; | 拨打一个手机号 |
| ← | OK | |
| → | AT+CSQ | 手机未接通的时候查询信号 |
| ← | +CSQ:10,99 OK |
|
| ←(URC) | CONNECT | 手机接听 |
| → | AT+CSQ | 接通后再查询信号强度和质量 |
| ← | +CSQ:10,6 OK |
此时 |
查询信号质量(扩展):AT+CESQ
执行命令返回接收信号的各个参数。如果当前的服务小区不是一个GERAN小区,
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CESQ | +CESQ: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 0 | rssi<-110dBm | ||
| 1 | -110dBmrssi<-109dBm | ||
| 2 | -109dBmrssi<-108dBm | ||
| … | … | ||
| 61 | -50dBmrssi<-49dBm |
打开CSQ主动上报:AT*CSQ
上报的URC(CSQindicators)如下所列:+CSQ:
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT*CSQ= |
OK |
| 查询命令 | AT*CSQ? | *CSQ: OK |
| 测试命令 | AT*CSQ=? | *CSQ= (listofsupported OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 0 | 关闭主动上报 | ||
| 1 | 打开主动上报 | ||
| 请参阅AT+CSQ | |||
| 请参阅 AT+CESQ | |||
| 信号与干扰加噪声比(信噪比) |
网络注册信息:AT+CREG
设置命令打开或关闭+CREG的URC上报,URC上报内容如下:设置
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CREG=[ |
OK |
| 查询命令 | AT+CREG? | +CREG: OK +CREG: OK |
| 测试命令 | AT+CREG=? | +CREG:(listofsupported OK |
| URCreport | +CREG: |
If |
| +CREG: |
If |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| URC 上报状态 | 0 | 禁用网络注册非请求结果码(URC,Unsolicited Result Code) | |
| 1 | 启用网络注册非请求结果码+CREG: |
||
| 2 | 启用网络注册和位置信息非请求结果码 +CREG: |
||
| 当前网络注册状态 | 0 | 未注册;ME 当前没有搜索要注册业务的新运营商 | |
| 1 | 已注册,本地网 | ||
| 2 | 未注册,但 ME 正在搜索要注册业务的新运营商 | ||
| 3 | 注册被拒绝 | ||
| 4 | 未知 | ||
| 5 | 已注册,漫游 | ||
| 6 | 注册本地网,SMS-only(仅当 |
||
| 7 | 注册漫游网,SMS-only(仅当 |
||
| 8 | 仅附着紧急承载业务(不支持) | ||
| 9 | 注册归属地"CSFBnotpreferred"业务(仅当 |
||
| 10 | 注册漫游地"CSFBnotpreferred"业务(仅当 |
||
| 11 | 仅紧急业务可用 | ||
| 位置区 | - | 16进制数,字符串型 | |
| 小区id | - | 16进制数,字符串型 | |
| 接入模式 | 0 | GSM | |
| 1 | GSMCompact | ||
| 2 | UTRAN | ||
| 3 | GSMw/EGPRS | ||
| 4 | UTRANw/HSDPA | ||
| 5 | UTRANw/HSUPA | ||
| 6 | UTRANw/HSDPAandHSUPA | ||
| 7 | E-UTRAN | ||
| 8 | UTRANHSPA+(CAT1 模块) EC-GSM-IoT(CAT4模块) |
举例:
| 命令(→)/ 返回(←) |
ATSequences | 解释 |
|---|---|---|
| → | AT+CREG=? | 查询 |
| ← | +CREG:(0-2) OK |
查询结果 |
| → | AT+CREG? | |
| ← | +CREG:0,1 OK |
查询出来 |
| ←(URC) | +CREG:0 | 拔掉天线或走入没有信号的区域,此时会有URC上报,表明当前未注册网络 |
| ←(URC) | +CREG:1 | 装上天线或走入有信号的区域,此时此时会有URC上报,表明当前重新注册上了网络 |
| → | AT+CREG=2 | 设置 |
| ← | OK | |
| → | AT+CREG? | 查询网络的注册状态 |
| ← | +CREG:2,1,"1863","0183db22" OK |
查询到 |
| ←(URC) | +CREG:1,"1863","01a2c315" | 移动模块,当小区号发生改变的时候,会有个URC上报上来 |
E-UTRAN EPS 网络注册状态:AT+CEREG
设置命令打开或关闭+CEREG的URC上报,URC上报内容如下:设置
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CEREG= |
OK |
| 查询命令 | AT+CEREG? | +CEREG: OK |
| 测试命令 | AT+CEREG=? | +CEREG:(listofsupported OK |
| URC上报 | +CEREG: |
|
| +CEREG: |
||
| +CEREG: |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| URC上报状态 | 0 | 禁止上报网络注册状态URC+CEREG | |
| 1 | 允许主动上报+CEREG: |
||
| 2 | 允许主动上报+CREG: |
||
| 3 | 允许主动上报 +CEREG: |
||
| 当前网络注册状态 | 0 | 未注册;ME 当前没有搜索要注册业务的新运营商 | |
| 1 | 已注册,本地网 | ||
| 2 | 未注册,但 ME 正在搜索要注册业务的新运营商 | ||
| 3 | 注册被拒绝 | ||
| 4 | 未知(超出E-UTRAN网覆盖范围) | ||
| 5 | 注册漫游网 | ||
| 6 | 注册归属地"SMSonly"业务 | ||
| 7 | 注册漫游地"SMSonly"业务 | ||
| 8 | 仅附着紧急承载业务 | ||
| 9 | 注册归属地"CSFBnotpreferred"业务 | ||
| 10 | 注册漫游地"CSFBnotpreferred"业务 | ||
| 11 | 仅紧急业务可用 | ||
| 跟踪区号 | - | 字符串型,16进制数 | |
| 小区id | - | 字符串型,16进制数 | |
| 接入模式 | 0 | GSM | |
| 1 | GSMCompact | ||
| 2 | UTRAN | ||
| 3 | GSMw/EGPRS | ||
| 4 | UTRANw/HSDPA | ||
| 5 | UTRANw/HSUPA | ||
| 6 | UTRANw/HSDPAandHSUPA | ||
| 7 | E-UTRAN | ||
| 8 | UTRANHSPA+(CAT1 模块) EC-GSM-IoT(CAT4模块) |
||
| 整数型,定义 |
0 | 显示 3GPPTS24.301AnnexA) |
|
| 1 | 显示 |
||
| 整数型,定义注册失败原因 | 此值的类型由 |
设置网络模式:AT^SYSCONFIG
本命令设置系统模式,GSM/WCDMA接入顺序,漫游和业务域特征。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT^SYSCONFIG= , |
OK |
| 查询命令 | AT^SYSCONFIG? | ^SYSCONFIG: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 网络模式 | 2 | Automaticselection | |
| 13 | GSMONLY | ||
| 14 | WCDMAONLY | ||
| 15 | TD-SCDMAONLY | ||
| 16 | LTE+UTRAN+GSM | ||
| 网络接入顺序 | 0 | Automatic | |
| 1 | GSMfirst,thenUTRAN | ||
| 2 | UTRANfirst,thenGSM | ||
| 3 | LTEfirst,thenGSMorUTRAN | ||
| 漫游支持 | 0 | roamingdisabled | |
| 1 | roamingenabled | ||
| 2 | NoChange | ||
| 域设置 | 0 | CS_ONLY | |
| 1 | PS_ONLY | ||
| 2 | CS_PS | ||
| 3 | ANY | ||
| 4 | NoChange |
查询cid相关的上下文定义:AT+CGCONTRDP
设置命令返回
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGCONTRDP[= |
[+CGCONTRDP: [ |
| IPA_indication>]]]]]]]] […]] OK |
||
| 测试命令 | AT+CGCONTRDP=? | +CGCONTRDP:(listof OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 定义了一个特定的PDP上下文。 | 整数型 | ||
| 指定了一个承载,例如:EPS网中的 EPS承载,UMTS/GPRS中的NSAPI 承载。 |
整数型 | ||
| Access Point Name,接入点名称,用来选择GGSN或外部分组数据网 | 字符串型 | ||
| 模块本地IP地址 | 字符串型 | ||
| 子网掩码 | 字符串型 | ||
| 网关IP地址 | 字符串型 | ||
| 主DNS服务器IP地址 | 字符串型 | ||
| 辅DNS服务器IP地址 | 字符串型 | ||
| 主P-CSCF服务器IP地址 | 字符串型 | ||
| 辅P-CSCF服务器IP地址 | 字符串型 | ||
| 整数型,定义PDP上下文是否仅与IM CN子系统最大值相关 |
0 | 否 | |
| 1 | 是 | ||
| 整数型,显示PDP上下文是否与LIPA PDN相关。本参数无法设置 |
0 | 否 | |
| 1 | 是 |
举例:
| 命令(→)/ 返回(←) |
实例 |
|---|---|
| → | AT+CGCONTRDP=5 |
| ← | +CGCONTRDP: 5,5,"wonet.MNC001.MCC460.GPRS","10.192.44.242","0.0.0.0",,"112.65.184.255","210.22.84.3" OK |
| → | AT+CGCONTRDP=7 |
| ← | +CGCONTRDP:7,6,"CMNET","10.192.150.220","0.0.0.0",,"112.65.184.255","210.22.84.3" OK |
运营商查询和选择:AT+COPS
设置命令用来尝试选择和注册一个GSM/UMTS网络运营商。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+COPS= |
OK |
| 查询命令 | AT+COPS? | +COPS: OK |
| 测试命令 | AT+COPS=? | +COPS:[listofsupported( AcT>])s][,,(listofsupported OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 运营商注册模式 | 0 | 自动模式; |
|
| 1 | 手动注册运营商( |
||
| 2 | 手动退网并一直保持退网状态直到 |
||
| 3 | 仅设置 ( |
||
| 4 | 手动/自动( |
||
| 运营商的格式 | 0 | 长字符串型 |
|
| 1 | 短字符串型 |
||
| 2 | 数字式字符串型 |
||
| 与 |
- | 字符型; |
|
| 网络可用状态 | 0 | 未知 | |
| 1 | 可用网络 | ||
| 2 | 当前网络 | ||
| 3 | 禁用网络 | ||
| Access Technology,网络类型 |
0 | GSM | |
| 1 | GSMCompact | ||
| 2 | UTRAN | ||
| 3 | GSMw/EGPRS | ||
| 4 | UTRANw/HSDPA | ||
| 5 | UTRANw/HSUPA | ||
| 6 | UTRANw/HSDPAandHSUPA | ||
| 7 | E-UTRAN | ||
| 8 | UTRANHSPA+ | ||
| 域 | 0 | 仅CS | |
| 1 | 仅PS | ||
| 2 | CS/PS都有 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+COPS? | 查询网络信息 |
| ← | +COPS:0,2,"46001",7 OK |
|
| → | AT+COPS=3,1 | 设置 |
| ← | OK | |
| → | AT+COPS? | 查询网络信息 |
| ← | +COPS:0,1,"UNICOM",7 OK |
|
| → | AT+COPS=3,0 | 设置 |
| ← | OK | |
| → | AT+COPS? | 查询网络信息 |
| ← | +COPS:0,0,"CHN-UNICOM",7 OK |
自动时区更新:AT+CTZU
查询命令可以查询是否使能通过NITZ来更新模块时间的功能。该命令不支持设置,仅支持查询。缺省为使能。注: NITZ=NetworkIdentityandTimeZone,可通过运营商网络来提供本地时间。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 查询命令 | AT+CTZU? | +CTZU: OK |
| 测试命令 | AT+CTZU=? | +CTZU:(listofsupported OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 时区更新状态 | 1 | 允许 NITZ 自动更新 |
打开NITZ自动上报:AT+CTZR
使用该命令设置是否打开NITZURC自动上报。该命令不支持设置,仅支持查询。缺省为打开。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 查询命令 | AT+CTZR? | +CTZR: OK |
| 测试命令 | AT+CTZR=? | +CTZR:(listofsupported OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 报告状态 | 1 | 允许 NITZURC上报 |
使能HSDPA和 HSUPA:AT*EHSDPA
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT*EHSDPA= |
OK |
| 查询命令 | AT*EHSDPA? | *EHSDPA: , OK |
| 测试命令 | AT*EHSDPA=? | InTDSCDMAmode: EHSDPA: (0-3),(1-11,13-16,23,35),(6),(0),(0),(0),(0),(0) OK InWCDMAmode: EHSDPA: (0-2,4),(1-12),(1-6),(0,1),(1-14),(7),(0,1),(0,1) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 | |||
|---|---|---|---|---|---|---|
| 0 | disableHSDPA(alsodisableHSUPAifUEissupported)forRel5 | |||||
| 1 | enableHSDPA(alsoEnableHSUPAifUEissupported)forRel7 | |||||
| 2 | enableHSDPAonly(notincludeHSUPA)forRel5 | |||||
| 3 | enableDLDCforRel9forTDproduction | |||||
| 4 | enableHSPAonlyforRel6 | |||||
| 在TDSCDMA模式: | ||||||
| defaultvalueis14 | 1,2,3 | MaxTBsize: 2788 Maxspeed:0.5M | ||||
| 4,5,6 | MaxTBsize: 5600 Maxspeed:1.1M | |||||
| 7,8,9 | MaxTBsize: 8416 Maxspeed:1.6M | |||||
| 10,11 | MaxTBsize: 11226Maxspeed:2.2M | |||||
| 13,14 | MaxTBsize: 14043Maxspeed:2.8M | |||||
| defaultvalueis6 | 6 | MaxTBsize: 11160 Maxspeed:2.2M | ||||
| 0 | notsupported | |||||
| 在WCDMA 模式: | ||||||
| defaultvalueis6 | 1 | MaxTBsize: 7298Maxspeed:1.2M | ||||
| 2 | MaxTBsize: 7298Maxspeed:1.2M | |||||
| 3 | MaxTBsize: 7298Maxspeed:1.8M | |||||
| 4 | MaxTBsize: 7298Maxspeed:1.8M | |||||
| 5 | MaxTBsize: 7298Maxspeed:3.6M | |||||
| 6 | MaxTBsize: 7298Maxspeed:3.6M | |||||
| 0 | notsupported | |||||
| 0 | notsupported | |||||
| forWCDMARel7support 1~20 |
1~20 | default14forRel7 | ||||
| for WCDMA Rel7 only support7 |
7 | |||||
| inTDmode | 0 | notsupported,defaultvalue | ||||
| InWCDMAmode | 0 | disabled | ||||
| 1 | enabled |
GSM/UMTS/LTE 模式和频段设置:AT*BAND
用户可以用设置命令进行GSM/UMTS/LTE网络类型和频段选择。新参数设定后自动保存到NVM,重启后自动加载生效。
如果
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT*BAND=[ , srvDomain>, |
OK |
| 查询命令 | AT*BAND? | *BAND: OK |
| 测试命令 | AT*BAND=? | *BAND:(listofsupported OK |
参数定义:
| 参数 | 定义 | 取值 | 解释 |
|---|---|---|---|
| 网络类型,整数型 | 0 | GSMnetwork | |
| 1 | UMTSnetwork | ||
| 2 | Dualmode(GSMandUMTS)(自动选择) | ||
| 3 | Dualmode(GSMandUMTS)(GSM 优先) | ||
| 4 | Dualmode(GSMandUMTS)(UMTS 优先) | ||
| 5 | LTEnetwork | ||
| 6 | Dualmode(GSMandLTE)(auto) | ||
| 7 | Dualmode(GSMandLTE)(GSM 优先) | ||
| 8 | Dualmode(GSMandLTE)(LTE 优先) | ||
| 9 | Dualmode(UMTSandLTE)(自动选择) | ||
| 10 | Dualmode(UMTSandLTE)(UMTS 优先) | ||
| 11 | Dualmode(UMTSandLTE)(LTE 优先) | ||
| 12 | Tripmode(自动选择) | ||
| 13 | Tripmode(GSM 优先) | ||
| 14 | Tripmode(TD 优先) | ||
| 15 | Tripmode(LTE 优先) | ||
| GSM工作频段(bitmask),整数型 | 1 | PGSM900 | |
| 2 | DCSGSM1800 | ||
| 4 | PCSGSM1900 | ||
| 8 | EGSM900 | ||
| 16 | GSM450 | ||
| 32 | GSM480 | ||
| 64 | GSM850 | ||
| UMTS 工作频段 (bit mask) ,整数型 |
1 | UMTS_BAND_1 | |
| 2 | UMTS_BAND_2 | ||
| 4 | UMTS_BAND_3 | ||
| 8 | UMTS_BAND_4 | ||
| 16 | UMTS_BAND_5 | ||
| 32 | UMTS_BAND_6 | ||
| 64 | UMTS_BAND_7 | ||
| 128 | UMTS_BAND_8 | ||
| 256 | UMTS_BAND_9 | ||
| TDD LTE 工作频段 (bit mask),32bit整数 |
2 | TDLTE_BAND_34 | |
| 32 | TDLTE_BAND_38 | ||
| 64 | TDLTE_BAND_39 | ||
| 128 | TDLTE_BAND_40 | ||
| 256 | TDLTE_BAND_41 | ||
| FDD LTE 工作频段 (bit mask) ,32bit整数 |
1 | FDDLTE_BAND_1 | |
| 2 | FDDLTE_BAND_2 | ||
| 4 | FDDLTE_BAND_3 | ||
| 8 | FDDLTE_BAND_4 | ||
| 16 | FDDLTE_BAND_5 | ||
| 32 | FDDLTE_BAND_6 | ||
| 64 | FDDLTE_BAND_7 | ||
| ... | ... | ||
| 65536 | FDDLTE_BAND_17 | ||
| 524288 | FDDLTE_BAND_20 | ||
| 漫游设置,整数型。该参数应不起作用。一律支持漫游。 | 0 | 不支持漫游 | |
| 1 | 支持漫游 | ||
| 2 | 无变化 | ||
| 业务域设置,整数型 | 0 | CS_ONLY | |
| 1 | PS_ONLY | ||
| 2 | CS_PS | ||
| 3 | ANY | ||
| 4 | NoChange | ||
| 优先频段,整数型 | 0 | default | |
| 1 | TD-LTE | ||
| 2 | FDD-LTE |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT*BAND? | |
| ← | *BAND:15,74,129,482,133,0,2,0 OK |
480=LTEbandH =00000000 00000000 00000001 11100000 =2+32+64+128+256 =TDLTE_BAND_34&TDLTE_BAND_38&TDLTE_BAND_39& TDLTE_BAND_40&TDLTE_BAND_41 133=LTEbandL =00000000 00000000 00000000 10000101 =1+4+128 =FDDLTE_BAND_1&FDDLTE_BAND_3&FDDLTE_BAND_8 |
查询当前工作频段:AT*BANDIND
设置命令可以打开频段自动上报。查询命令返回当前的工作频段。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT*BANDIND[= |
OK |
| 查询命令 | AT*BANDIND? | *BANDIND: OK |
| 测试命令 | AT*BANDIND=? | *BANDIND:(0,1) OK |
| URC |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 | |
|---|---|---|---|---|
*BANDIND: |
0 | disable | ||
| 1 | enable | |||
| AccessTechnology,接入机制 | 0 | GSM | ||
| 1 | GSMCompact | |||
| 2 | UTRAN | |||
| 3 | GSMw/EGPRS | |||
| 4 | UTRANw/HSDPA | |||
| 5 | UTRANw/HSUPA | |||
| 6 | UTRANw/HSPA | |||
| 7 | E-UTRAN | |||
| 8 | UTRANHSPA+ | |||
| 频段 | 0 | PGSM900 | 当 |
|
| 1 | DCSGSM1800 | |||
| 2 | PCSGSM1900 | |||
| 3 | EGSM900 | |||
| 4 | GSM450 | |||
| 5 | GSM480 | |||
| 6 | GSM850 | |||
| 0 | UMTSBAND1 | 当 |
||
| 1 | UMTSBAND2 | |||
| 2 | UMTSBAND3 | |||
| 3 | UMTSBAND4 | |||
| 4 | UMTSBAND5 | |||
| 5 | UMTSBAND6 | |||
| 6 | UMTSBAND7 | |||
| 7 | UMTSBAND8 | |||
| 8 | UMTSBAND9 | |||
| 9 | UMTSBAND10 | |||
| 10 | UMTSBAND11 | |||
| 11 | UMTSBAND12 | |||
| 12 | UMTSBAND13 | |||
| 13 | UMTSBAND14 | |||
| 14 | UMTSBAND15 | |||
| 15 | UMTSBAND16 | |||
| 16 | UMTSBAND17 | |||
| 17 | UMTSBAND18 | |||
| 18 | UMTSBAND19 | |||
| 1 | LTEBAND1 | 当 |
||
| 2 | LTEBAND2 | |||
| 3 | LTEBAND3 | |||
| 4 | LTEBAND4 | |||
| 5 | LTEBAND5 | |||
| 6 | LTEBAND6 | |||
| 7 | LTEBAND7 | |||
| 8 | LTEBAND8 | |||
| 9 | LTEBAND9 | |||
| 10 | LTEBAND10 | |||
| 11 | LTEBAND11 | |||
| 12 | LTEBAND12 | |||
| 13 | LTEBAND13 | |||
| 14 | LTEBAND14 | |||
| 15 | LTEBAND15 | |||
| 16 | LTEBAND16 | |||
| 17 | LTEBAND17 | |||
| 18 | LTEBAND18 | |||
| 19 | LTEBAND19 | |||
| 20 | LTEBAND20 | |||
| 21 | LTEBAND21 | |||
| 22 | LTEBAND22 | |||
| 23 | LTEBAND23 | |||
| 24 | LTEBAND24 | |||
| 25 | LTEBAND25 | |||
| 26 | LTEBAND26 | |||
| 27 | LTEBAND27 | |||
| 28 | LTEBAND28 | |||
| 29 | LTEBAND29 | |||
| 30 | LTEBAND30 | |||
| 31 | LTEBAND31 | |||
| 32 | LTEBAND32 | |||
| 33 | LTEBAND33 | |||
| 34 | LTEBAND34 | |||
| 35 | LTEBAND35 | |||
| 36 | LTEBAND36 | |||
| 37 | LTEBAND37 | |||
| 38 | LTEBAND38 | |||
| 39 | LTEBAND39 | |||
| 40 | LTEBAND40 | |||
| 41 | LTEBAND41 |
查询接入机制(Access Technology):AT^CACAP
查询命令返回当前小区的接入机制(AccessTechnology)。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 查询命令 | AT^CACAP? | +CACAP: OK |
| 测试命令 | AT^CACAP=? | +CACAP:(0-7) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 0 | GSM | ||
| 1 | GSMCompact | ||
| 2 | UTRAN | ||
| 3 | GSMw/EGPRS | ||
| 4 | UTRANw/HSDPA | ||
| 5 | UTRANw/HSUPA | ||
| 6 | UTRANw/HSPA | ||
| 7 | E-UTRAN |
查询当前的系统信息:AT^SYSINFO
本命令查询当前的系统信息,例如:服务状态,业务域,漫游状态等。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命名 | AT^SYSINFO | ^SYSINFO: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 服务状态 | 0 | noservice | |
| 1 | restrictedservice | ||
| 2 | validservice | ||
| 3 | restrictedareaservice | ||
| 4 | powerservice | ||
| 业务域 | 0 | noservice | |
| 1 | CSonly | ||
| 2 | PSonly | ||
| 3 | CSandPS | ||
| 漫游状态 | 0 | noroaming | |
| 1 | roaming | ||
| 网络模式 | 0 | noservice | |
| 1 | reserved | ||
| 2 | reserved | ||
| 3 | GSM/GPRS | ||
| 4 | WCDMA | ||
| 5 | TD_SCDMA | ||
| 17 | LTE | ||
| SIM卡状态 | 0 | sim卡无效 | |
| 1 | sim卡有效 | ||
| 255 | SIM未插入或PIN码未解锁 | ||
| 网络子模式 | 0 | GSM | |
| 1 | GSMCompact | ||
| 2 | UTRAN | ||
| 3 | GSMw/EGPRS | ||
| 4 | UTRANw/HSDPA | ||
| 5 | UTRANw/HSUPA | ||
| 6 | UTRANw/HSDPAandHSUPA | ||
| 7 | E-UTRAN |
设置无线接入方式:AT+CTEC
注:本命令仅适用于合宙4GCAT1模块(Air720U/Air724U系列),不适用于合宙4GCAT4模块(Air720/Air720G/Air720H/Air720D/Air720S)本命令设置用户偏爱的无线接入方式(RAT)。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CTEC= |
OK |
| 查询命令 | AT+CTEC? | +CTEC: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 当前的RAT模式 | 0 | automode | |
| 2 | GSMonly | ||
| 4 | LTEonly | ||
| 想要设置的RAT模式 | 0 | automode | |
| 2 | GSMonly | ||
| 4 | LTEonly |
小区/频率锁:AT*CELL
注:本命令仅适用于合宙Air720/Air720G/Air720H/Air720D/Air720S/Air72XCX系列模块。本私有 AT用来使能Cell/Frequency锁。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT*Cell= |
OK |
| 测试命令 | AT*Cell=? | *Cell: OK |
| URC | *Cell: |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| lockmode | 0 | Cell/Frequencylockdisabled | |
| 1 | Frequencylockenabled | ||
| 2 | Celllockenabled | ||
| 网络类型 | 0 | GSM | |
| 1 | UMTS_TD | ||
| 2 | UMTS_WB | ||
| 3 | LTE | ||
| 当 |
0 | PGSM900 | |
| 1 | DCSGSM1800 | ||
| 2 | PCSGSM1900 | ||
| 3 | EGSM900(extended) | ||
| 4 | GSM450 | ||
| 5 | GSM480 | ||
| 6 | GSM850 | ||
| 7 | GSM750 | ||
| 当 时。当 |
0 | Band_1 arfcn10562-10838 | |
| 1 | Band_2 arfcn9662-9938 | ||
| 2 | Band_3 arfcn1162-1513 | ||
| 3 | Band_4 arfcn1537-1738 | ||
| 4 | Band_5 arfcn4357-4458 | ||
| 5 | Band_6 arfcn4387-4413 | ||
| 6 | Band_7 arfcn2237-2563 | ||
| 7 | Band_8 arfcn2937-3088 | ||
| 8 | Band_9 arfcn9237-9387 | ||
| 当 |
0~30 | FDDLTE | |
| 32~43 | TDDLTE | ||
| 当 |
255 | 无效值(invalid) | |
| ARFCN(Absolute radio frequency channel number),绝对无线频率信道号 |
noneed | noneedinGSM | |
| UMTS-TD0~7的arfcn | UMTS-TD0~7的arfcn | ||
| UMTS-WB0~8的arfcn | UMTS-WB0~8的arfcn | ||
| 0-599,1200-1949, 2400-2649, 2750-3449,3450-3799, |
LTE网络模式下的arfcn | ||
| 5180-5279, 5730-5849,6150-6449, 37750-38249,38250-386 49,38650-39649, 39650-41589 |
|||
| 物理小区id | noneed | noneedinGSM | |
| 0-127 | inUMTS | ||
| 0-503 | inLTE |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT*Cell=0 | |
| ← | OK | |
| → | AT*Cell=1,1,1,10700 | 设置锁频 |
| ← | OK |
读取基站定位(LBS)信息和时间:AT+CIPGSMLOC
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPGSMLOC= |
If +CIPGSMLOC: |
| 测试命令 | AT+CIPGSMLOC=? | +CIPGSMLOC:(listofsupported OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 操作类型 | 1 | 查看精度、维度和时间 | |
| 2 | 只查看时间 | ||
| as +SAPBR |
1-3 | ||
| 当前经度(以度为单位) | 经度(小数点后保留6位) | ||
| 当前纬度,以度表示 | 纬度(小数点后保留6位) | ||
| 格式为 yy/mm/dd | 例如 18/11/08 | ||
| 格式为 hh/mm/ss | 例如 15:47:26 | ||
| 0 | 成功 | ||
| 1 | 未找到数据 | ||
| 6 | 参数错误 | ||
| 7 | 未知错误 | ||
| 404 | 未找到 | ||
| 408 | 请求超时 | ||
| 601 | 网络错误 | ||
| 602 | 内存不足 | ||
| 603 | DNS错误 | ||
| 604 | 堆栈忙 | ||
| 65535 | 其它错误 |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置承载类型为GPRS |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 上下文,用于RNDIS上网使用(此 AT+CGDCONT?来查询),所以输入 AT+SAPBR=3, |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活GPRSPDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询是否激活 |
| ← | +SAPBR:1,1,010.169.179.213 OK |
返回中有IP地址表明激活成功 |
读取WIFI定位信息和时间:AT+WIFILOC
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+WIFILOC= |
If +WIFILOC: OK If +WIFILOC: OK IferrorisrelatedtoMEfunctionality: +CMEERROR: |
| 测试命令 | AT+WIFILOC=? | +WIFILOC:(listofsupported OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 操作类型 | 1 | 查看精度、维度和时间 | |
| 2 | 只查看时间 | ||
| as |
1-3 | ||
| 当前经度(以度为单位) | 经度(小数点后保留6位) | ||
| 当前纬度,以度表示 | 纬度(小数点后保留6位) | ||
| 格式为 yy/mm/dd | 例如 18/11/08 | ||
| 格式为 hh:mm:ss | 例如 15:47:26 | ||
| 0 | 成功 | ||
| 1 | 未找到数据 | ||
| 6 | 参数错误 | ||
| 7 | 未知错误 | ||
| 404 | 未找到 | ||
| 408 | 请求超时 | ||
| 601 | 网络错误 | ||
| 602 | 内存不足 | ||
| 603 | DNS错误 | ||
| 604 | 堆栈忙 | ||
| 65535 | 其它错误 |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置承载类型为GPRS |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 上下文,用于RNDIS上网使用(此 AT+CGDCONT?来查询),所以输入 AT+SAPBR=3, |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活GPRSPDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询是否激活 |
| ← | +SAPBR:1,1,010.169.179.213 OK |
返回中有IP地址表明激活成功 |
| → | AT+WIFILOC=1,1 | 查询位置和时间 |
| ← | +WIFILOC: 0,31.241045,121.472313,18/11/08,15:37:30 OK |
|
| → | AT+WIFILOC=2,1 | 只查询时间 |
| ← | +WIFILOC:0,18/11/08,15:47:26 | |
| OK | ||
| → | AT+SAPBR=0,1 | 去激活PDP上下文 |
| ← | OK |
UDP多基站定位功能:AT+CIPUDPGSMLOC
注意:>=V401881版本支持
← +CIPUDPGSMLOC:
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPUDPGSMLOC= para>[,port] |
If OK If +CIPUDPGSMLOC: OK IferrorisrelatedtoMEfunctionality: +CMEERROR: |
| 测试命令 | AT+CIPUDPGSMLOC=? | +CIPUDPGSMLOC:(0,1),(0,1,domainName,ipAddress),(port) OK |
| 读取命令 | AT+CIPUDPGSMLOC? | +CIPUDPGSMLOC: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 操作类型 | 0 | 设置 udpip/域名端口(默认为合宙 ip 121.40.251.45 端口 12411) |
|
| 1 | 查询使用基站信息和wifi信息获取定位信息 | ||
| 服务器地址或定位模式 | 服务器域名或 IP地址 |
type为0时,设置服务器域名或IP地址 | |
| 0 | type为1时,查询使用基站信息获取定位信息 | ||
| 1 | type为1时,查询使用基站信息和wifi信息获取定位信息 | ||
| 服务器端口 | 1~65535 | ||
| 当前经度(以度为单位) | 经度(小数点后保留7位) | ||
| 当前纬度,以度表示 | 纬度(小数点后保留7位) | ||
| 格式为 yy/mm/dd | 例如 2023/11/08 | ||
| 格式为 hh:mm:ss | 例如 15:47:26 | ||
| 60 | 获取定位信息异常 | ||
| 61 | 网络错误 | ||
| 62 | DNS解析错误 | ||
| 63 | 连接错误 | ||
| 64 | 服务器响应超时 | ||
| 65 | 服务器响应超时 |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置承载类型为GPRS |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 PDP上下文,用于RNDIS上网使用(此 AT+CGDCONT?来查询),所以输入 AT+SAPBR=3, |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活GPRSPDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询是否激活 |
| ← | +SAPBR:1,1,010.169.179.213 OK |
返回中有IP地址表明激活成功 |
| → | AT+CIPUDPGSMLOC=1,0 | 查询使用基站信息获取定位信息 |
:AT+WIFISCAN
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+WIFISCAN= |
+WIFISCAN: OK |
指定信道扫描 |
| 查询命令 | AT+WIFISCAN? | +WIFISCAN: OK |
阻塞方式查询所有信道 |
| 执行命令 | AT+WIFISCAN | OK +WIFISCAN: |
非阻塞方式查询所有信道,立即返回,查询完毕主动上报 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 信道 | |||
| MAC地址 | |||
| 接收信号强度指示(Received Signal Strength Indication) |
(URC)系统模式: ^MODE
显示系统模式有改变。
| URC | ||
|---|---|---|
| ^MODE: |
||
| 参数 | 取值 | 解释 |
| 17,17 | TDLTEcapabilities (4G) | |
| 5/15,8 | 3Gonly (3G) | |
| 5/15,7 | 3G,HSDPA,andHSDPAcapabilities (3G) | |
| 5/15,6 | 3GandHSUPAcapabilities (3G) | |
| 5/15,5 | 3GandHSDPAcapabilities (3G) | |
| 3,3 | GSM,GPRS,andEGPRScapabilities (2G) | |
| 3,2 | GSMandGPRScapabilities (2G) | |
| 3,1 | GSMonly (2G) | |
| 0,0 | 无服务 |
小区信息查询:AT+CCED
本命令可以查询本小区和最多6个临小区的信息。
一次性查询邻接小区(GSM模式):AT+CCED=0,2+CCED:GSMneighborcellinfo:460,00,6334,20522,31,75+CCED:GSMneighborcellinfo:460,00,6334,0,21,80+CCED:GSMneighborcellinfo:460,00,6334,20521,30,91 OK邻接小区信息周期性上报(LTE模式):AT+CCED=1,2+CCED:LTEneighborcell:460,00,38950,140541985,57,24,6334,36,351+CCED:LTEneighborcell:460,00,1300,26224401,48,24,6334,27,37+CCED:LTEneighborcell:460,00,1300,26224402,43,15,6334,22,38+CCED:LTEneighborcell:460,00,38400,26224397,42,23,6334,21,191+CCED:LTEneighborcell:460,00,40936,12793923,34,15,6334,13,191+CCED:LTEneighborcell:460,00,3590,26224415,44,9,6334,27,318+CCED:LTEneighborcell:460,00,3590,26224416,47,19,6334,30,319 OK+CCED:LTEneighborcell:460,00,38950,140541985,57,24,6334,36,351+CCED:LTEneighborcell:460,00,1300,26224401,48,24,6334,27,37+CCED:LTEneighborcell:460,00,1300,26224402,43,15,6334,22,38+CCED:LTEneighborcell:460,00,38400,26224397,42,23,6334,21,191+CCED:LTEneighborcell:460,00,40936,12793923,34,15,6334,13,191+CCED:LTEneighborcell:460,00,3590,26224415,44,9,6334,27,318+CCED:LTEneighborcell:460,00,3590,26224416,47,19,6334,30,319邻接小区信息周期性上报(GSM模式):AT+CCED=1,2+CCED:GSMneighborcellinfo:460,00,6334,20522,31,76+CCED:GSMneighborcellinfo:460,00,6334,0,21,80+CCED:GSMneighborcellinfo:460,00,6334,20521,30,94 OK+CCED:GSMneighborcellinfo:460,00,6334,20522,31,85
+CCED:GSMneighborcellinfo:460,00,6334,0,21,78+CCED:GSMneighborcellinfo:460,00,6334,20521,30,83
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CCED= |
OK |
| 测试命令 | AT+CCED=? | +CCED:(listof OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 工作模式 | 0 | 一次上报 | |
| 1 | 周期性上报 | ||
| 2 | 关闭上报 | ||
| 消息类型 | 1 | 主小区,即服务小区信息 | |
| 2 | 邻小区信息如果是LTE邻小区,则上报: MCC,MNC,frequency,cellid,rsrp,rsrq,tac,SrxLev,pcid 如果是GSM邻小区,则上报: MCC,MNC,lac,cellid,bsic,rxlev |
||
| 8 | 主小区的RSSI 指示,即Rxlev(0~31) | ||
+CCED:LTEcurrentcell:MCC,MNC,imsi,roamingFlag,bandInfo,bandwidth,dlEarfcn,cellid,rsrp,rsrq,tac,SrxLev,pcid 如果当前是GSM模式,则上报: +CCED:GSMcurrentcellinfo:MCC,MNC,lac,cellid,bsic,rxlev,RxLevSub,Arfcn 举例:一次性查询当前小区(LTE模式): AT+CCED=0,1 +CCED:LTEcurrentcell:460,00,460045926307603,0,40,n100,39148,140542123,51,29,6334,34,351 OK 一次性查询当前小区(GSM模式): AT+CCED=0,1 +CCED:GSMcurrentcellinfo:460,00,18be,5045,13,63,63,6 |
|||
| OK 当前小区信息周期性上报(LTE模式): AT+CCED=1,1 +CCED:LTEcurrentcell:460,00,460045926307603,0,40,n100,39148,140542123,61,31,6334,44,351 OK +CCED:LTEcurrentcell:460,00,460045926307603,0,40,n100,39148,140542123,61,31,6334,44,351 +CCED:LTEcurrentcell:460,00,460045926307603,0,40,n100,39148,140542123,61,31,6334,44,351 +CCED:LTEcurrentcell:460,00,460045926307603,0,40,n100,39148,140542123,61,35,6334,44,351 当前小区信息周期性上报(GSM模式): AT+CCED=1,1 +CCED:GSMcurrentcellinfo:460,00,18be,5045,13,61,61,6 OK +CCED:GSMcurrentcellinfo:460,00,18be,5045,13,63,63,6 +CCED:GSMcurrentcellinfo:460,00,18be,5045,13,63,63,6 +CCED:GSMcurrentcellinfo:460,00,18be,5045,13,63,63,6 +CCED:GSMcurrentcellinfo:460,00,18be,5045,13,63,63,6 |
|||
+CCED:LTEneighborcell:MCC,MNC,frequency,cellid,rsrp,rsrq,tac,SrxLev,pcid 如果当前是GSM模式,则上报: +CCED:GSMneighborcellinfo:MCC,MNC,lac,cellid,bsic,rxlev 举例:一次性查询邻接小区(LTE模式): AT+CCED=0,2 +CCED:LTEneighborcell:460,00,38950,140541985,57,24,6334,36,351 +CCED:LTEneighborcell:460,00,1300,26224401,48,24,6334,27,37 +CCED:LTEneighborcell:460,00,1300,26224402,43,15,6334,22,38 +CCED:LTEneighborcell:460,00,38400,26224397,42,23,6334,21,191 +CCED:LTEneighborcell:460,00,40936,12793923,34,15,6334,13,191 +CCED:LTEneighborcell:460,00,3590,26224415,44,9,6334,27,318 +CCED:LTEneighborcell:460,00,3590,26224416,47,19,6334,30,319 OK |
设置工程模式:AT+EEMOPT
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+EEMOPT= | OK |
| 查询命令 | AT+EEMOPT? | +EEMOPT: |
| 测试命令 | AT+EEMOPT=? | listofoptions OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 工作模式 | 0 | 关闭工程模式 | |
| 1 | 查询模式,可以通过AT+EEMGINFO?查询网络参数 | ||
| 2 | 打开网络参数周期性自动上报,上报周期由 +EEMLTEINTER等,请参考本文中相关的内容 |
||
| 整数值,单位为秒 |
举例:
| 命令(→) /返回(←) |
实例 |
|---|---|
| → | AT+EEMOPT=? |
| ← | AT+EEMOPT=0 :Turnoffindicator.ThisisdefaultmodeafterMEbootup AT+EEMOPT=1 :Settoquerymode.Usercanuse+EEMGINFOtoquerynetworkparameter AT+EEMOPT=2, OK |
在工程模式下查询GSM/UMTS/LTE信息:AT+EEMGINFO
AT+EEMOPT=1时,用来查询工程模式下当前GSM/UMTS/LTE网络参数。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 查询命令 | AT+EEMGINFO? | +EEMGINFO: OK +EEMLTESVC: +EEMLTEINTRA: +EEMLTEINTER: |
参数定义:
| 参数 | 定义 | 取值 | 解释 |
|---|---|---|---|
| MTstate | 0 | Idle状态 | |
| 1 | Dedicated 状态 | ||
| 2 | PSPTM 状态 | ||
| 3 | 有效状态 | ||
| networktype | 0 | GSM | |
| 1 | UMTS | ||
| 2 | LTE |
(URC)GSM工程模式下当前小区的信息:+EEMGINFOSVC
| URC | ||
|---|---|---|
| +EEMGINFOSVC: |
||
| 参数 | 解释 | 取值范围 |
| MobileCountryCode | ||
| MobileNetworkCode | ||
| LocationAreaCode | ||
| CellIdentifier | ||
| NetworkOperationMode | ||
| NetworkControlOrder | ||
| BaseStationIdentityCode | ||
| C1value | ||
| C2value | ||
| TimingAdvance | ||
| TransmitPower | ||
| ReceivelevelBCCH | ||
| ReceivelevelforfullsetofTCH | ||
| ReceivelevelforsubsetofTCH | ||
| BERinDTXmode | ||
| BERinnon-DTXmode | ||
| TrafficChannelARFCN(AbsoluteRadioFrequencyChannel) | ||
| Channelishopping | ||
| Channeltype | ||
| Servingtimeslot | ||
| Inpacketidlemode | ||
| RoutingAreaCode | ||
| AbsoluteRadioFrequencyChannel | ||
| BSPAframes | ||
| C31value | ||
| C32value | ||
| timeoutNo.3212 | ||
| timeoutNo.3312 | ||
| SupportPBCCH | ||
| SupportEDGE | ||
| NCCpermitted | ||
| Radiolinktimeout | ||
| Totalhand-overcount | ||
| Successhand-overcount | ||
| Totalchannelaccesscount | ||
| Successchannelaccesscount |
(URC)GSM工程模式下PS信息:+EEMGINFOPS
URC
+EEMGINFOPS:
| 参数 | 解释 |
|---|---|
| GPRS/EDGEattached | |
| Attachtype | |
| Servicetype | |
| Transmitpower | |
| Cvalue | |
| Uplinktimeslot | |
| Downlinktimeslot | |
| UplinkCodingScheme | |
| UplinkCodingScheme | |
| DownlinkCodingScheme | |
| Uplinkmodulation | |
| Downlinkmodulation | |
| GMSKCVBEP(BlockErrorProbability) | |
| <8psk_cv_bep> | 8PSKCVBEP |
| GMSKmeanBEP | |
| <8psk_mean_bep> | 8PSKmeanBEP |
| EDGEBEPperiod | |
| IssingleGMMrejectcause | |
| ActivatedPDPnumber | |
| MACmode | |
| Networkcontrol | |
| networkmode | |
| EDGESLQmeasurementmode | |
| EDGEstatus |
(URC)GSM工程模式下邻接小区的信息:+EEMGINFONC
| URC | |
|---|---|
| +EEMGINFONC: |
|
| 参数 | 解释 |
| Neighborcellnumber | |
| MobileCountryCode | |
| MobileNetworkCode | |
| LocationAreaCode | |
| RoutingAreaCode | |
| CellIdentifier | |
| Receivesignallevel | |
| BaseStationIdentityCode | |
| C1value | |
| C2value | |
| AbsoluteRadioFrequencyChannel | |
| C31value | |
| C32value |
(URC)工程模式下当前网络状态:+EEMGINBFTM
| URC | |
|---|---|
| +EEMGINBFTM: |
|
| 参数 | 解释 |
| EngineeringMode | |
| mcc | |
| mnc | |
| lac | |
| cellIdentifier | |
| bsic | |
| C1 | |
| C2 | |
| TimeAdvance | |
| TxPowerLevel | |
| rxSigLevel | |
| rxSigLevelFull | |
| rxSigLevelSub | |
| rxQualityFull | |
| rxQualitySub | |
| arfcnTch | |
| hoppingstatus | |
| channeltype | |
| ServerTimeslot |
(URC)UMTS工程模式下当前小区的信息:+EEMUMTSSVC
| URC | |
|---|---|
| +EEMUMTSSVC: p55>] |
|
| 参数 | 解释 |
| EngineerMode | |
| sCMeasPresent | |
| sCParamPresent | |
| ueOpStatusPresent | |
| IfsCMeasPresentisTRUE,thefollowing6itemswillbeprinted: | |
| cpichRSCP | |
| utraRssi | |
| cpichEcN0 | |
| sQual | |
| sRxLev | |
| txPower | |
| IfsCParamPresentisTRUE,thefollowing18itemswillbeprinted: | |
| rac | |
| nom | |
| mcc | |
| mnc | |
| lac | |
| ci | |
| uraId | |
| psc | |
| arfcn | |
| t3212 | |
| t3312 | |
| hcsUsed | |
| attDetAllowed | |
| csDrxCycleLen | |
| psDrxCycleLen | |
| utranDrxCycleLen | |
| HSDPASupport | |
| HSUPASupport | |
| IfueOpStatusPresentisTRUE,thefollowing27itemswillbeprinted | |
| rrcState | |
| numLinks | |
| srncId | |
| sRnti | |
| algPresent | |
| cipherAlg | |
| cipherOn | |
| algPresent | |
| cipherAlg | |
| cipherOn | |
| HSDPAActive | |
| HSUPAActive | |
| MccLastRegisteredNetwork | |
| MncLastRegisteredNetwork | |
| TMSI | |
| PTMSI | |
| IsSingleMmRejectCause | |
| IsSingleGmmRejectCause | |
| MMRejectCause | |
| GMMRejectCause | |
| mmState | |
| gmmState | |
| gprsReadyState | |
| readyTimerValueInSecs | |
| NumActivePDPContext | |
| ULThroughput | |
| DLThroughput | |
| URC | |
| +EEMUMTSSVC: 53>] |
|
| 参数 | 解释 |
| EngineerMode | |
| sCMeasPresent | |
| sCParamPresent | |
| ueOpStatusPresent | |
| IfsCMeasPresentisTRUE,thefollowing4itemswillbeprinted: | |
| pccpchRSCP | |
| utraRssi | |
| sRxLev | |
| txPower | |
| IfsCParamPresentisTRUE,thefollowing18itemswillbeprinted: | |
| rac | |
| nom | |
| mcc | |
| mnc | |
| lac | |
| ci | |
| uraId | |
| cellParameterId | |
| arfcn | |
| t3212 | |
| t3312 | |
| hcsUsed | |
| attDetAllowed | |
| csDrxCycleLen | |
| psDrxCycleLen | |
| utranDrxCycleLen | |
| HSDPASupport | |
| HSUPASupport | |
| IfueOpStatusPresentisTRUE,thefollowing27itemswillbeprinted: | |
| rrcState | |
| numLinks | |
| srncId | |
| sRnti | |
| algPresent | |
| cipherAlg | |
| cipherOn | |
| algPresent | |
| cipherAlg | |
| cipherOn | |
| HSDPAActive | |
| HSUPAActive | |
| MccLastRegisteredNetwork | |
| MncLastRegisteredNetwork | |
| TMSI | |
| PTMSI | |
| IsSingleMmRejectCause | |
| IsSingleGmmRejectCause | |
| MMRejectCause | |
| GMMRejectCause | |
| mmState | |
| gmmState | |
| gprsReadyState | |
| readyTimerValueInSecs | |
| NumActivePDPContext | |
| ULThroughput | |
| DLThroughput |
(URC)UMTS工程欧式下同频率信息:+EEMUMTSINTRA
展示UMTS工程模式下同频(intrafrequency)信息。
| URC | |
|---|---|
| +EEMUMTSINTRA: |
|
| 参数 | 解释 |
| indexofENGMODEINTRAFREQ | |
| pccpchRSCP | |
| utraRssi | |
| sRxLev | |
| mcc | |
| mnc | |
| lac | |
| ci | |
| arfcn | |
| cellParameterId |
(URC)UMTS工程模式下频间信息:+EEMUMTSINTER
显示UMTS工程模式下频间(interfrequency)信息。
| URC | |
|---|---|
| +EEMUMTSINTER: |
|
| 参数 | 解释 |
| indexofENGMODEINTERFREQ | |
| pccpchRSCP | |
| utraRssi | |
| sRxLev | |
| mcc | |
| mnc | |
| lac | |
| ci | |
| arfcn | |
| cellParameterId |
(URC)UMTS工程模式下无线接入技术间信息:+EEMUMTSINTERRAT
展示UMTS 工程模式下无线接入技术间(InterRAT)信息。
| URC | |
|---|---|
| +EEMUMTSINTERRAT: |
|
| 参数 | 解释 |
| indexofENGMODEINTERRAT | |
| gsmRssi | |
| rxLev | |
| C1 | |
| C2 | |
| mcc | |
| mnc | |
| lac | |
| ci | |
| arfcn | |
| bsic |
(URC)LTE工程模式下服务小区信息:+EEMLTESVC
ThroughPut,ulPeakThroughPut,currPuschTxPower,averUlPRB,dlBler,ulBler
| URC | |
|---|---|
| Air720系列: +EEMLTESVC: Air720S系列: +EEMLTESVC:mcc,lenofmnc,mnc,tac,phyCellId,dlEuArfcn,ulEuArfcn,band,dlBandwidth,cellId,transMode,rsrp, rsrq,sinr,mainRsrp,errcModeState,emmState,serviceState,IsSingleEmmRejectCause,EMMRejectCause,mme GroupId,mmeCode,mTmsi,cellId,subFrameAssignType,specialSubframePatterns,transMode,mainRsrp,diversit yRsrp,mainRsrq,diversityRsrq,rssi,cqi,pathLoss,tb0DlTpt,tb1DlTpt,tb0DlPeakTpt,tb1DlPeakTpt,tb0UlPeakTpt ,tb1UlPeakTpt,dlThroughPut,dlPeakThroughPut,averDlPRB,averCQITb0,averCQITb1,rankIndex,grantTotal,ul |
|
| 参数 | 解释 |
| MobileCountryCode | |
| lengthofmnc | |
| MobileNetworkCode | |
| Trackingareacode | |
| PhysicalCellIdentifier | |
| downlinkarfcn | |
| uplinkarfcn | |
| band | |
| dlBandwidth | |
| cellId | |
| transMode | |
| rsrp | |
| rsrq | |
| sinr | |
| Rsrpinmainantenna | |
| Rsrpinslaveantenna | |
| Rsrqinmainantenna | |
| Rsrqinslaveantenna | |
| rssi | |
| cqi | |
| currentPuschTxPowerindBm | |
| rankIndex | |
| ErrorModeState | |
| emmState | |
| serviceState | |
| IsSingleEmmRejectCause | |
| EMMRejectCause | |
| MmeGroupId | |
| MmeCode | |
| mTmsi |
(URC)LTE工程模式下同频信息:+EEMLTEINTRA
展示LTE工程模式下同频(intrafrequency)信息。
| URC | |
|---|---|
| +EEMLTEINTRA: |
|
| 参数 | 解释 |
| indexofENGMODEINTRAFREQ | |
| phyCellId | |
| euArfcn | |
| rsrp | |
| rsrq | |
| mcc | |
| mnc | |
| tac | |
| cellId |
(URC)LTE工程模式下频间信息:+EEMLTEINTER
展示LTE工程模式下频间(interfrequency)信息。
| URC | |
|---|---|
| +EEMLTEINTER: |
|
| 参数 | 解释 |
| indexofENGMODEINTERFREQ | |
| phyCellId | |
| euArfcn | |
| rsrp | |
| rsrq | |
| mcc | |
| mnc | |
| tac | |
| cellId |
(URC)LTE工程模式下无线接入技术间信息:+EEMLTEINTERRAT
展示LTE工程模式下无线接入技术间(InterRAT)信息。
+EEMLTEINTERRAT:
| URC | |
|---|---|
| UMTS: +EEMLTEINTERRAT: GSM: |
|
| 参数 | 解释 |
| networktype(0:GSM,1:UMTS) | |
| numberofINTERRAT | |
| mcc | |
| mnc | |
| lac | |
| ci | |
| arfcn(GSM)/uarfcn(UMTS) | |
| bsic(GSM)/psc_cellParameterId(UMTS) | |
| rssi(GSM)/rscp(UMTS) | |
| cpichEcN0(UMTS) |
(URC)事件控制指示:+CIEV
注:本URC仅适用于合宙4GCAT1模块(Air720U/Air724U系列),不适用于合宙4GCAT4模块(Air720/Air720G/Air720H/Air720D/Air720S)。指示电池,通话,网络和短信的事件进展。
| URC | 释义 |
|---|---|
| +CIEV:"SOUNDER",1 | audioon |
| +CIEV:"SOUNDER",0 | audiooff |
| +CIEV:"CALL",1 | callon |
| +CIEV:"CALL",0 | calloff |
| +CIEV:service,1 | 注册网络功能 |
| +CIEV:service,0 | 注册网络失败 |
| +CIEV:roam,1 | 处于漫游状态 |
| +CIEV:roam,0 | 不在漫游状态 |
| +CIEV:"MESSAGE",1 | 收到一个短信 |
| +CIEV:"MMS",1 | 收到一个彩信 |
| +CIEV:"SMSFULL",1 | 短信存储满,没有新短信在等待 |
| +CIEV:"SMSFULL",2 | 短信存储满,有新短信在等待 |
(URC)网络服务类型指示
注:本URC仅适用于合宙4GCAT1模块(Air720U/Air724U系列),不适用于合宙4GCAT4模块(Air720/Air720G/Air720H/Air720D/Air720S)。
注:本章内容仅适用于合宙4GCAT1模块(Air720U/Air724U系列),不适用于合宙4GCAT4模块(Air720/Air720G/Air720H/Air720D/Air720S)。
| URC | 释义 |
|---|---|
| +E_UTRANService | 表示进入4GLTE网络服务 |
| +GSMService | 提示进入2GGSM网络服务 |
通话控制和音频相关命令
打开VOLTE功能:AT+SETVOLTE
对于只支持4G的CAT1模块(Air720UG、Air724UG)而言,需要用本命令打开VOLTE功能才能进行语音通话。而Air720UH模块支持4G和2G,而2G支持语音通话,所以不需要打开VOLTE就可以进行语音通话。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置行命令 | AT+SETVOLTE= |
OK |
| 查询命令 | AT+SETVOLTE? | +SETVOLTE: OK |
| 测试命令 | AT+SETVOLTE=? | +SETVOLTE:0,1 OK |
参数定义:
| 参数 | 定义 | 取值 | 解释 |
|---|---|---|---|
| VOLTE功能开关 | 0 | 关闭VOLTE功能 | |
| 1 | 开启VOLTE功能,缺省值 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+SETVOLTE? | |
| ← | +SETVOLTE:0 OK |
|
| → | AT+SETVOLTE=1 | 打开VOLTE功能 |
| ← | OK |
发起呼叫:ATD
执行命令,用于发出语音呼叫,呼叫号码长度不超过20位。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | ATD |
命令成功,则返回: OK |
| 如果成功建立连接,则返回: CONNECT 如果没检测到拨号音dial tone(并且当ATX2 or ATX4时): NO DIALTONE If busy(并且当ATX3 or ATX4): BUSY 通话被挂断或建立失败: NO CARRIER 如果被叫无应答: NO ANSWER |
||
| ATD |
数据呼叫成功,则返回: CONNECT |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 呼叫号码 | 由以下字符组成:0-9, * , #, +, A, B, C 注:拨112可以建立紧急呼叫,不需要SIM卡。 |
举例:
| 命令(→)/返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | AT+SETVOLTE=1 | 打开VOLTE功能 |
| ← | OK | 注:对于只支持4G的CAT1模块(Air720UG、Air724UG)而言,需要用AT+SETVOLTE=1命令打开VOLTE功能才能进行语音通话。而Air720UH模块支持4G和2G,所以不需要打开VOLTE就可以进行语音通话 |
| → | ATD131623***98; | 语音呼叫号码13162398(是为了保护隐私,将实际数字隐去,实际操作时要如实输入号码) |
| ← | OK CONNECT |
对方接听电话 |
| → | AT+CHUP | 模块主动挂断通话 |
| ← | OK | 返回OK |
接听来电:ATA
有只有一个来电(RING)时,输入该命令接听来电。当有更多的来电时,请使用AT+CHLD命令接听新的来电。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | ATA | OK |
举例:
| 命令(→)/返回(←) | 实例 | 解释和说明 |
|---|---|---|
| ←(URC) | RING | 有RING上报,表示有来电。注:RING 是一个URC命令(Unsolicited Result Code ) |
| → | ATA | 模块接听来电 |
| ← | OK | 返回OK,说明接听来电成功 |
挂断通话:ATH
通话过程中,输入执行命令会挂断所有电话,包括当前通话(active )、等待通话(waiting)和挂起通话(holding)。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | ATH | OK |
举例:
| 命令(→)/返回(←) | 实例 | 解释和说明 |
|---|---|---|
| ←(URC) | RING | 有RING上报,表示有来电。 |
| → | ATA | 模块接听来电 |
| ← | OK | 建立通话 |
| → | ATH | 挂断通话 |
| ← | OK | OK |
挂断通话:AT+CHUP
通话过程中,输入执行命令会挂断所有电话,包括当前通话(active )、等待通话(waiting)和挂起通话(holding)。作用与ATH相同。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | AT+CHUP | OK |
列出所有当前的呼叫:AT+CLCC
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CLCC | [+CLCC: |
| 测试命令 | AT+CLCC=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 呼叫识别id | - | 整数型;请参考3GPP TS22.030中第 4.5.5.1 节中描述,此参数可在+CHLD命令中被使用 | |
| 呼叫方向 | 0 | 移动发起的呼叫(MO 呼叫) | |
| 1 | 移动终止的呼叫(MT 呼叫) | ||
| 呼叫状态 | 0 | active | |
| 1 | held | ||
| 2 | dialing(MO 呼叫) | ||
| 3 | alerting(MO 呼叫) | ||
| 4 | incoming(MT 呼叫) | ||
| 5 | waiting(MT 呼叫) | ||
| 7 | released(by network) | ||
| 承载/电信业务 | 0 | 语音 | |
| 1 | 数据 | ||
| 2 | 传真 | ||
| 该呼叫是否属于多方呼叫 | 0 | 不属于 | |
| 1 | 属于 | ||
| 对方号码 | - | 字符串类型,需加双引号。电话号码格式符合 |
|
| 呼叫号码类型,具体请参考3GPP TS 24008 10.5.4.7 部分 |
129 | 未知类型 | |
| 145 | 国际号码 | ||
| 161 | 国内号码 | ||
| 177 | 特殊的网络号码 | ||
| - | 字符型 |
举例:
| 命令(→)/返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | ATD10086; | 语音呼叫号码10086 |
| ← | OK | |
| → | AT+CLCC | 对方接听电话前查询下通话情况 |
| ← | +CLCC: 1,0,2,0,0,"10086",129,"" OK |
|
| ← | CONNECT | 对方接听 |
| → | AT+CLCC | 此时再查询下通话状态 |
| ← | +CLCC: 1,0,0,0,0,"10086",129,"" OK |
|
| → | AT+CHUP | 挂电话 |
| ← | OK |
设置主叫号码显示:AT+CLIP
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CLIP= |
OK |
| 查询命令 | AT+CLIP? | +CLIP: OK |
| 测试命令 | AT+CLIP=? | +CLIP:( OK |
| URC上报 | +CLIP: [, |
当AT+CLIP=1的时候,此URC主动上报会被打开,此时,如果有来电的时候,就会上报此URC |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| URC上报是否开启 | 0 | 禁用 | |
| 1 | 启用 | ||
| 显示用户CLIP业务在网络中的状态 | 0 | 未提供 CLIP业务 | |
| 1 | 提供 CLIP业务 | ||
| 2 | 未知(如:无网络等) | ||
| 电话号码,类型由 |
|||
| 电话号码类型 | 129 | ISDN/电话编号方式设计,国家的/国际的未知 | |
| 145 | ISDN/电话编号方式设计,国际号码 | ||
| 161 | ISDN/电话编号方式设计,国家的号码 | ||
| 128~255 | 其他值查阅 GSM 04.08 章节 10.5.4.7 | ||
| 子地址,字符串类型 | |||
| 字地址类型 | 由GSM 04.08 章节 10.5.4.8定义 | ||
| 电话本上定义的电话号码名字 | 编码方式由+CSCS定义 | ||
| 主叫号码显示(CLI:Calling Line Indication)可用性 |
0 | 有效 | |
| 1 | 主叫方禁用 CLI | ||
| 2 | 由于网间互通问题或始发网络的限制,CLI不可用 | ||
| 3 | 由于主叫方是付费电话,CLI不可用 | ||
| 4 | 由于其他原因,CLI不可用 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CLIP? | 查询当前来电显示状态 |
| ← | +CLIP: 0,1 OK |
|
| ←(URC) | RING | 此时有来电也不会显示主叫号码 |
| → | AT+CHUP | |
| ← | OK | |
| → | AT+CLIP=1 | 设置来电显示的URC上报为开 |
| ← | OK | |
| → | AT+CLIP? | |
| ← | +CLIP: 1,1 OK |
|
| ←(URC) | RING +CLIP: "1360**8",128,,,"TEST",0 |
此时有来电,会通过+CLIP这个URC来显示主叫号码 |
呼叫保持和多方通话:AT+CHLD
使用该指令,可以控制TA的附加业务:呼叫保持和多方通话。呼叫能被保持,恢复,释放和加入多方通话。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CHLD= |
OK |
| 测试命令 | AT+CHLD=? | +CHLD: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 整数型 | 0 | 释放所有已保持的呼叫或者为等待中的呼叫设置用户决定用户忙(UDUB)条件 | |
| 1 | 如果存在当前呼叫,释放所有当前呼叫并接听另外一个已保持或等待中的呼叫 | ||
| 1X | 释放当前某一特定的呼叫X | ||
| 2 | 如果存在当前呼叫,保持所有当前呼叫并接听另外一个已保持或等待中的呼叫 | ||
| 2X | 保持除呼叫 X 外的所有当前呼叫 | ||
| 3 | 将一个被保持(held)的通话加入到活跃(active)通话中(建立多方通话) |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CCWA=1,1 | |
| ← | OK | |
| → | ATD137**98; | 呼叫137**98 |
| ← | OK | |
| ←(URC) | CONNECT | 对方接听,通话建立,双方通话中 |
| ←(URC) | +CCWA: "13601*97",129,1 | 有又一个电话进来,此时会有如此URC上报 |
| → | AT+CHLD=2 | HOLD第一路(+CLCC中id=1),接通第二路 (+CLCC中id=2) |
| ← | OK | |
| → | AT+CLCC | 查询下当前所有当前通话 |
| ← | +CLCC: 1,0,1,0,0,"137**98",129 +CLCC: 2,1,0,0,0,"13601***97",128,"TEST" OK |
第一路第三个参数即 |
| → | AT+CHLD=21 | 切回到第一路 |
| ← | OK | |
| → | AT+CHLD=3 | 建立三方通话(前提为:SIM卡已经开通此功能) |
| ← | OK | |
| → | AT+CHLD=11 | 释放第一路 |
| ← | OK |
产生DTMF音:AT+VTS
DTMF(Double Tone Multiple Frequency,双音多频),用来在电话建立以后拨打分机号码或自动语音服务。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+VTS= AT+VTS= |
OK |
| 测试命令 | AT+VTS=? | +VTS:( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 单个DTMF | 单个 ASCII 字符,不需要双引号""。范围如下 0-9,#,*,A,B,C,D。DTMF 持续时间定义如下:如果AT+VTS= |
||
| 持续时间 | 1~10 | tone 的持续时间,以1/10 秒为单位 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+VTS=? | |
| ← | +VTS: (0-9,*,#,A,B,C,D),(1-10) OK |
|
| 以下的例子是拨打总机接通后,再用DTMF拨打分机109: |
DTMF TONE周期:AT+VTD
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+VTD= |
OK |
| 查询命令 | AT+VTD? | +VTD: OK |
| 测试命令 | AT+VTD=? | + VTD: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| Tone的长度 | 1~10 | 以1/10 秒为单位的tone 持续时间 |
TTS(Text To Speech)功能:AT+CTTS
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CTTS= |
OK |
| 查询命令 | AT+CTTS? | +CTTS: OK |
| 测试命令 | AT+CTTS=? | OK |
| URC | 当TTS播放完毕,会有以下URC上报: +CTTS:0 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| TTS工作模式 | 0 | 停止播放TTS | |
| 1 | 播放TTS, |
||
| 2 | 播放TTS, |
||
| TTS文本 | 中文和数字,最大长度2047字节 | ||
| TTS工作状态 | 0 | TTS非播放状态 | |
| 1 | TTS播放状态 |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CTTS=2,"123,欢迎你的到来" | 播放数字和中文。注:目前暂时无法播放英文, |
| ← | OK | |
| ←(URC) | +CTTS:0 | 播放完毕,会有这个URC上报 |
| → | AT+CTTS=0 | 也可以在播放过程中用这个命令终止播放 |
| ← | OK |
设置TTS播放模式:AT+CTTSPARAM
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CTTSPARAM= , |
OK |
| 查询命令 | AT+CTTSPARAM? | +CTTSPARAM: OK |
| 测试命令 | AT+CTTSPARAM=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| TTS播放音量 | 0-100 | 缺省值为50 | |
| TTS播放模式, range:0-3 |
0 | 自动读数字,先根据数字规则读数字 | |
| 1 | 自动读取数字,首先根据电报规则读取数字 | ||
| 2 | 根据电报规则读取数字 | ||
| 3 | 根据数字规则读取数字 | ||
| TTS播放音高 | 1-100 | 缺省值为50 | |
| TTS播放速度 | 1-100 | 缺省值为50 | |
| TTS播放通道 | 0 | 主通道 | |
| 1 | 辅通道 |
音频录制:AT+CAUDREC
本命令可以进行本地microphone录音,以及语音通话(voicecall)录音。能够进行本地mic录音的条件是:当前不存在其他音频应用,例如audio play以及voice call。在语音通话进行时本命令仅能实现voice call录音。如果没有指定录音时间
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CAUDREC= |
OK |
| 查询命令 | AT+CAUDREC? | +CAUDREC: OK |
| 测试命令 | AT+CAUDREC=? | +CAUDREC: (list of supported supported OK |
| URC上报 | 1) AT+CAUDREC开始录音,带time参数的时候,模块自己录音结束后上报+CAUDREC: 1, 2) AT+CAUDREC开始录音,不管带不带time参数,如果手动AT+CAUDREC=2结束录音,则上报 +CAUDREC: 2, |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 录音操作 | 1 | 开始录音 | |
| 2 | 停止录音 | ||
| 录音文件名 | 字符串,需用双引号括住。大小写敏感。只支持WAV或AMR后缀格式,大小写皆可。即必须以.wav .WAV .amr .AMR为后缀,例如: voice.wav song.AMR |
||
| 录音文件类型 | 1 | 麦克风录音 | |
| 2 | 通话录音 | ||
| 录音文件质量 | 0 | 低质量 | |
| 1 | 中质量 | ||
| 2 | 高质量 | ||
| 3 | 最后质量 | ||
| 录音时间,单位:100ms | 缺省值为0 当 |
||
| 录音状态 | 0 | 未录音状态 | |
| 1 | 录音状态 | ||
| 录音持续时间 | 单位:毫秒 |
语音文件播放:AT+CAUDPLAY
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CAUDPLAY= |
OK |
| 查询命令 | AT+CAUDPLAY? | +CAUDPLAY: OK |
| 测试命令 | AT+CAUDPLAY=? | +CAUDPLAY: ( OK |
| URC上报 | 1)AT+CAUDPLAY=1, 2) AT+CAUDPLAY=2结束播放,提示+CAUDPLAY:2, 3) AT+CAUDPLAY=3暂停播放,提示+CAUDPLAY:3, 4) AT+CAUDPLAY=4恢复播放,模块自己结束播放后提示+CAUDPLAY:4, |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 使用模式 | 1 | 开始播放(start) | |
| 2 | 停止播放(stop) | ||
| 3 | 暂停播放(pause) | ||
| 4 | 恢复播放(resume) | ||
| 音频文件名字 | AMR,WAV,MP3格式。需要加后缀,支持8K采样音频数据 | ||
| 播放持续时间 | 单位:毫秒 | ||
| 播放模式 | 1 | local audio path (缺省值:1) | |
| 2 | voice call path | ||
| 注意: |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+FSCREATE="111.mp3" | 创建音频文件 |
| ← | OK | |
| → | AT+FSWRITE="111.mp3",0,6314,20 | 输入音频文件。这里长度6314只是举例,请以实际为准 |
| ← | > | 这里输入音频文件内容(二进制,即16进制) |
| ← | OK | |
| → | AT+CAUDPLAY=1,"111.mp3" | 播放音频文件注:音频文件名字需要加后缀 |
| ← | OK | |
| → | AT+CAUDPLAY=3 | 暂停播放 |
| ← | OK | |
| → | AT+CAUDPLAY=4 | 恢复播放 |
| ← | OK | |
| → | AT+CAUDPLAY=2 | 终止播放 |
| ← | OK | |
| 通话中给对端播放语音文件: | ||
| → | AT+FSCREATE="111.mp3" | 创建音频文件 |
| ← | OK | |
| → | AT+FSWRITE="111.mp3",0,6314,20 | 输入音频文件。这里长度6314只是举例,请以实际为准 |
| ← | > | 这里输入音频文件内容(二进制,即16进制) |
| ← | OK | |
| → | AT+SETVOLTE=1 | 打开VOLTE功能 |
| ← | OK | 注:对于只支持4G的CAT1模块(Air720UG、Air724UG)而言,需要用AT+SETVOLTE=1命令打开VOLTE功能才能进行语音通话。而Air720UH模块支持4G和2G,所以不需要打开VOLTE就可以进行语音通话 |
| → | ATD131623***98; | 语音呼叫号码13162398(是为了保护隐私,将实际数字隐去,实际操作时要如实输入号码) |
| ← | OK CONNECT |
对方接听电话 |
| → | AT+CAUDPLAY=1,"111.mp3",2 | 播放音频文件注:音频文件名字需要加后缀 |
| ← | OK | 通话对端听到播放111.mp3语音文件 |
| → | AT+CHUP | 模块主动挂断通话 |
| ← | OK | 返回OK |
语音通道切换:AT+AUDCH
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+AUDCH= |
OK |
| 查询命令 | AT+AUDCH? | +AUDCH: OK |
| 测试命令 | AT+AUDCH=? | +AUDCH: (range of OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 音频输出通道 | 0 | 通道0,听筒(receiver) | |
| 1 | 通道1,耳机(headphone) | ||
| 2 | 通道2,喇叭(speaker) | ||
| 音频输入通道 | 0 | mainmic | |
| 1 | auxiliarymic | ||
| 3 | headphonemicleft | ||
| 4 | headphonemicright | ||
| 注意: 通道;开发板上的耳机孔需要使用四段国标耳机 |
通话音量控制:AT+CLVL
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CLVL= |
OK |
| 查询命令 | AT+CLVL? | +CLVL: OK |
| 测试命令 | AT+CLVL=? | +CLVL: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 音频通道 | 0~100 | 0声音最小,100声音最大。缺省值为60 |
本地音频播放音量控制:AT+CRSL
本命令影响设备本地音频播放的音量,包括CTTS和CAUDPLAY。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CRSL= |
OK |
| 查询命令 | AT+CRSL? | +CRSL: OK |
| 测试命令 | AT+CRSL=? | +CRSL: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 音频通道 | 0~100 | 0声音最小,100声音最大。缺省值为60 |
音频功放类型设置指令:AT+SPKPA
本命令设置音频功放类型。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+SPKPA= |
OK |
| 查询命令 | AT+SPKPA? | +SPKPA: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 音频功放类型 | 0 | CLASSAB | |
| 1 | CLASSD, 默认值 | ||
| 2 | CLASSK |
音频MIC增益设置指令:AT+CACCP
本命令设置音频MIC增益注意:语音业务的音频参数必须在通话过程中设置
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CACCP= |
OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 设备应用模式 | 0 | Voice Call NB | |
| 2 | Music Record | ||
| 5 | Voice Call WB | ||
| 通道 | 0 | HandSet | |
| 1 | HandFree | ||
| 2 | Headset4P | ||
| 3 | Headset3P | ||
| 增益类型 | 0 | Ingain | |
| 6 | Recordgain | ||
| 增益值 | 由算法增益和模拟增益构成:算法增益等级0-7,模拟增益0-15,小端编码。例如:设置算法增益为7,模拟增益为14,则gainHex为"07000E00" |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| 通话中设置MIC增益: | ||
| → | AT+SETVOLTE=1 | 打开VOLTE功能 |
| ← | OK | VOLTE通话为Voice Call WB通话 |
| → | ATD131623***98; | 语音呼叫号码13162398(是为了保护隐私,将实际数字隐去,实际操作时要如实输入号码) |
| ← | OK CONNECT |
对方接听电话 |
| → | AT+CACCP=5,1,0,"07000f00" | 设置通话模式MIC增益,算法增益等级为7,模拟增益为15 |
| ← | +CACCP: OK |
返回OK,设置成功 |
| → | AT+CHUP | 模块主动挂断通话 |
| ← | OK | 返回OK |
| 录音时设置MIC增益: | ||
| → | AT+CACCP=2,1,6,"07000f00" | 设置录音模式MIC增益,算法增益等级为7,模拟增益为15 |
| ← | +CACCP: OK |
返回OK,设置成功 |
| → | AT+CAUDREC=1,1.amr,1,2,50 | 调用录音指令进行录音 |
| ← | OK | 返回OK |
| ←(URC) | +CAUDREC: 1,5000 | 上报录音状态 |
IMS注册状态指令:AT+CIREG
注:本命令内容仅适用于合宙 4G CAT1 模块(Air720U/Air724U 系列),不适用于合宙 4G CAT4 模块(Air720/Air720G/Air720H/Air720D/Air720S)。
当IMS注册状态为"未注册"时,此参数不存在。1:根据MMTEL进行rtp语音传输,参见3GPP TS
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置行命令 | AT+CIREG= |
OK |
| 查询命令 | AT+CIREG? | +CIREG: OK |
| 测试命令 | AT+CIREG=? | +CIREG:(0-2) OK |
参数定义:
| 参数 | 定义 | 取值 | 解释 |
|---|---|---|---|
| IMS注册信息上报状态 | 0 | 禁用上报 | |
| 1 | 启用上报(包含参数reg_info) | ||
| 2 | 启用上报(包含参数reg_info和ext_info) | ||
| IMS注册状态 | 0 | 未注册 | |
| 1 | 已注册 |
短消息命令
PDU短信编码格式介绍
图表 1 :MO 短信 PDU格式
图表 2 :MT 短信 PDU格式
| 参数 | 定义 | 解释和说明 |
|---|---|---|
| MO | Mobile Originated | 模块发送的 |
| MT | Mobile Terminated | 模块接收的 |
| SCA Length | 短信中心地址的长度 | |
| TON | Type of Number | 号码类型: 000:未知 001:国际 010:国内 111:留作扩展 |
| NPI | Numbering Plan Identifier | 号码鉴别: 0000:未知 0001:ISDN/电话号码 1111:留作扩展 |
| SCA | Short Message Center Address | 短信中心地址 |
| MTI | Message Type Identifier | 信息类型: Bit Explanation 11 Reserved 10 SMS-STATUS REPORT (SC => MS) 01 SMS-SUBMIT (MS => SC) 00 SMS-DELIVER (SC => MS) |
| RD | Reject Duplicate | 拒绝重复短信 |
| VPF | Validity Period Format | 有效期格式 |
| SRR | Status Report Request | 状态报告请求,在MO短信中设定 |
| SRI | Status Report Indication | 状态报告指示,在MT短信中指示该MT短信是否为状态报告 |
| UDHI | User Data Header Indicator | 用户数据头指示 |
| RP | Reply Path | 回复路径 |
图表1:MO 短信 PDU格式

图表2:MT 短信 PDU格式

选择短消息服务:AT+CSMS
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CSMS= |
+CSMS: OK |
| 查询命令 | AT+CSMS? | +CSMS: OK |
| 测试命令 | AT+CSMS=? | +CSMS:( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 短消息服务级别 | 0 | GSM03.40和03.41(SMS的AT指令语法与GSM07.05 Phase 2中的 4.7.0版本兼容;支持不需要新指令语法的Phase2+特性(比如:使用 Phase 2+新编码方案的消息路由)) |
|
| 1 | GSM03.40 和 03.41(SMS 的 AT 指令语法与 GSM07.05 Phase 2+版本兼容) |
||
| 128 | pdu模式操作向前兼容于与phase2不一致的版本。此时会认为短信 pdu里不包含短信中心号(暂不支持) |
||
| SMS-MO(发短信) | 0 | 不支持 | |
| 1 | 支持 | ||
| SMS-MT(收短信) | 0 | 不支持 | |
| 1 | 支持 | ||
| 小区广播消息 | 0 | 不支持 | |
| 1 | 支持 |
短消息优先存储区选择:AT+CPMS
本命令可设置用于读取、存储等操作的存储器,包括
!
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CPMS= |
+CPMS: |
OK |
||
| 查询命令 | AT+CPMS? | +CPMS: OK |
| 测试命令 | AT+CPMS=? | +CPMS:( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 读取和删除消息时使用的存储器,涉及以下3个AT指令:AT+CMGL AT+CMGR AT+CMGD |
"SM" | SM即SIM 卡 | |
| "ME" | ME为模块 | ||
| 写、存储和发送消息时使用的存储器,涉及以下2个AT指令:AT+CMSS 和 AT+CMGW |
"SM" | SM即SIM 卡 | |
| "ME" | ME为模块 | ||
| 若没有建立到 TE的路由,则将接收的消息存储在该存储器 | "SM" | SM即SIM 卡 | |
| "ME" | ME为模块 | ||
| - | 整数型 | ||
| - | 整数型 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CPMS=? | |
| ← | +CPMS: ("SM","ME"),("SM","ME"),("SM","ME") OK |
|
| → | AT+CPMS? | 查询当前优选存储区类型 |
| ← | +CPMS: "SM",8,50,"SM",8,50,"SM",8,50 OK |
注:目前仅支持"SM"存储类型。请使用: AT+CPMS="SM","SM","SM" 设置短信存储类型。 |
短消息中心地址:AT+CSCA
该指令适用于PDU格式和TEXT格式,使用设置指令,可更新级SMSC(Short Message Service Center)地址。通过该地址,可以发送移动终端SMS,TEXT模式下,发送命令和写命令都可使用该项设置;PDU模式下,发送和设置指令也可使用该项设置,但条件是PDU编码后的SMSC地址长度等于0。这里必须说明的是虽然用户可以自行设置短消息的服务中心地址,但不能随心所欲,否则短消息发送不出去,因此在发送短消息之前首先必须搞清楚SIM卡所属的短消息服务中心地址。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CSCA= |
OK |
| 查询命令 | AT+CSCA? | +CSCA: OK |
| 测试命令 | AT+CSCA=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 短信中心地址(Short Message Center Address) |
- | 字符型;BCD数字(或GSM缺省字母字符)需要转换为字符;格式由 |
|
| 短信中心地址格式(Type of sca) | - | 8 位整数型(缺省值请参考 129 ISDN/电话编号方式设计,国家的/国际的未知。 145 ISDN/电话编号方式设计,国际号码。 161 ISDN/电话编号方式设计,国家的号码。 128~255 其他值查阅 GSM 04.08 章节 10.5.4.7 |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CSCA="+8613010314500",145 | 对一个联通的SIM卡设置短信中心号码 |
| ← | OK | |
| → | AT+CSCA? | 查询下短信中心号码的设置 |
| ← | +CSCA: "+8613010314500",145 OK |
已经设置成功 |
短消息格式:AT+CMGF
设置指令用于指定短消息的输入和发送的格式,即告诉TA输入输出的消息格式是PDU格式还是TEXT格式。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CMGF=[ |
OK |
| 查询命令 | AT+CMGF? | +CMGF: OK |
| 测试命令 | AT+CMGF=? | +CMGF: ( |
| OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 显示消息发送、列表、读和写指令以及接收到消息时的主动汇报使用的格式 | 0 | PDU模式,默认值 | |
| 1 | TEXT模式 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CMGF? | 查询当前模式 |
| ← | +CMGF: 0 OK |
当前模式是PDU模式 |
设置短信TEXT模式参数:AT+CSMP
文本模式下(即AT+CMGF=1),当向网络侧发送短消息或将短消息存放在存储器中时,使用该设置命令可选择需要的附加参数取值。除此之外,设置命令还可用于设置从SMSC 接收到该短消息时算起的有效期(
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CSMP=[ |
OK |
| 查询命令 | AT+CSMP? | +CSMP: OK |
| 测试命令 | AT+CSMP=? | +CSMP: ( 取值列表), ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 | ||||
|---|---|---|---|---|---|---|---|
| 短信首字节(First Octet) |
17,21 ,33,3 7,49, 53 |
对 b7 b6 b5 b4 b3 b2 b1 b0 RP UDHI SRR VPF RD MTI - - MTI:消息类型 b1=0&b0=0 表示SMS-DELIVER b1=0&b0=1 表示SMS-SUBMIT 其他消息类型请参考GSM03.40 VPF:定义短信有效时间的格式 b4=1&b3=0:Relative format,此时 b4=1&b3=1:Absolute format,此时 SRR:Status Report Request,设置是否需要短信状态报告 |
|||||
| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
| RP | UDHI | SRR | VPF | RD | MTI | ||
| UDHI:User Data Header Indicator,指示User Data单元是否有一个 header RP:Reply Path,回复路径 RD:Reject Duplicate,拒绝重复短信 |
|||||||
| 短信有效期(Valid Period) |
取值由 0-143(00 to 8F) ( vp + 1) x5分钟 144-167(90 to A7) 12小时 + ( (vp – 143 )×30分钟 168-196(A8 to C4) ( vp – 166 ) x 1 天 197-255(C5 to FF) ( vp – 192 ) x 1 星期如果VPF=11(Binary),则 |
||||||
| TP-协议-标识 | 0 | 整数型,具体请参考GSM03.40 | |||||
| 短信内容编码方案 | 整数型,具体请参考GSM03.38。一般情况下: 0- 7bit GSM Default 4- 8bit Data 8- UCS2 |
||||||
| 有效时间 | |||||||
| 0-143(00 to 8F) | ( vp + 1) x5分钟 | ||||||
| 144-167(90 to A7) | 12小时 + ( (vp – 143 )×30分钟 | ||||||
| 168-196(A8 to C4) | ( vp – 166 ) x 1 天 | ||||||
| 197-255(C5 to FF) | ( vp – 192 ) x 1 星期 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CSMP=17,11,0,0 | 设置TEXT模式短信发送的各参数: VPF=10(binary)= Relative format |
| ← | OK |
控制TEXT模式下短信头信息显示:AT+CSDH
设置命令可控制是否在文本模式下的结果码中显示详细的头信息.
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CSDH=[ |
OK |
| 查询命令 | AT+CSDH? | +CSDH: OK |
| 测试命令 | AT+CSDH=? | +CSDH: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 是否显示头信息 | 0 | 对于SMS-DELIVER 和 SMS-SUBMIT短信,不在+CMT,+CMGL,+CMGR 结果码中显示+CSCA和+CSMP指令设置的参数( +CMGR 指令结果码中的 SMS-COMMAND,不显示 |
|
| 1 | 在结果码中显示这些取值 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CSDH? | 查询是否显示头信息 |
| ← | +CSDH: 0 OK |
查询结果为:不显示相关头信息 |
| → | AT+CMGR=8 | 查询位置为8的短信,内容为"good!" |
| ← | +CMGR: "REC READ","+86131**56",,"12/08/08,10:43:04+32" Good! OK |
查询结果不显示 |
| → | AT+CNMI=2,2,0,0,0 | 设置短信自动内容直接上报给TE,不缓存(将+CNMI的第二个参数 即可) |
| ← | OK | |
| ←(URC) | +CMT:"+86131**56",,"12/08/08,11:09:23+32" Report |
发送一个内容为Report的短信给模块,上报内容不显示 |
| → | AT+CSDH=1 | 设置 |
| ← | OK | |
| → | AT+CMGR=8 | 仍旧查询位置8的短信 |
| ← | +CMGR: "REC UNREAD","+86131**56",,"12/08/08,10:43:04+ 32",145,17,0,0,"+8613800210500",145,5 Good! OK |
查询结果显示 |
| ←(URC) | +CMT: "+86131**56",,"12/08/08,11:05:45+32",145,1 7,0,0,"+8613800210500",145,7 weather |
发送一个内容为weather的短信给模块,上报内容显示 |
新消息指示:AT+CNMI
该指令用于PDU格式和TEXT格式,当TE处于在用状态时(如:DTR信号处于"ON"状态),使用设置指令,可设置新消息如何从网络侧发送到TE。若 TE 处于待用状态(如:DTR信号处于"OFF"状态),消息接收流程应该按照GSM 03.38 的规定。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CNMI=[ |
OK |
| 查询命令 | AT+CNMI? | +CNMI: OK |
| 测试命令 | AT+CNMI=? | +CNMI: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 | |
|---|---|---|---|---|
| TA给TE传送短信的模式 | 0 | 缓冲TA中的非请求结果码;若TA结果码缓冲器已满,结果码指示可以缓冲存储在其他存储空间或者把最旧的非请求结果码指示丢弃,替换为新接收到的指示。 | ||
| 1 | 当TA-TE间的链路被占用(比如:在线数据模式下),丢弃结果码指示,并拒绝新接收消息的非请求结果码。否则,直接转发给TE。 | |||
| 2 | 当TA-TE间的链路被占用(比如:在线数据模式下),缓冲TA中的非请求结果码;当链路释放后,把所有结果码发送给TE。否则,直接转发给TE。 | |||
| 3 | 在TA 处于数据模式的情况下,使用特定的TA-TE 连接技术将结果码和数据同时传给TE。 | |||
| 新短信上报的方式 | 0 | 没有SMS-DELIVER的指示发送给TE | ||
| 1 | 若 SMS-DELIVER 存储在 ME/TA ,存储位置靠非请求结果码 +CMTI: |
|||
| 2 | SMS-DELIVER消息(类别2的消息和位于消息等待指示组中的消息(存储消息))直接发送到TE。使用如下指令的非请求结果码: +CMT:[ 说明:若AT指令接口作为唯一的显示设备,ME必须支持类别0消息和位于消息等待指示组中的消息的存储(丢弃消息)。 |
|||
| 3 | 通过使用 |
|||
| SMS-DELIVER 结果码(+CMT,+CMTI)和确认(+CNMA)的关系总结: class 1 messagewaiting messagewaiting indication group indication group (discard) (store) 1 +CMTI [+CMTI1)] +CMTI +CMTI 2 +CMT & +CMT[&+CNMA2)] +CMTI +CMT & +CNMA3) +CNMA3) 3 +CMTI [+CMTI1)] +CMTI +CMT& +CNMA3) 1) 除了AT命令没有其他显示手段的时候,显示该结果码; 2) 当+CSMS 3) 当+CSMS |
||||
| 小区广播短消息的上报方式 | 0 | 无 CBM 指示发送到 TE | ||
| 2 | 收到的CBM使用如下格式直接发送到TE: +CBM: +CBM: TEXT模式) |
|||
| 短信状态报告上报方式 | 0 | 无SMS-STATUS-REPORTS发送到TE。 | ||
| 1 | SMS-STATUS-REPORT消息使用如下格式直接发送到TE: +CDS: +CDS: 注: |
|||
| 0 | 当 |
|||
| 1 | 当 |
|||
| no class or class 1 |
class 0 or messagewaiting indication group (discard) |
class 2 or messagewaiting indication group (store) |
class 3 | |
| 1 | +CMTI | [+CMTI1)] | +CMTI | +CMTI |
| 2 | +CMT & +CNMA3) |
+CMT[&+CNMA2)] | +CMTI | +CMT & +CNMA3) |
| 3 | +CMTI | [+CMTI1)] | +CMTI | +CMT& +CNMA3) |
| 1) 除了AT命令没有其他显示手段的时候,显示该结果码; 2) 当+CSMS 3) 当+CSMS |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CNMI=? | 查询参数范围 |
| ← | +CNMI: (0-3),(0-3),(0-3),(0-1),(0-1) OK |
模块查询结果 |
| → | AT+CNMI=2,1 | 设置CNMI参数 |
| ← | OK | |
| ←(URC) | +CMTI: "SM",1 | 此时收到一个短信,缓存在 |
| → | AT+CNMI=1,2 | 设置 |
| ← | OK | |
| → | AT+CSMS=1 | 必须把+CSMS的第一个参数设置为1,才支持+CNMA命令 |
| ← | OK |
新短消息确认:AT+CNMA
使用执行命令,可确认是否正确接收新消息(SMS-DELIVER 或SMS-STATUS-REPORT),该新消息是由 MT 直接发送到 TE而不缓存。在同时满足2个条件的情况下,需要通过AT+CNMA给出短信确认:→通过 AT+CSMS=1,将
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | TEXT模式(AT+CMGF=1): AT+CNMA |
OK |
| PDU模式(AT+CMGF=0): AT+CNMA[= given |
OK | |
| 测试命令 | AT+CNMA=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| PDU 模式下确认短信的方式 | 0 | 该指令与文本模式定义的指令执行类似 | |
| 1 | 发送 RP-ACK(或正确接收到的缓冲结果码) | ||
| 2 | 发送 RP-ERROR(若 PDU 未给定,ME/TA 将发送 GSM 03.40 TP-FCS 取值设定为 "FF"的 SMS-DELIVER-REPORT 消息(非请求错误原因)) |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| 具体实例请参考+CNMI条目 |
发送短信:AT+CMGS
使用设置指令,可将 SMS(SMS-SUBMIT)从TE发送到网络侧。发送成功后,消息参考值
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | 文本模式(AT+CMGF=1)情况下: AT+CMGS= |
发送成功则返回: +CMGS: OK 说明: |
| 发送失败则返回: +CMS ERROR: |
||
| PDU模式(AT+CMGF=0)情况下: AT+CMGS= >PDU to send |
发送成功,返回: +CMGS: OK |
|
| 发送失败则返回: +CMS ERROR: |
||
| 测试命令 | AT+CMGS=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 目的地址( Destination Address) |
- | GSM 03.40 TP-Destination-Address 中"地址-取值"字段,字符型;将 BCD 数值(或缺省 GSM 字母格式的字符) 转换为当前选择的 TE 字符集中的字符(请参考 TS 07.07 中的+CSCS 指令);地址类型由 |
|
| 目的地址类型(Type of |
- | 整数型的 GSM04.11TP-Destination-Address 中的 8 位"类型-地址"字段(当 145;否则缺省值为 129) |
|
| TPDU短信长度 | - | 整数型。该长度不将短信中心号码的长度计算在内 | |
| 消息参考(MessageReference) | 0~255 | 整数型的 GSM 03.40 TP-Message-Reference |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| 发送TEXT模式英文短信: | ||
| → | AT+CMGF=1 | 设置为TEXT模式 |
| ← | OK | |
| → | AT+CSMP? | 查询当前的TEXT模式短信参数 |
| ← | +CSMP: 17,11,0,0 OK |
当前的 |
| AT+CSCS? | ||
| +CSCS: "IRA" OK |
||
| → | AT+CMGS="139****6785" | 发英文短信给测试手机。注:139****6785是发送目的号码,请按照实际填写,不要照抄 |
| ← | > | 此时会返回> |
| → | hello,world! |
返回>后,输入短信内容,例如:hello,world!然后输入 |
| ← | +CMGS: 108 OK |
发送成功, |
| 发送TEXT模式中文短信: | ||
| → | AT+CMGF=1 | 设置为TEXT模式 |
| ← | OK | |
| → | AT+CSMP? | |
| ← | +CSMP: 17,167,0,0 OK |
|
| → | AT+CSMP=17,167,0,8 | 修改最后一个参数 |
| ← | OK |
把消息写入存储器:AT+CMGW
使用设置指令,可将SMS(SMS-DELIVER 或 SMS-SUBMIT)从TE发送到存储器
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | TEXT模式下(AT+CMGF=1): AT+CMGW[= entered |
成功,返回: +CMGW: OK |
| 失败则返回: +CMS ERROR: |
||
| PDU模式下(AT+CMGF=0): AT+CMGW= |
成功,返回: +CMGW: |
|
| PDU is given |
OK | |
| 失败则返回: +CMS ERROR: |
||
| 测试命令 | AT+CMGW=? | 返回: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 目的地址(Destination Address) |
- | GSM 03.40 TP-Destination-Address 中"地址-取值"字段,字符型;将 BCD 数值(或缺省 GSM 字母格式的字符) 转换为当前选择的 TE 字符集中的字符(请参考 TS 07.07 中的+CSCS 指令);地址类型由 |
|
| 目的地址类型(Type of |
- | 整数型的 GSM04.11TP-Destination-Address 中的 8 位"类型-地址"字段(当 145;否则缺省值为 129) |
|
| 源地址(OriginatingAddre ss) |
- | GSM 03.40 TP-Originating-Address 中"地址-取值"字段,字符型;将 BCD 数值(或缺省 GSM 字母格式的字符) 转换为当前选择的 TE 字符集中的字符(请参考 TS 07.07 中的+CSCS 指令);地址类型由 |
|
| 源地址类型(Type of |
- | 整数型的 GSM 04.11 TP-Originating-Address 中的 8 位"类型-地址"字段(当 145;否则缺省值为 129) |
|
| PDU短信长度 | - | 整数型。该长度不将短信中心号码的长度计算在内 | |
| 短信状态 | REC UNREAD | 已接收的未读消息(TEXT模式下,即+CMGF=1) | |
| REC READ | 已接收的已读消息(TEXT模式下,即+CMGF=1) | ||
| STO UNSENT | 存储未发送消息(TEXT模式下,即+CMGF=1) | ||
| STO SENT | 存储已发送消息(TEXT模式下,即+CMGF=1) | ||
| 0 | 已接收的未读消息(PDU模式下,即+CMGF=0) | ||
| 1 | 已接收的已读消息(PDU模式下,即+CMGF=0) | ||
| 2 | 存储未发送消息(PDU模式下,即+CMGF=0) | ||
| 3 | 存储已发送消息(PDU模式下,即+CMGF=0) |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| 存储一个TEXT短信(英文): | ||
| → | AT+CMGF=1 | 设置为TEXT模式 |
| ← | OK | |
| → | AT+CSCS="GSM" | 或AT+CSCS="IRA" |
| ← | OK | |
| → | AT+CSMP=17,167,0,0 | |
| ← | OK | |
| → | AT+CMGW="139****6785" | 发送短信给目的号码 |
| ← | > | 此时会返回> |
| → | HI! |
返回>后,输入短信内容,然后输入 |
| ← | +CMGW: 6 OK |
返回的index=6,表示该短信在存储区的位置是第6个 |
| 存储一个TEXT短信(中文): | ||
| → | AT+CMGF=1 | 设置为TEXT模式 |
| ← | OK | |
| → | AT+CSCS="GSM" | 设置AT命令中字符的编码格式为UCS2 |
| ← | OK | |
| → | AT+CSMP=17,167,0,8 | Dcs=8,表示短信存放的格式为UCS2编码 |
| ← | OK | |
| → | AT+CMGW="10086" | 目的地址是10086(UCS2编码格式) 内容为"感谢"(UCS2编码格式) |
| ← | > | 此时会返回> |
| → | 611F8C22 |
返回>后,输入短信内容611F8C22(hex格式),然后输入 |
| ← | +CMGW: 7 OK |
该短信存在index=7的位置 |
| 存储一个PDU短信: | ||
| → | AT+CMGF=0 | 设置为PDU格式 |
| ← | OK | |
| → | AT+CMGW=19 | |
| ← | > | 此时会返回> |
| → | 0011100D91683161450179F900080004611F8C22 |
PDU格式短信内容为"感谢"。然后输入 |
| ← | +CMGW: 8 OK |
该短信存在index=8的位置 |
从存储器发送短信:AT+CMSS
使用设置指令,可将消息存储器
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CMSS= |
+CMSS: OK |
| 测试命令 | AT+CMSS=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 待发送短信在存储器的地址 | - | 整数型;关联存储器支持的地址编号范围内的取值 | |
| 目的地址(Destination Address) |
- | GSM03.40TP-Destination-Address 中"地址-取值"字段,字符型;将 BCD 数值(或缺省 GSM 字母格式的字符) 转换为当前选择的 TE 字符集中的字符(请参考 TS07.07 中的+CSCS 指令);地址类型由 |
|
| 目的地址类型(Type of |
- | 整数型的 GSM 04.11 TP-Destination-Address 中的 8 位"类型-地址"字段(当 |
|
| 消息参考(MessageReferenc e) |
0~255 | 整数型的 GSM 03.40 TP-Message-Reference |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CMGF=1 | 设置为TEXT模式 |
| ← | OK | |
| → | AT+CSCS="GSM" | 或AT+CSCS="IRA" |
| ← | OK | |
| → | AT+CMSS=6 | 发送+CMGW实例中被+CMGW存储起来的编号为6的短信,接收方的号码仍为+CMGW存入的号码 |
| ← | +CMSS: 11 OK |
发送成功, |
| → | AT+CMSS=7,"13192310560" | 发送+CMGW实例中被+CMGW存储起来的编号为7的中文短信,并且改变接收方号码为13192310560 |
| ← | +CMSS: 12 OK |
发送成功 |
短信链路控制命令:AT+CMMS
SET命令控制短信中继协议(RP)层的链接的连续性。当使能了该特性,并且网络也支持时,发送连续多条短信时RP层的链接将一直存在,而无需在每两条短信之间再进行拆链和建链的过程,从而发送的速度将快很多。READ命令返回当前的参数值。TEST命令返回命令支持的参数值。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CMMS= [ |
OK |
| 查询命令 | AT+CMMS? | +CMMS: OK |
| 测试命令 | AT+CMMS=? | +CMMS: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 状态 | 0 | 禁能 | |
| 1 | 使能一次。当前一条发送短信的返回和后一条发送短信的间隔小于1-5秒(具体的取值取决于MS的实现),RP链接保持不断。当超过了1-5秒时, RP链接中断,并且 |
||
| 2 | 一直使能。当前一条发送短信的返回和后一条发送短信的间隔小于1-5秒(具体的取值取决于MS的实现),RP链接保持不断。当超过了1-5秒时, RP链接中断,并且 |
读短信:AT+CMGR
使用设置指令,可将消息存储器
短信中心时间戳(Short
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CMGR= |
PDU模式下(AT+CMGF=0),返回: +CMGR: OK |
| 如果是TEXT模式(AT+CMGF=1):对于SMS-DELIVER: +CMGR: OK 对于SMS-SUBMIT: +CMGR: OK 对于SMS-STATUS-REPORT: +CMGR: |
||
| OK 对于SMS-COMMAND: +CMGR: OK 注:以上斜体字是否显示由+CSDH的设置决定 |
||
| 测试命令 | AT+CMGR=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 请参考AT+CMGW条目 | |||
| MT 电话簿记录对应 |
字符型 | ||
| Protocol Identification | 请参考AT+CSMP条目 | ||
| PDU短信首字节 | |||
| Valid Period | |||
| Data Coding System |
列举短消息:AT+CMGL
使用设置指令,可将查询优选消息存储器
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CMGL= |
如果是PDU模式(AT+CMGF=0),则 0已接收的未读消息 1 已接收的已读消息 2 已存储的未发送短信 3 已存储的已发送短信 |
| 4 所有短信且返回如下: +CMGL: pdu> OK |
||
| 如果是TEXT模式(AT+CMGF=1),则 "REC UNREAD" 已接收的未读消息 "REC READ" 已接收的已读消息 "STO UNSENT" 已存储的未发送短信 "STO SENT" 已存储的已发送短信 "ALL" 所有短信注意:对于以上取值,所有字母要大写。双引号可加可不加。对于SMS-DELIVER或SMS-SUBMIT,则返回(注:斜体字是否显示由+CSDH 的设置决定): +CMGL: OK 对于SMS-STATUS-REPORT,则返回: +CMGL: OK 对于SMS-COMMAND,则返回: +CMGL: stat>, OK |
||
| 测试命令 | AT+CMGL=? | +CMGL: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 本词条的所有参数在以前的命令中都有详细叙述,这里不再赘述 |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| 在TEXT模式下列举短信: | ||
| → | AT+CMGF=1 | 设置为TEXT模式 |
| ← | OK | |
| → | AT+CMGL=? | 查询 |
| ← | +CMGL: "REC UNREAD","REC READ","STO UNSENT","STO SENT","ALL" OK |
|
| → | AT+CMGL="ALL" | 查询所有的短信(注意:ALL必须为大写) |
| +CMGL: 8,"REC READ","+8613162310263",,"12/08/08,10:43:04 +32" hi +CMGL: 9,"REC READ","+8613162310263",,"12/08/09,14:12:01 +32" aŒ" OK |
所有短信 Index=1~7被删掉了而已。 |
|
| 在PDU模式下列举短信: | ||
| → | AT+CMGF=0 | 设置为PDU模式 |
| ← | OK | |
| → | AT+CMGL=? | |
| ← | +CMGL: (0-4) OK |
|
| → | AT+CMGL=4 | 查询所有的短信 |
| ← | +CMGL: 8,1,,24 0891683108200105F0240D91683161320162F3 00002180800134402304D7A2930A +CMGL: 9,1,,24 0891683108200105F0240D91683161320162F3 00082180904121102304611F8C22 OK |
显示查询结果 |
删除短消息:AT+CMGD
使用设置指令,可删除优选消息存储器
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CMGD= |
返回: OK 说明:这个设置命令是删除 |
| AT+CMGD= |
返回: OK 说明:这个设置命令是删除所有状态为 |
|
| 测试命令 | AT+CMGD=? | +CMGD:( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 短信位置索引 | - | 整数型;关联存储器支持的地址编号范围内的取值 | |
| 删除类型,整数型。当 2,3,4时, 参数将被忽略 |
0 | 删除指定位置号码为 |
|
| 1 | 删除优选存储器其中所有已读的短消息,保留未读短消息和已存储的MO 短消息(无论是否发送) MO:Mobile Originated |
||
| 2 | 删除优选存储器中所有已读的消息和已发送的MO短消息,保留未读的以及未发送的已存储MO短消息 | ||
| 3 | 删除优选存储器中所有已读的短消息,已发送和未发送的已存储MO短消息,保留未读的短消息 | ||
| 4 | 删除优选存储器中包括未读在内所有的短消息 |
举例:
| 命令(→)/返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | AT+CPMS="SM" | 设置存储区为SIM |
| ← | OK | |
| → | AT+CMGD=1 | 删除掉index=1的短信 |
| ← | OK | |
| → | AT+CMGD=1,4 | 所有的短信都被删除掉 |
| ← | OK |
小区广播短消息类型选择:AT+CSCB
注:本命令内容仅适用于合宙 4G CAT1 模块(Air720U/Air724U 系列),不适用于合宙 4G CAT4 模块(Air720/Air720G/Air720H/Air720D/Air720S)。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CSCB=[ |
返回: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 0 | 接受由 |
||
| 1 | 不接受由 |
||
| 所有可能的 CBM 消息标识的组合 | - | 字符型 | |
| 所有可能的CBM 数据编码方案的组合 | - | 字符型,缺省值为空字符串 |
短信业务失败结果码:CMS ERROR:
短消息业务失败结果编码描述一个移动设备或网络的错误。其作用与错误结果编码类似。该编码常在一个指令失败时出现。返回的结果码为:+CMSERROR:
| 数字型 取值 |
冗长方式的 |
解释 |
|---|---|---|
| 1 | Unassigned(unallocated)number | |
| 3 | Noroutetodestination | |
| 6 | Channelunacceptable | |
| 8 | Operatordeterminedbarring | |
| 10 | Callbarred | |
| 11 | Reserved | |
| 16 | Normalcallclearing | |
| 17 | Userbusy | |
| 18 | Nouserreponding | |
| 19 | Useralerting,noanswer | |
| 21 | Shortmessagetransferrejected | |
| 22 | Numberchanged | |
| 25 | Pre-emption | |
| 26 | Non-selecteduserclearing | |
| 27 | Destionationoutofservice | |
| 28 | Invalidnumberformat(incompletenumber) | |
| 29 | Facilityrejected | |
| 30 | ResponsetoSTATUSENQUIRY | |
| 32 | Normal,unspecified | |
| 34 | Nocircuit/channelavailable | |
| 38 | Networkoutoforder | |
| 41 | Temporaryfailure | |
| 42 | SwitchingequipmentCongestion | |
| 43 | Accessinformationdiscarded | |
| 44 | Requestedcircuit/channelnotavailable | |
| 47 | Resourcesunavailable,unspecified | |
| 49 | Qualityofserviceunavailable | |
| 50 | Requestedfacilitynotsubscribed | |
| 55 | Requestedfacilitynotsubscribed | |
| 57 | Bearercapabilitynotauthorized | |
| 58 | Bearercapabilitynotpresentlyavailable | |
| 63 | Serviceoroptionnotavailable,unspecified | |
| 65 | Bearerservicenotimplemented | |
| 68 | ACMequalorgreaterthanACMmaximum | |
| 69 | Requestedfacilitynotimplemented | |
| 70 | Only restricted digital information bearer capability is available |
|
| 79 | Serviceoroptionnotimplemented,unspecified | |
| 81 | Invalidtransactionidentifiervalue | |
| 87 | UsernotmemberofCUG | |
| 88 | Incompatibledestination | |
| 91 | Invalidtransitnetworkselection | |
| 95 | Semanticallymandatoryinformation | |
| 96 | Invalidmandatoryinformation | |
| 97 | Messagetypenon-existentornotimplemented | |
| 98 | Messagetypenotcompatiblewithprotocolstate | |
| 99 | Informationelementnon-existentornotimplemented | |
| 100 | Conditionalinformationelementerror | |
| 101 | Messagenotcompatiblewithprotocol | |
| 102 | Recoveryontimerexpiry | |
| 111 | Protocolerror,unspecified | |
| 127 | Interworking,unspecified | |
| 128 | Telematicinterworkingnotsupported | |
| 129 | ShortmessageType0notsupported | |
| 130 | Cannotreplaceshortmessage | |
| 143 | UnspecifiedTP-PIDerror | |
| 144 | Datacodingscheme(alphabet)notsupported | |
| 145 | Messageclassnotsupported | |
| 159 | UnspecifiedTP-DCSerror | |
| 160 | Commandcannotbeacted | |
| 161 | Commandunsupported | |
| 175 | UnspecifiedTP-Commanderror | |
| 176 | TPDUnotsupported | |
| 192 | SCbusy | |
| 193 | NoSCsubscription | |
| 194 | SCsystemfailure | |
| 195 | InvalidSMEaddress | |
| 196 | DestinationSMEbarred | |
| 197 | SMRejected-DuplicateSM | |
| 198 | TP-VPFnotsupported | |
| 199 | TP-VPnotsupported | |
| 208 | SIMSMSstoragefull | |
| 209 | NoSMSstoragecapabilityinSIM | |
| 210 | ErrorinMS | |
| 211 | MemoryCapacityExceeded | |
| 212 | SIMApplicationToolkitBusy | |
| 213 | SIMdatadownloaderror | |
| 224 | CPretryexceed | |
| 225 | RPtrimtimeout | |
| 226 | SMSconnectionbroken | |
| 255 | Unspecifiederrorcause | |
| 300 | MEfailure | ME 错误 |
| 301 | SMSserviceofMEreserved | 预留 ME 的 SMS 业务 |
| 302 | operationnotallowed | 操作不允 |
| 303 | operationnotsupported | 操作不支持 |
| 304 | invalidPDUmodeparameter | PDU 模式下无效的参数 |
| 305 | invalidtextmodeparameter | TEXT 模式下无效的参数 |
| 310 | (U)SIMnotinserted | SIM 卡未插入 |
| 311 | (U)SIMPINrequired | 需要 SIM 卡的 PIN |
| 312 | PH-(U)SIMPINrequired | 需要 PH-SIM 卡的 PIN |
| 313 | (U)SIMfailure | SIM 卡故障 |
| 314 | (U)SIMbusy | SIM 卡遇忙 |
| 315 | (U)SIMwrong | SIM 错误 |
| 316 | (U)SIMPUKrequired | 需要 SIM 卡的 PUK |
| 317 | (U)SIMPIN2required | 需要 SIM 卡的 PIN2 |
| 318 | (U)SIMPUK2required | 需要 SIM 卡的 PUK2 |
| 320 | memoryfailure | 存错错误 |
| 321 | invalidmemoryindex | 无效的存贮索引 |
| 322 | memoryfull | 存储满 |
| 330 | SMSCaddressunknown | 短信中心号码未知 |
| 331 | nonetworkservice | 无网络服务 |
| 332 | networktimeout | 网络超时 |
| 340 | no+CNMAacknowledgementexpected | 无预期的+CNMA 确认 |
| 500 | unknownerror | 未知错误 |
| 512 | USERABORT | (适用于cat1 模块) |
| 513 | UNABLETOSTORE | (适用于cat1 模块) |
| 514 | INVALIDSTATUS | (适用于cat1 模块) |
| 515 | INVALIDADDRCHAR | (适用于cat1 模块) |
| 516 | INVALIDLEN | (适用于cat1 模块) |
| 517 | INVALIDPDUCHAR | (适用于cat1 模块) |
| 518 | INVALIDPARA | (适用于cat1 模块) |
| 519 | INVALIDLENORCHAR | (适用于cat1 模块) |
| 520 | INVALIDTXTCHAR | (适用于cat1 模块) |
| 521 | TIMEREXPIRED | (适用于cat1 模块) |
| 528 | PDU 中无效(非16 进制)字符 | |
| 529 | PDU 长度不正确 | |
| 530 | SMSSENDFAIL | (适用于cat1 模块) |
| 531 | 根据制造商不同而变化 | |
| 532 | 地址中有无效(非16 进制)字符 | |
| 533 | 无效地址 | |
| 534 | PDU 长度(UDL)不正确 | |
| 536 | SCA 长度不正确 | |
| 537 | 无效的第一个8 位字节(应为2 或34) | |
| 538 | 无效的命令类型 | |
| 539 | SRR 位未设置 | |
| 540 | SRR 设置 | |
| 604 | unspecifiedparsingerror | 未指定的解析错误 |
电话本命令
选择电话本存储类型:AT+CPBS
选择当前电话本的存储类型,以被别的电话本命令使用。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CPBS= |
+CPBS: OK |
| 查询命令 | AT+CPBS? | +CPBS: OK |
| 测试命令 | AT+CPBS=? | +CPBS: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 存贮类型 | "SM" | SIM/USIM电话簿 | |
| "FD" | SIM固定拨号号码电话簿(此功能开启及存储容量取决于SIM卡) | ||
| "DC" | ME最近拨号号码电话簿(非标准的) | ||
| "LD" | SIM/UICC最近一次呼叫的电话簿 | ||
| "ON" | SIM卡(或 ME)中的号码(MSISDN)清单(也可以使用+CNUM命令读出该存储器中的信息) | ||
| "AP" | Application电话本 | ||
| 已使用的位置 | - | 整数类型取值,表示所选存储器中使用过的位置号码 | |
| 位置总数 | - | 整数类型取值,表示所选存储器中使用过的所有位置号码 |
举例:
| 命令(→) 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CPBS=? | 查询电话本所有的存储类型 |
| ← | +CPBS:("SM","FD","ON","AP") OK |
注:模块类型不同,此返回值有所不同 |
| → | AT+CPBS? | 查询当前的PB存储类型 |
| ← | +CPBS: "SM",6,250 OK |
|
| → | AT+CPBR=1,10 | 查询1~10个电话本联系人 |
| ← | +CPBR: 1,"131**98",129,"AA" | |
| +CPBR: 2,"139**56",128,"BB" +CPBR: 3,"138*68",128,"CC" +CPBR: 4,"133***09",128,"DD" +CPBR: 5,"10087",128,"EE" +CPBR: 6,"1233333",128,"FF" +CPBR: 7,"10010",128,"GG" +CPBR: 8,"10011",128,"HH" +CPBR: 9,"2222222",128,"II" +CPBR: 10,"888888",128,"JJ" OK |
读取电话本记录:AT+CPBR
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CPBR= |
返回: [+CPBR: +CPBR: OK 说明:使用执行指令,可返回位置号码范围为 |
| 测试命令 | AT+CPBR=? | +CPBR:( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 电话本记录索引 | 整数型,表示电话簿存储器中位置号码范围内的位置索引 | ||
| 电话号码 | 字符型,格式由 |
||
| 号码类型 | 整数型的八位字节地址类型(请参考GSM 04.08第 10.5.4.7节)和AT+CSTA条目 |
||
| 电话本记录的姓名 | 字符型型,与"选择TE字符集"指令+CSCS规定的字符集相同 | ||
| 电话号码的最大长度 | 整数型,表示 |
||
| 电话本记录的最大长度 | 整数型,表示 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CPBS=SM | 设置PB的存储类型为SIM |
| ← | OK | |
| → | AT+CPBR=1,5 | 列举index=1~5的电话本记录 |
| ← | +CPBR: 1,"1378187",129,"Test" +CPBR: 2,"1398096",129,"TEST" +CPBR: 5," 13601**187",129,"zhangsan" OK |
查询结果 |
| → | AT+CPBR=2 | 如果若 |
| ← | +CPBR: 2,"139****8096",129,"TEST" OK |
|
| → | AT+CPBR=? | 查询参数范围,缺省的PB存储类型为SM |
| ← | +CPBR: (1-500),40 OK |
|
| → | AT+CPBS="ON" | 设置PB的存储类型为ON |
| ← | OK | |
| → | AT+CPBR=1,10 | |
| ← | +CPBR:1,0,"+8613312345678",145,"" OK |
查出手机卡的自身业务号码 |
| → | AT+CPBR=? | |
| ← | +CPBR: (1-2),40 OK |
查找电话本记录:AT+CPBF
设置命令用户终端返回与
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CPBF= |
[+CPBF: PF: OK |
| 测试命令 | AT+CPBF=? | +CPBF:[ OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 电话本记录索引 | - | 整数型,表示电话簿存储器中位置号码范围内的位置索引 | |
| 电话号码 | - | 字符型;格式由 |
|
| 号码类型 | - | 整数型的八位字节地址类型(请参考GSM 04.08第 10.5.4.7节)和AT+CSTA条目 |
|
| 电话本记录的姓名 | - | 字符型型,与"选择TE字符集"指令+CSCS规定的字符集相同 | |
| 电话号码的最大长度 | - | 整数型,表示 |
|
| 电话本姓名的最大长度 | - | 整数型,表示 |
举例:
| 命令(→)/ 返回(←) | 实例 | 解释和说明 |
|---|---|---|
| → | AT+CPBF=? | |
| ← | +CPBF: 40,14 OK |
表示电话本号码的最大长度为40字节,姓名的最大长度为14个字节 |
| → | AT+CPBS=SM | |
| ← | OK | |
| → | AT+CPBF="zhangsan" | 寻找电话本中姓名为"zhangsan"的联系人 |
| ← | +CPBF: 5,"13601***187",129," zhangsan" OK |
找到了,index=5 |
写电话本记录:AT+CPBW
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CPBW=[ |
返回: OK 说明:使用设置命令,可在当前电话簿存储器的位置号码 |
| 测试命令 | AT+CPBW=? | +CPBW: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 电话本记录索引 | 整数型,表示电话簿存储器中位置号码范围内的位置索引 | ||
| 电话号码 | 字符型,格式由 |
||
| 号码类型 | 整数型的八位字节地址类型(请参考GSM 04.08第 10.5.4.7节)和AT+CSTA条目 |
||
| 电话本记录的姓名 | 字符串型,与"选择TE字符集"指令+CSCS规定的字符集相同 | ||
| 电话号码的最大长度 | 整数型,表示 |
||
| 电话本记录的最大长度 | 整数型,表示 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CPBW=? | 查询参数范围 |
| ← | +CPBW: (1-250),40,(128-255),14 OK |
|
| → | AT+CPBS=SM | |
| ← | OK | |
| → | AT+CPBW=1,"150**58",129,"T" | 在index=1的位置上写入一个电话本记录 |
| ← | OK | |
| → | AT+CPBR=1,200 | 查询所有的电话本记录 |
| ← | +CPBR: 1,"150**58",129,"T" +CPBR: 2,"152*59",129,"LIAO" +CPBR: 3,"1502650",129,"" +CPBR: 4,"02152",129,"W" +CPBR: 5,"021***68",129,"A" +CPBR: 6,"1",129,"" OK |
共有6个记录 |
| → | AT+CPBW=1 | 删除index=1的记录 |
| ← | OK | |
| → | AT+CPBW=2 | 删除index=2的记录 |
| ← | OK | |
| → | AT+CPBW=,"123456" | 若 |
| ← | OK | |
| → | AT+CPBR=1,6 | 再次查询所有记录 |
| ← | +CPBR: 1,"123456",129,"" +CPBR: 3,"1502650",129,"" +CPBR: 4,"02131252252",129,"W" +CPBR: 5,"02131252252",129,"A" +CPBR: 6,"1",129,"" OK |
本机号码:AT+CNUM
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CNUM | +CNUM:[ OK |
| 测试命令 | AT+CNUM=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 号码的标志名 | 与 |
||
| 本机号码 | |||
| 本机号码的类型 | 整数型的八位字节地址类型(请参考 GSM 04.08第10.5.4.7 节) |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CPBS="ON" | 选择电话本类型为ON(Own Number) |
| ← | OK | |
| → | AT+CPBW=1,"+180**",145 | 写入本机号码 |
| ← | OK | |
| → | AT+CNUM | 查询本机号码 |
| ← | +CNUM:"","+180**",145 OK |
分组域相关命令
GPRS网络注册状态:AT+CGREG
设置指令控制关于GPRS注册状态非请求结果码的显示。当
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CGREG=[ |
OK |
| 查询命令 | AT+CGREG? | +CGREG: OK |
| 测试命令 | AT+CGREG=? | +CGREG:( OK |
| URC上报 | +CGREG: |
如果设置 |
| +CGREG: |
如果设置 (ci)发生改变时,会有这样的URC上报 |
|
| +CGREG: |
如果设置 (ci)发生改变时,会有这样的URC上报 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 上报状态 | 0 | 禁用网络注册非请求结果码+CGREG: | |
| 1 | 启用网络注册非请求结果码+CGREG: |
||
| 2 | 启用网络注册和位置信息非请求结果码 +CGREG: |
||
| 3 | 启用网络注册和位置信息非请求结果码 +CGREG: |
||
| 当前网络注册状态 | 0 | 未注册;ME 当前没有搜索注册业务的新运营商 | |
| 1 | 已注册,本地网 | ||
| 2 | 未注册,但 ME 正在搜索注册业务的新运营商,但是当前没有可用的公共陆地移动网络(PLMN),一旦PLMN有效,UE将开始GPRS附着。 | ||
| 3 | 注册被拒绝。GPRS业务被禁用,即使用户请求,UE也不被允许附着 GPRS网络 |
||
| 4 | 未知 | ||
| 5 | 已注册,漫游 | ||
| 6 | 注册归属地"SMSonly"业务 | ||
| 7 | 注册漫游地"SMSonly"业务 | ||
| 8 | 仅附着紧急承载业务(SeeNOTE2) | ||
| 9 | 注册归属地"CSFBnotpreferred"业务 | ||
| 10 | 注册漫游地"CSFBnotpreferred"业务 | ||
| 11 | 仅紧急业务可用 | ||
| 位置区号(Location Area Code) |
- | 字符型;2 字节十六进制位置区代码(比如:00C3相当于十进制中的 195) |
|
| 小区号(Cell Id) | - | 字符型;2 字节十六进制小区编号 | |
| 路由区号 (Routing area code) |
|||
| 定义同+CEREG | |||
| 定义同+CEREG |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CGREG? | 查询当前GPRS注册状态 |
| ← | +CGREG:0,1 OK |
|
| → | AT+CGREG=1 | 设置 上报+CGREG: |
| ←(URC) | +CGREG:1 | 当模块注册状态发生改变 |
| → | AT+CGREG=2 | 设置 上报+CGREG: |
| ←(URC) | +CGREG: 5,"18be","9363" | 当模块注册状态发生改变,或移动模块,使模块所处小区号发生改变的时候,会有个URC上报上来 |
| → | AT+CGREG? | 查询注册状态 |
| ← | +CGREG: 2,1,"1863","00a2c315" OK |
GPRS附着分离:AT+CGATT
设置命令用于将MT 附着GPRS 业务,或将MT 从GPRS 业务分离。
查询命令返回当前的GPRS附着状态。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CGATT= |
OK |
| 查询命令 | AT+CGATT? | +CGATT: OK |
| 测试命令 | AT+CGATT=? | +CGATT: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| GPRS附着状态 | 0 | 分离 | |
| 1 | 附着 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CGATT? | 查看当前GPRS附着状态 |
| ← | +CGATT:1 OK |
|
| → | AT+CGATT=? | 查看 |
| ← | +CGATT:(0-1) OK |
查询结果 |
PDP上下文定义:AT+CGDCONT
设置命令设置以cid为标志的PDP上下文参数。查询命令查询所有的PDP上下文定义。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGDCONT= |
OK |
| 查询命令 | AT+CGDCONT? | [+CGDCONT: ][ APN>, […]]] |
| OK | ||
| 测试命令 | AT+CGDCONT=? | +CGDCONT: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| PDP上下文标识,用于标识一个PDP上下文定义 | 1~8 | 整数型。该参数对TE-MT接口而言是本地参数,并且可用于其他PDP上下文相关指令 | |
| 分组数据协议类型; 字符型 | "IP" | 支持"IP"互联网协议IP(Internet Protocol)(IETF STD5),默认值 |
|
| "IPV6" | InternetProtocol,version6 (IETFRFC2460) | ||
| "PPP" | Point to Point Protocol (IETF STD 51) | ||
| 接入点名称(AccessPoint Name) |
字符串型,用于选择GGSN或外部分组数据网络的逻辑名称。若该参数取值为空或省略,则需要请求签约值。 | ||
| 分组数据协议地址 | 字符型,这是IP协议地址,格式为: " |
||
| 用于控制PDP 数据压缩。仅适用于SNDCP。 | 0 | 关闭PDP数据压缩(默认值) | |
| 1 | 打开PDP数据头压缩(由厂商定义压缩方式,暂不支持!) | ||
| 2 | V.42bis | ||
| 控制PDP 头压缩。数字型参数 | 0 | 关闭PDP头压缩(默认值) | |
| 1 | RFC1144(仅适用于SNDCP) | ||
| 2 | RFC2507(暂不支持) | ||
| 与 |
字符串型 |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CGDCONT? | 开机注册后查询当前PDP上下文 |
| ← | +CGDCONT: 5,"IP","cmnbiot.mnc004.mcc460.gprs","100.93.134.1 00",,,802110030100108106d388116b8306d38814cb 000d04d388116b000d04d38814cb, OK |
缺省已经有一个PDP上下文,这个PDP上下文,用于模块 RNDIS 网卡功能以及 TCPIP/HTTP/MQTT/FTP等数据业务。 |
| → | AT+CGDCONT=? | 查询参数取值范围 |
| ← | +CGDCONT:(1-8),"IP", , ,(0-2),(0-2) | 查询结果 |
| +CGDCONT:(1-8),"PPP", , ,(0-2),(0-2) +CGDCONT:(1-8),"IPV6", , ,(0-2),(0-2) OK |
||
| ← | +CGDCONT: (1-15),(1-15),(IP,IPV6,IPV4V6,PPP,Non-IP) |
Air780E/Air600E查询结果 |
PDP上下文鉴权参数:AT+CGAUTH
注:本命令内容仅适用于合宙 4G CAT1 模块(Air720U/Air724 系列),不适用于合宙 4G CAT4 模块(Air720/Air720G/Air720H/Air720D/Air720S)。本命令是AT+CGDCONT命令的扩展,设置相关PDP上下文的鉴权方式。查询命令查询所有PDP上下文鉴权信息。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGAUTH= |
OK |
| 查询命令 | AT+CGAUTH? | [+CGAUTH: [ [. . . ]] |
| 测试命令 | AT+CGAUTH=? | +CGAUTH: (range of supported supported |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| PDP上下文标识,用于标识一个PDP上下文定义 | 整数型。该参数对TE-MT接口而言是本地参数,并且可用于其他PDP上下文相关指令 | ||
| 鉴权类型 | 0 | None | |
| 1 | PAP | ||
| 2 | CHAP | ||
| 用户名 | |||
| 密码 |
显示PDP地址:AT+CGPADDR
使用设置命令,返回的是
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGPADDR= |
+CGPADDR: OK |
| 执行命令 | AT+CGPADDR | +CGPADDR: , OK |
| 测试命令 | AT+CGPADDR=? | +CGPADDR: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| PDP上下文标识 | 1~8 | 整数型。该参数对TE-MT接口而言是本地参数,并且可用于其他 PDP上下文相关指令 |
|
| 分组数据协议地址 | 字符型,这是IP协议地址,格式为: " 其中 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CGACT? | 查询当前的PDP上下文激活状态 |
| ← | +CGACT:5,1 OK |
|
| → | AT+CGPADDR=5 | 查询 |
| ← | +CGPADDR: 5, "100.93.134.100" OK |
PDP上下文激活:AT+CGACT
使用执行指令,可激活或去激活指定的 PDP上下文。该指令成功执行后,MT保持 V.250ter指令状态。若 PDP 上下文已处于所请求状态,则该状态保持不变。当执行该指令的激活形式时,若MT没有附着 GPRS,MT首先进行 GPRS 附着,然后尝试激活指定的上下文。若没指定
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGACT= |
OK |
| 查询命令 | AT+CGACT? | +CGACT: state>[...]] OK |
| 测试命令 | AT+CGACT=? | +CGACT: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| PDP上下文激活状态 | 0 | 未激活 | |
| 1 | 激活 | ||
| PDP上下文标识 | 整数型。该参数对TE-MT接口而言是本地参数,并且可用于其他 PDP上下文相关指令。 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| 具体实例请参考+CGPADDR条目的实例 |
可接受的最小服务质量简报:AT+CGQMIN
设置命令允许 TE指定一个可接受的最小服务质量简报,与此对应的是网络返回的 "PDP上下文激活接受"消息所返回的协商简报。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGQMIN= [, ] |
OK |
| 查询命令 | AT+CGQMIN? | +CGQMIN: OK |
| 测试命令 | AT+CGQMIN=? | +CGQMIN: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 请参考AT+CGDCONT条目 | |||
| 服务质量(QOS)优先级别 | 0 | 默认,签署的QOS优先级别 | |
| 1~3 | QOS优先级别 | ||
| 服务质量(QOS)延时级别 | 0 | 签署的服务质量(QOS)延时级别 | |
| 1~4 | QOS 延时级别 | ||
| 服务质量(QOS)可靠性级别 | 0 | 签署的服务质量(QOS)可靠性级别 | |
| 1~5 | QOS可靠性级别 | ||
| 服务质量(QOS)峰值吞吐量级别 | 0 | 签署的服务质量(QOS)峰值吞吐量级别 | |
| 1~9 | QOS 峰值吞吐量级别 | ||
| 服务质量(QOS)平均吞吐量级别 | 0 | 签署的服务质量(QOS)平均吞吐量级别 | |
| 1~18 | QOS 平均吞吐量级别 | ||
| 31 | 尽力而为的 QOS 平均吞吐量级别 |
请求的服务质量简报:AT+CGQREQ
设置命令可以设定由一个
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGQREQ= [, |
OK |
| 查询命令 | AT+CGQREQ? | +CGQREQ: , , OK |
| 测试命令 | AT+CGQREQ=? | +CGQREQ: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 请参考AT+CGDCONT条目 | |||
| 服务质量(QOS)优先级别 | 0 | 默认,签署的QOS优先级别 | |
| 1~3 | QOS优先级别 | ||
| 服务质量(QOS)延时级别 | 0 | 签署的服务质量(QOS)延时级别 | |
| 1~4 | QOS 延时级别 | ||
| 服务质量(QOS)可靠性级别 | 0 | 签署的服务质量(QOS)可靠性级别 | |
| 1~5 | QOS可靠性级别 | ||
| 服务质量(QOS)峰值吞吐量级别 | 0 | 签署的服务质量(QOS)峰值吞吐量级别 | |
| 1~9 | QOS 峰值吞吐量级别 | ||
| 服务质量(QOS)平均吞吐量级别 | 0 | 签署的服务质量(QOS)平均吞吐量级别 | |
| 1~18 | QOS 平均吞吐量级别 | ||
| 31 | 尽力而为的 QOS 平均吞吐量级别 |
控制非请求GPRS事件上报:AT+CGEREP
设置命令启用或禁用URC 提示+CGEV: XXX。当设置为启用时,当数据域终端或网络侧发生某些事件,会有此URC上报。For AIR720系列模块:For AIR720S系列模块:For AIR720/AIR780E系列模块:
For AIR720S系列模块:
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGEREP= |
OK |
| 查询命令 | AT+CGEREP? | +CGEREP: OK |
| 测试命令 | AT+CGEREP=? | +CGEREP:( OK |
| URC上报 | +CGEV: XXX | 如果 URC上报 |
AT+CGEREP
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGEREP= |
OK |
| 查询命令 | AT+CGEREP? | +CGEREP: OK |
| 测试命令 | AT+CGEREP=? | +CGEREP:( OK |
| URC上报 | +CGEV: XXX | 如果 上报 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 结果码上报的模式 | 0 | 缓冲MT中的非请求结果码;如果MT结果码缓冲器已满,则丢弃最旧的结果码。不转发结果码给TE。 | |
| 1 | 当MT-TE链路处于保留状态时(比如处于在线数据状态),丢弃非请求结果码;否则MT直接将非请求结果码转发给TE。 |
NTP相关命令
设置GPRS承载场景ID:AT+CNTPCID
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CNTPCID= |
OK |
| 查询命令 | AT+CNTPCID? | +CNTPCID: OK |
| 测试命令 | AT+CNTPCID=? | +CNTPCID:( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 承载场景id | 1-3 | 取值同+SAPBR命令的 |
同步网络时间:AT+CNTP
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CNTP= |
OK |
| 执行命令 | AT+CNTP | OK +CNTP: |
| 查询命令 | AT+CNTP? | +CNTP: OK |
| 测试命令 | AT+CNTP=? | +CNTP: OK |
| 注意事项 | 网络时间同步成功后,可以用AT+CCLK?命令来查询模块当前时间 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| NTP服务器 | 域名或ip地址 | ||
| 本地时区 | -47~+48 | 单位:1/4时区。时区是-12~+12,但是有的国家会用半时区,甚至1/4时区,为兼顾这些国家,时区单位为:1/4时区。负号表示是西时区,正号表示为东时区 | |
|
操作码 | 1 | 网络时间同步成功 |
| 61 | 网络错误 | ||
| 62 | DNS解析错误 | ||
| 63 | 连接错误 | ||
| 64 | 服务响应错误 | ||
| 65 | 服务响应超时 |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+SAPBR=3,1,"Contype","GPRS" | 激活PDP是使用CNTP命令同步时间的前提 |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 上下文,用于RNDIS上网使用(此 AT+CGDCONT?来查询),所以输入 AT+SAPBR=3, |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活 |
| ← | OK | |
| → | AT+CNTPCID=1 | 设置使用的PDP的 |
| ← | OK | |
| → | AT+CNTP | |
| ← | OK +CNTP:1 |
|
| → | AT+CCLK? | |
| ← | +CCLK: "18/05/16,15:49:28+32" OK |
文件系统相关命令
创建一个文件:AT+FSCREATE
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+FSCREATE= |
OK 或 ERROR |
| 查询命令 | AT+FSCREATE=? | OK 或 ERROR |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 文件名 | 字符串型,不用加双引号,不超过64个字节 |
读文件:AT+FSREAD
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+FSREAD= |
OK 或 ERROR |
| 查询命令 | AT+FSREAD=? | OK 或 ERROR |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 文件名 | 字符串型,不用加双引号,不超过64个字节 | ||
| 读文件的模式 | 0 | 从文件开头读文件 | |
| 1 | 从文件的 |
||
| 要读取的文件的长度 | 不能大于10240个字节。如果文件的实际长度小于该值,则读取的是文件的实际长度。 | ||
| 读文件的起始位置 | 该取值应小于文件的大小。当 |
||
| 读取的文件数据 |
写文件:AT+FSWRITE
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+FSWRITE= , |
> (出现>后写入数据) OK 或 ERROR 或 TimeOut |
| 查询命令 | AT+FSWRITE=? | OK 或 ERROR |
| 注意事项 | 当输入数据的长度达到 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 文件名 | 字符串型,不用加双引号,不超过64个字节 | ||
| 写文件的模式 | 0 | 从文件的开头开始写文件 | |
| 1 | 从文件的末尾开始写文件 | ||
| 要写的数据的长度 | 不能大于10240个字节 | ||
| 输入持续的时间 | 1~4294967295 | 单位:秒 |
获取盘符:AT+FSDRIVE
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+FSDRIVE= |
+FSDRIVE: OK |
| 查询命令 | AT+FSDRIVE=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 盘符类型 | 0 | 本地盘符 | |
| 1 | SD卡盘符 | ||
| 盘符 | 字符串型。加不加双引号皆可. 如果是本地存储,则盘符为C;如果是SD卡,则盘符为D |
显示文件目录列表:AT+FSLS
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+FSLS= |
list of subdirectories/files OK |
| 查询命令 | AT+FSLS=? | OK |
| 注意事项 | 1) 如果返回的结果最后一个字符是\,则表示为目录名,否则为文件名 2) 查询模块本地FLASH根目录使用:AT+FSLS="/"或AT+FSLS="C:/" 3) 查询外接TF卡根目录使用:AT+FSLS="D:/" |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 文件路径 | 字符串型,不用加双引号,不超过64个字节。 |
获取可用空间大小:AT+FSMEM
执行命令用来获取文件系统剩余空间大小。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+FSMEM | +FSMEM: OK |
| 查询命令 | AT+FSMEM=? | OK 或 ERROR |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 文件系统可用空间大小 | 单位:字节 |
创建目录:AT+FSMKDIR
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+FSMKDIR= |
OK 或 ERROR |
| 查询命令 | AT+FSMKDIR=? | OK 或 ERROR |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 目录名 | 字符串型,不用加双引号,不超过64个字节 |
删除目录:AT+FSRMDIR
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+FSRMDIR= |
OK 或 ERROR |
| 查询命令 | AT+FSRMDIR=? | OK 或 ERROR |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 文件名 | 字符串型,不用加双引号,不超过64个字节 |
删除文件:AT+FSDEL
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+FSDEL= |
OK 或 ERROR |
| 查询命令 | AT+FSDEL=? | OK 或 ERROR |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 文件名 | 字符串型,不用加双引号,不超过64个字节 |
获取文件大小:AT+FSFLSIZE
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+FSFLSIZE= |
+FSFLSIZE: OK |
| 查询命令 | AT+FSFLSIZE=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 文件名 | 字符串型,不用加双引号,不超过64个字节 | ||
| 文件大小 | 单位:字节 |
使用方法举例
由于这部分的命令具有高度相关性,所以将各个命令的应用例程集中在一起描述。
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| 本地文件系统读写命令使用方法: | ||
| → | AT+FSMKDIR="/testdir" | 创建一级目录 |
| ← | OK | |
| → | AT+FSMKDIR="/testdir/testdir" | 创建二级目录 |
| ← | OK | |
| → | AT+FSCREATE="/testdir/test.txt" | 一级目录下创建文件 |
| ← | OK | |
| → | AT+FSLS="/testdir" | 显示一级目录列表 |
| ← | testdir\ test.txt OK |
|
| → | AT+FSWRITE="/testdir/test.txt",0,10,10 | 写文件 |
| → | >1234567890 | 当出现">"后,输入写入的数据:1234567890。 |
| ← | OK | |
| → | AT+FSREAD="/testdir/test.txt",0,10,10 | 读取文件数据 |
| ← | 1234567890 OK |
|
| → | AT+FSMEM | 获取文件系统可用空间大小 |
| ← | +FSMEM: 1304000 bytes OK |
|
| → | AT+FSFLSIZE="/testdir/test.txt" | 获取文件大小 |
| ← | +FSFLSIZE: 10 OK |
|
| → | AT+FSDEL="/testdir/test.txt" | 删除文件 |
| ← | OK | |
| → | AT+FSRMDIR="/testdir/testdir" | 删除目录 |
| ← | OK | |
| SD卡文件系统读写命令使用方法: | ||
| → | AT+FSMKDIR="D:/testdir" | 创建一级目录 |
| ← | OK | |
| → | AT+FSMKDIR="D:/testdir/testdir" | 创建二级目录 |
| ← | OK | |
| → | AT+FSCREATE="D:/testdir/test.txt" | 一级目录下创建文件 |
| ← | OK | |
| → | AT+FSLS="D:/testdir" | 显示一级目录列表 |
| ← | testdir\ test.txt OK |
|
| → | AT+FSWRITE="D:/testdir/test.txt",0,10,10 | 写文件 |
| → | >1234567890 | 当出现">"后,输入写入的数据:1234567890。 |
| ← | OK | |
| → | AT+FSREAD="D:/testdir/test.txt",1,5,2 | 读取文件数据 |
| ← | 34567 OK |
|
| → | AT+FSFLSIZE="D:/testdir/test.txt" | 获取文件大小 |
| ← | +FSFLSIZE: 10 OK |
|
| → | AT+FSDEL="D:/testdir/test.txt" | 删除文件 |
| ← | OK | |
| → | AT+FSRMDIR="D:/testdir/testdir" | 删除目录 |
| ← | OK |
嵌入式TCPIP命令
启动多IP连接:AT+CIPMUX
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPMUX= |
OK |
| 查询命令 | AT+CIPMUX? | +CIPMUX: OK |
| 测试命令 | AT+CIPMUX=? | +CIPMUX: (0,1) OK |
| 注意事项 | 只在 IP initial 状态,本命令的设置命令才能设置成功 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 多路连接开关 | 0 | 单路连接(缺省值) | |
| 1 | 多路连接 |
启动任务并设置接入点APN、用户名、密码:AT+CSTT
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CSTT= |
OK |
| 查询命令 | AT+CSTT? | +CSTT: OK |
| 测试命令 | AT+CSTT=? | +CSTT: "APN","USER","PWD" OK |
| 注意事项 | 1)设置命令和执行命令只有在 IP INITIAL 状态下执行有效。执行设置命令后,状态变为 IP START 2)模块注册网络后会从网络自动获取 的APN |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| GPRS 接入点名称 | - | 字符串参数(双引号可加可不加),不超过128个字符 | |
| GPRS 用户名 | - | 字符串参数(双引号可加可不加),不超过32个字符 | |
| GPRS 密码 | - | 字符串参数(双引号可加可不加),不超过32个字符 |
专网卡设置APN、用户名、密码和鉴权方式:AT+CPNETAPN
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CPNETAPN= |
OK |
| 查询命令 | AT+CPNETAPN? | MODE: APN: USR: PWD: AUTHMODE: OK |
| 测试命令 | AT+CPNETAPN=? | +CPNETAPN: (0-3), OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 参数的保存模式 | 0 | 保存并重启生效 | |
| 1 | 不保存立即生效注:如果专网卡和普通卡都会使用,mode请设置为1 | ||
| 2 | 保存并立即生效注:如果一直使用专网卡,mode请设置为2 | ||
| 3 | 删除保存的参数 | ||
| GPRS 接入点名称 | 字符串参数(双引号可加可不加),不超过128个字符。注:此参数不可以为空 | ||
| GPRS 用户名 | 字符串参数(双引号可加可不加),不超过32个字符。如果为空,则表示为"" | ||
| GPRS 密码 | 字符串参数(双引号可加可不加),不超过32个字符。如果为空,则表示为"" | ||
| 0 | 无鉴权 | ||
| 1 | PAP | ||
| 2 | CHAP |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CPNETAPN=2,jscmiot,u9682,iot98765,2 | 设置专网卡的APN。各个参数请据实填写,不要照抄。设置此命令时模块会自动将AT+AUTOAPN设置为0,不用提前输入AT+AUTOAPN=0 |
| ← | OK | 设置成功。设置成功后参数会保存到NV,模块会自动重启 |
| 重启后缺省的PDP承载( AT+CGDCONT? +CGDCONT: 5,"IP"," jscmiot.MNC011.MCC460.GPRS","10.134.28.241",0,0,,,, OK 后面数据应用中CSTT或SAPBR设置APN的时候,只需要APN为空或设置<专网apn>即可,不需要再设置 例如: AT+CSTT=jscmiot AT+CSTT AT+SAPBR=3,1,"APN","jscmiot" AT+SAPBR=3,1,"APN","" |
激活移动场景(或发起GPRS 或CSD无线连接):AT+CIICR
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | AT+CIICR | 如果激活成功,返回: OK 如果激活失败,返回: ERROR |
| 测试命令 | AT+CIICR=? | 返回: OK |
| 注意事项 | AT+CIICR 只有在IP START状态下才能激活移动场景,执行后状态变为IP CONFIG。 在模块接受激活场景操作后,如果移动场景激活成功,状态变为IPGPRSACT,返回OK,否则返回 ERROR。 |
查询本地IP地址:AT+CIFSR
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | AT+CIFSR | |
| 测试命令 | AT+CIFSR=? | OK |
| 注意事项 | 只有在移动场景已激活的状态: IPGPRSACT 、 TCP/UDPCONNECTING 、 CONNECT OK 、 IP CLOSE 下才可以通过AT+CIFSR 查询得到本地 IP 地址,否则返回 ERROR |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| IP 地址 | - | 字符串参数(字符串需要加引号) |
设置TCP使用SSL功能:AT+CIPSSL
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPSSL= |
OK |
| 查询命令 | AT+CIPSSL? | +CIPSSL: OK |
| 测试命令 | AT+CIPSSL=? | +CIPSSL: (0-1) OK |
| 注意事项 | 在CIPSTART之前输入设置命令AT+CIPSSL=1来打开SSL功能。打开SSL功能后,模块会在TCP连接建立后自动进行SSL验证。当前仅支持作为SSL Client应用。 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| SSL功能开关 | 0 | 关闭SSL | |
| 1 | 打开SSL |
配置TCP SSL参数:AT+SSLCFG
设置命令用来设置SSL版本,SSL加密算法(ciphersuites),安全等级(securitylevel),CA 证书(CertificateAuthority Certificate),客户端证书(client certificate)和客户端密钥(client key)。这些参数在SSL协议的握手过程中会用到。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+SSLCFG="sslversion", |
如果 +SSLCFG: "sslversion", OK 否则,设置 OK 如果命令格式或参数错误,返回: ERROR |
| AT+SSLCFG="ciphersuite", |
如果 +SSLCFG: ciphersuite", OK |
|
| 否则,设置 OK 如果目录格式或参数错误,返回: ERROR |
||
| AT+SSLCFG="cacert", ] |
如果 +SSLCFG:"cacert", OK 否则,设置 OK 如果目录格式或参数错误,返回: ERROR |
|
| AT+SSLCFG="clientcert", |
如果 +SSLCFG:"clientcert", OK 否则,设置 OK 如果命令格式或参数错误,返回: ERROR |
|
| AT+SSLCFG="clientkey", |
如果 +SSLCFG:"clientkey", OK 否则,设置 OK 如果命令格式或参数错误,返回: ERROR |
|
| AT+SSLCFG="seclevel", |
如果 +SSLCFG:"seclevel", OK 否则,设置 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| SSL上下文 id | 0~5,34,88, 153 |
整数型。 TCP功能时与CIPSTART中的 SSL上下文id也为1。 TCP单链接中SSL上下文id固定为0. FTP功能时 MQTT功能时 HTTP功能时 |
|
| SSL 版本 | 0 | SSL3.0 | |
| 1 | TLS1.0 | ||
| 2 | TLS1.1 | ||
| 3 | TLS1.12 | ||
| 4 | ALL above | ||
| SSL ciphersuites | 0X0035 | TLS_RSA_WITH_AES_256_CBC_SHA | |
| 0X002F | TLS_RSA_WITH_AES_128_CBC_SHA | ||
| 0X0005 | TLS_RSA_WITH_RC4_128_SHA | ||
| 0X0004 | TLS_RSA_WITH_RC4_128_MD5 | ||
| 0X000A | TLS_RSA_WITH_3DES_EDE_CBC_SHA | ||
| 0X003D | TLS_RSA_WITH_AES_256_CBC_SHA256 | ||
| 0XFFFF | ALL above | ||
| 被信任的CA 证书路径 | 字符串型 | ||
| 客户端证书路径 | 字符串型 | ||
| 客户端密钥路径 | 字符串型 | ||
| 安全等级 | 0 | No authentication | |
| 1 | 服务器鉴权 | ||
| 2 | 服务器鉴权和客户端鉴权(如果服务器要求的话) | ||
| 主机名 | |||
| 该参数决定如何对待过期证书 | 0 | 关心证书的过期时间 | |
| 1 | 忽略证书的过期时间 | ||
| SSL协商阶段的最大时间 | 10~300 | 单位:秒 | |
| 随机数,十六进制数组成的字符串,支持56和64个字节 | 数字和字母的组合 | 字符串型,双引号可加可不加,数字的范围:0~9,字母的范围:ABCDEF(大小写不敏感)。例如 56个字节的: 101B12C3141516171F192021222324252 62728293031323334353637 |
|
| premaster | |||
| 证书验证模式 | 0 | 根证书认证 | |
| 1 | 其他证书认证 |
配置本地TCP端口:AT+CLPORT
语法规则:
| 命令类型 | 语法 | 返回 | |
|---|---|---|---|
| 设置命令 | 单链接: AT+CLPORT= 多链接: AT+CLPORT= |
OK 或 ERROR |
|
| 查询命令 | AT+CLPORT? | +CLPORT: OK |
单链接 (CIPMUX=0) |
| +CLPORT: 0, +CLPORT: 1, +CLPORT: 2, +CLPORT: 3, |
多链接 (CIPMUX=1) |
||
| +CLPORT: 4, +CLPORT: 5, OK |
|||
| 测试命令 | AT+CLPORT=? | +CLPORT: ("TCP","UDP"),(0-65535) OK |
单链接 (CIPMUX=0) |
| +CLPORT: (0-5),("TCP","UDP"),(0-65535) OK |
多链接 (CIPMUX=1) |
||
| Link No. | 0~5 | 整数型,表示连接序号 | |
| 连接类型,字符串型(双引号可加可不加) | "TCP" | 建立TCP连接 | |
| "UDP" | 建立UDP连接 | ||
| 模块端口 | 1~65535 | 整数型 |
建立TCP连接或注册UDP端口号:AT+CIPSTART
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | 单路连接 (+CIPMUX=0)时: AT+CIPSTART= |
如果格式正确且处于IP INITIAL 或者 IP STATUS 或TCP/UDP CLOSE状态,返回: OK 否则返回: +CME ERROR 紧接着会有URC上报,上报内容如下:如果连接已经存在,返回: ALREADY CONNECT 如果连接成功(非透传),返回: CONNECT OK 如果连接成功(透传),返回: CONNECT 否则返回: STATE: CONNECT FAIL |
| 多路连接(+CIPMUX=1)时: AT+CIPSTART= |
如果格式正确且处于 IP STATUS或IP PROCESSING时,返回: OK 否则返回: +CME ERROR 紧接着会有URC上报,上报内容如下:如果连接已经存在, 返回: |
|
| 如果连接成功,返回: 否则返回: |
||
| 测试命令 | AT+CIPSTART=? | 单路连接(+CIPMUX=0)时返回: +CIPSTART: ( range),(port range) +CIPSTART: ( name),(port range) OK |
| 多路连接(+CIPMUX=1)时返回: +CIPSTART: ( 取值列表 ),(IP addressrange),(port range) +CIPSTART: ( OK |
||
| 注意事项 | 此命令应用于建立 TCP/UDP 连接; 当前状态可用AT+CIPSTATUS查询; 单路连接时只当前状态为IP INITIAL 或者 IP STATUS或TCP/UDP CLOSE 时可执行,多路连接时当前状态为 IP STATUS或IP PROCESSING时可执行; 在当前状态不是上述可执行状态时,需执行 AT+CIPSHUT后再开始建立连接; 多路连接时,设置此命令前,必须先执行AT+CSTT, AT+CIICR,AT+CIFSR这三个命令。 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| Link No. | 0~5 | 整数型,表示连接序号 | |
| 连接类型,字符串型(双引号可加可不加) | "TCP" | 建立TCP连接 | |
| "UDP" | 建立UDP连接 | ||
| 远端服务器 IP 地址或域名皆可 | 最大128个字节 | 字符串参数(双引号可加可不加) | |
| 远端服务端口 | 1~65535 | 整数型 | |
| 单连接状态 | IP INITIAL | 初始化 | |
| IP START | 启动任务 | ||
| IP CONFIG | 配置场景 | ||
| IP GPRSACT | 场景已激活 | ||
| IP STATUS | 获得本地 IP 状态 | ||
| TCP CONNECTING/UDP CONNECTING/SERVER LISTENING |
TCP 连接中/UDP 端口注册中/服务器侦听中 | ||
| CONNECT OK | 连接建立成功 | ||
| TCP CLOSING/UDP CLOSING |
正在关闭 TCP 连接,正在注销 UDP 端口 | ||
| TCP CLOSED/UDP CLOSED |
连接断开 /UDP 端口被注销 | ||
| PDP DEACT | 场景被释放 |
选择TCPIP应用模式:AT+CIPMODE
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPMODE= |
OK |
| 查询命令 | AT+CIPMODE? | +CIPMODE: OK |
| 测试命令 | AT+CIPMODE=? | +CIPMODE: (0-NORMAL MODE,1-TRANSPARENT MODE) OK |
| 注意事项 | 此命令只有在IP INITIAL状态下才能进行设置只有TCP单链接才支持透明传输模式 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| TCPIP应用模式 | 0 | 非透明传输模式 | |
| 1 | 透明传输模式 |
选择非透传数据发送模式:AT+CIPQSEND
注: 慢发模式每发送一笔数据需要服务器那边的确认,而快发则发送到模块就可以了,不需要服务器的确认。推荐使用0或1,即快发模式; 这两种快发模式实现机制没有区别,区别只在于发送完数据,模式0提示SEDN OK,模式1提示DATA ACCEPT; 建议使用CIPACK命令查询每笔数据对端是否已经收到
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPQSEND= |
OK |
| 查询命令 | AT+CIPQSEND? | +CIPQSEND: OK |
| 测试命令 | AT+CIPQSEND=? | +CIPQSEND: (0,1,2) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 非透传数据发送模式 | 0 | 缺省值。快发模式0。当服务器收到数据,模块返回: SEND OK (单链接)或 |
|
| 1 | 快发模式1。当数据发送到模块,终端返回: DATA ACCEPT: DATA ACCEPT: |
||
| 2 | 慢发模式当服务器收到数据,模块返回: SEND OK (单链接)或 |
设置接收的数据末尾是否自动添加回车换行:AT+CIPRXF
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPRXF= |
OK |
| 查询命令 | AT+CIPRXF? | +CIPRXF: OK |
| 测试命令 | AT+CIPRXF=? | +CIPRXF: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 模式 | 0 | 每笔收到的数据末尾自动添加一个回车换行(\r\n) | |
| 1 | 每笔收到的数据末尾不添加回车换行(\r\n) |
配置透明传输模式:AT+CIPCCFG
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPCCFG= |
OK |
| 查询命令 | AT+CIPCCFG? | +CIPCCFG: OK |
| 测试命令 | AT+CIPCCFG=? | +CIPCCFG: (NmRetry:3-8),(WaitTm:2-10),(SendSz:1-14 60),(esc:0,1),(Rxmode:0,1),(RxSize:50-1460 ),(Rxtimer:20-1000),(BufClean:0,1) |
| OK | ||
| 注意事项 | 此命令只在单路连接(AT+CIPMUX=0)且AT+CIPMODE=1的情况下可以设置 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 一个IP包的重传次数 | 3~8 | 缺省值为5 | |
| 间隔发送时间 | 2~10 | 单位为 100ms,缺省值为2。 | |
| 每次发送数据字节数 | 1~1460 | 缺省值为1024 | |
| 是否开启转义序列 [软件上不支持转义功能,请忽略此参数所代表的意义] |
1 | 开启转义序列 | |
| 0 | 不开启转义序列,默认值 | ||
| 从串口接收数据的时间间隔设置 | 1 | 设置时间间隔,间隔为 |
|
| 0 | 没有时间间隔 | ||
| 每次接收数据的长度 | 50-1460 | 单位为bytes | |
| 从串口接收数据的时间间隔 | 20-1000 | 单位为ms,缺省值为50ms | |
| 退出透传后是否清空发送缓存区 | 0 | 不清空缓冲区一旦出错自动退出透传模式后,保留缓存数据。下次重连进入透传模式后,会发送之前缓冲区中的数据给服务器 | |
| 1 | 清空缓存区一旦出错自动退出透传模式后,缓存被清空。下次重连进入透传模式后,不会发送之前缓冲区中被清空的数据给服务器 |
发送数据:AT+CIPSEND
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | 单路连接(AT+CIPMUX=0): AT+CIPSEND= |
本命令用于在单链接模式下发送长度不可变的数据 1) 正常情况下返回 > (后面有个空格) >(空格)后输入 SEND OK 如果是快发模式1,则数据发送成功后,有如下的返回: DATA ACCEPT: 如果数据发送失败,则有如下的返回: SEND FAIL 2) 如果连接未建立或者连接被断开,返回: +CME ERROR |
| 多路连接(+CIPMUX=1): AT+CIPSEND= |
当 ESC(0x1B)中止操作;当 |
|
| 如果连接未建立或者连接被断开,返回: +CME ERROR 如果是快发模式0或慢发模式,则数据发送成功后,有如下的返回: 如果是快发模式1,则数据发送成功后,有如下的返回: DATA ACCEPT: 如果数据发送失败,返回: |
||
| 执行命令 | AT+CIPSEND | 本命令用于在单链接模式下发送长度可变的数据响应"> ",此时输入数据,执行CTRL+Z(0x1A)发送,或执行 ESC(0x1B)中止操作如果连接未建立或已被断开,返回: +CME ERROR 如果是慢发模式,则数据发送成功后,有如下的返回: SEND OK 如果是快发模式,则数据发送成功后,有如下的返回: DATA ACCEPT: 如果数据发送失败,返回: SEND FAIL |
| 查询命令 | AT+CIPSEND? | 单路连接(AT+CIPMUX=0)返回: +CIPSEND: OK |
| 多路连接(AT+CIPMUX=1)返回: +CIPSEND: OK |
||
| 测试命令 | AT+CIPSEND=? | 单路连接(AT+CIPMUX=0)返回: +CIPSEND: OK |
| 多路连接(AT+CIPMUX=1)返回: +CIPSEND: <0-7>, OK |
||
| 注意事项 | 数据的最大发送长度由网络决定。 通过AT+CIPATS可以在设定的时间内自动发送数据。 只有在连接已建立的状态下才可以发送数据。 一次最多能发送字节数不大于 不推荐使用慢发模式! 发送命令AT+CIPSEND或AT+CIPSEND= AT+CIPSEND\r >\n123456 模块会判断为AT+CIPSEND\r\n,会把数据中第一个字符\n吃掉。服务器那边收到的数据是123456。 |
|
| 解决的方法是: AT+CIPSEND\r\n >\n123456 再例如: AT+CIPSEND=7\r >\n123456 模块会判断为AT+CIPSEND\r\n,会把数据中第一个字符\n吃掉,导致数据少一个字符,会一直发不出去。解决的方法是: AT+CIPSEND=7\r\n >\n123456 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| Link No. 与+CIPSTRAT中 |
0~5 | 整数型,表示连接序号 | |
| 发送数据长度 | - | 整数型,它必须小于 |
|
| 每次发送数据最大值 | - | 整数型,目前是1460字节 |
设置自动发送数据前的定时时间:AT+CIPATS
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPATS= |
OK |
| 查询命令 | AT+CIPATS? | +CIPATS: OK |
| 测试命令 | AT+CIPATS=? | +CIPATS: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 是否设置自动发送时间,整数型 | 0 | 未设置自动发送数据 (缺省值) | |
| 1 | 设置自动发送数据 | ||
| 数据将在多少秒后被发送 | 1~100 | 整数型,以秒为单位 |
设置发送数据时是否显示‘>’和发送情况提示:AT+CIPSPRT
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPSPRT= |
OK |
| 查询命令 | AT+CIPSPRT? | +CIPSPRT: OK |
| 测试命令 | AT+CIPSPRT=? | +CIPSPRT: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 执行 AT+CIPSEND 后是否显示‘>’ 和发送情况提示(即‘SEND OK‘或‘DATA ACCEPT‘)。整数型 |
0 | 不显示‘>’,但返回 "SEND OK"或"DATA ACCEPT" 注:返回 "SEND OK"或"DATA ACCEPT"由 AT+CIPQSEND这个命令的设定来决定 |
|
| 1 | 显示‘>’,且返回 "SEND OK" 或"DATA ACCEPT" 缺省值注:返回 "SEND OK"或"DATA ACCEPT" 由 AT+CIPQSEND这个命令的设定来决定 |
||
| 2 | 不显示‘>’,不返回 "SEND OK" 或"DATA ACCEPT" |
查询当前连接状态:AT+CIPSTATUS
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | AT+CIPSTATUS | 如果是单路连接(AT+CIPMUX=0),返回: OK STATE: |
| 如果是多路连接 (AT+CIPMUX=1),返回: OK STATE: C: |
||
| 查询命令 | AT+CIPSTATUS= (多路连接时支持) |
多路连接 (AT+CIPMUX=1),返回: |
| 测试命令 | AT+CIPSTATUS=? | 返回: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| Link No. | 0~5 | 整数型,表示连接序号与+CIPSTRAT中 |
|
| GPRS 承载方式 | 0~1 | 缺省是0 | |
| IP 地址 | - | 字符串参数(字符串需要加引号) | |
| 端口号 | - | 整数型 | |
| 单连接状态 | IP INITIAL | 初始化 | |
| IP START | 启动任务 | ||
| IP CONFIG | 配置场景 | ||
| IP GPRSACT | 场景已激活 | ||
| IP STATUS | 获得本地 IP 状态 | ||
| TCP CONNECTING/UDP CONNECTING/SERVER LISTENING |
TCP 连接中/UDP 端口注册中/服务器侦听中 | ||
| CONNECT OK | 连接建立成功 | ||
| TCP CLOSING/UDP CLOSING |
正在关闭 TCP 连接,正在注销 UDP 端口 | ||
| TCP CLOSED/UDP CLOSED |
连接断开 /UDP 端口被注销 | ||
| PDP DEACT | 场景被释放 | ||
| 多链接状态 | IP INITIAL | 初始化 | |
| IP START | 启动任务 | ||
| IP CONFIG | 配置场景 | ||
| IP GPRSACT | 场景已激活 | ||
| IP STATUS | 获得本地 IP 状态 | ||
| IP PROCESSING | IP 数据阶段 | ||
| PDP DEACT | 场景被释放 | ||
| 客户端状态 | INITIAL | 初始化 | |
| CONNECTING | 正在连接 | ||
| CONNECTED | 已连接 | ||
| REMOTE CLOSING | 对端关闭 | ||
| CLOSING | 正在关闭 | ||
| CLOSED | 已关闭 |
查询已连接数据传输状态:AT+CIPACK
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | 多路连接(+CIPMUX=1): AT+CIPACK= |
+CIPACK: OK |
| 执行命令 | 单路连接(AT+CIPMUX=0): AT+CIPACK |
+CIPACK: OK |
| 测试命令 | AT+CIPACK=? | OK |
| 注意事项 | 当链接建立后,查询AT+CIPACK, |
|
| AT+CIPSHUT后或链接断链后重连,查询AT+CIPACK,三个参数都重置为0 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| Link No. | 0~5 | 整数型,表示连接序号。与+CIPSTRAT中 |
|
| 链接 |
- | 整数型 | |
| 链接 |
- | 整数型 | |
| 链接 |
- | 整数型 |
设置为CSD或GPRS连接模式:AT+CIPCSGP
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CIPCSGP= |
OK |
| 查询命令 | AT+CIPCSGP? | +CIPCSGP: OK |
| 测试命令 | AT+CIPCSGP=? | +CIPCSGP: 1-GPRS,APN,USER NAME,PASSWORD OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 无线连接模式 | 1 | GPRS连接 | |
| GPRS下要设置的参数: | |||
| GPRS 接入点名称 | - | 字符串参数(字符串需要加引号) | |
| GPRS 用户名 | - | 字符串参数(字符串需要加引号) | |
| GPRS 密码 | - | 字符串参数(字符串需要加引号) |
配置域名服务器DNS:AT+CDNSCFG
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CDNSCFG= |
OK |
| 查询命令 | AT+CDNSCFG? | PrimaryDns: SecondaryDns: OK |
| 测试命令 | AT+CDNSCFG=? | +CDNSCFG: ("Primary DNS"),("Secondary DNS") OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 主域名服务器的 IP地址 | 字符串参数(字符串需要加引号) | ||
| 备域名服务器的 IP地址 | 字符串参数(字符串需要加引号) | ||
| 定义同+SAPBR中 |
1~3 | 当使用SAPBR激活pdp承载后,如有需要,再使用带 |
举例:
| 命令(→) 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| +CDNSCFG命令查询和修改域名服务器的场景应用1(TCPIP,MQTT应用): | ||
| → | AT+CREG? | 查询当前GPRS注册状态 |
| ← | +CREG:0,1 OK |
|
| → | AT+CSTT | |
| ← | OK | |
| → | AT+CIICR | |
| ← | OK | |
| → | AT+CIFSR | |
| ← | 10.113.72.66 | |
| → | AT+CDNSCFG? | 查询默认DNS服务器 |
| ← | PrimaryDns: 211.136.112.50 SecondaryDns: 211.136.150.66 OK |
|
| → | AT+CDNSCFG=ip1,ip2 | 如果有需要,客户可以修改DNS服务器 ip1和ip2请按照实际的dns服务器地址输入,ip1和ip2 可以加双括号,也可以不加 |
| ← | OK | |
| → | AT+CIPSTART=TCP, |
连接一个域名地址。所有参数可加双括号,也可不加本例是TCPIP的应用举例。如果是MQTT应用,此时可依次输入: AT+MCONFIG,AT+MIPSTART,AT+MCONNECT等命令,具体请参考MQTT使用方法举例 |
| ← | OK CONNECT OK |
|
| +CDNSCFG查询和修改域名服务器的场景应用2(HTTP,FTP应用): | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | |
| ← | OK |
域名解析:AT+CDNSGIP
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CDNSGIP= |
如果命令正确,而且域名解析成功,响应: OK +CDNSGIP: 1, 如果命令正确,但域名解析失败,响应: OK +CDNSGIP:0, 如果命令语法错误,响应: ERROR |
| 测试命令 | AT+CDNSGIP=? | 返回: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| Internet 上注册的域名 | - | 字符串参数(字符串需要加引号),不超过128个字节 | |
| 域名对应的IP地址 | - | 字符串参数(字符串需要加引号) | |
| DNS相关的错误码 | 10 | GENERAL ERROR | |
| 11 | MAX RETRIES | ||
| 12 | NO SERVER ADDR | ||
| 13 | NO MEMORY | ||
| 14 | INVALID NAME | ||
| 15 | INVALID RESP | ||
| 其他 | 一些其他的错误代码 |
设置单链接接收数据时是否显示发送方的IP地址和端口号:AT+CIPSRIP
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPSRIP= |
OK |
| 查询命令 | AT+CIPSRIP? | +CIPSRIP: OK |
| 测试命令 | AT+CIPSRIP=? | +CIPSRIP: ( OK |
| 注意事项 | 此命令只在单路连接模式下有效(+CIPMUX=0) |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 是否显示发送方的 IP 地址和端口号 |
0 | 不显示提示(缺省值) | |
| 1 | 显示提示,格式如下: RECV FROM: |
设置单链接接收数据是否显示IP头:AT+CIPHEAD
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPHEAD= |
OK |
| 查询命令 | AT+CIPHEAD? | +CIPHEAD: OK |
| 测试命令 | AT+CIPHEAD=? | +CIPHEAD: ( OK |
| 注意事项 | 此命令只有在单路连接的模式下 (+CIPMUX=0)才有效 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 接收数据时是否增加 IP 头提示 | 0 | 未设置IP头 | |
| 1 | 设置IP头,格式是 "+IPD,data length:" |
设置单链接接收数据是否在IP头显示传输协议:AT+CIPSHOWTP
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CIPSHOWTP= |
OK |
| 查询命令 | AT+CIPSHOWTP? | +CIPSHOWTP: OK |
| 测试命令 | AT+CIPSHOWTP=? | +CIPSHOWTP: ( OK |
| 注意事项 | 此命令只有在单路连接的模式下 (+CIPMUX=0) 并且AT+CIPHEAD=1 时才有效 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 接收数据时是否在 IP 头显示传输协议 |
0 | 不显示传输协议(默认值) | |
| 1 | 显示传输协议,格式是"+IPD,, |
配置TCP协议的参数:AT+TCPUSERPARAM
| 语法规则: | |||||
|---|---|---|---|---|---|
| 命令类型 | 语法 | 返回 | |||
| 设置命令 | AT+TCPUSERPARAM= |
OK | |||
| 查询命令 | AT+TCPUSERPARAM? | +RXTRTTVAR: +RXTMAXCNT: OK |
|||
| 测试命令 | AT+TCPUSERPARAM=? | RXTRTTVAR: (1-60) RXTMAXCNT:(0-12) OK |
|||
| 参数定义: | |||||
| 参数 | 定义 | 取值 | 对取值的说明 | ||
| 第一次重传超时时间 | 1~60 | 整数型,单位为秒,缺省值为1 事实上第i次重传超时时间为P1<<config[i] 注: <<为左移符号 config[i]={0,1,2,3,4,5,6,7,7,7,7,7} ,即: config[1]=0,第1次重传超时时间为1(1<<0) config[2]=1,第2次重传超时时间为2(1<<1) config[3]=2,第3次重传超时时间为4(1<<2) config[4]=3,第4次重传超时时间为8(1<<3) config[5]=4,第5次重传超时时间为16(1<<4) config[6]=5,第6次重传超时时间为32(1<<5) |
|||
| config[7]=6,第7次重传超时时间为64(1<<6) config[8]=7,第8次重传超时时间为128(1<<7) config[9]=7,第9次重传超时时间为128 (1<<7) config[10]=7,第10次重传超时时间为128 (1<<7) config[11]=7,第11次重传超时时间为128 (1<<7) config[12]=7,第12次重传超时时间为128 (1<<7) 例如: AT+TCPUSERPARAM=1,6 的情况下: 15:57:34 开始SEND,然后在1秒无应答情况下, 15:57:35开始第1次重传,然后在2秒无应答情况下, 15:57:37开始第2次重传,然后在4秒无应答情况下, 15:57:41开始第3次重传,然后在8秒无应答情况下, 15:57:49开始第4次重传,然后在16秒无应答情况下,15:58:05开始第5次重传,然后在32秒无应答情况下,15:58:37开始第6次重传。 |
|||||
| 重传次数 | 0~12 | 整数型,缺省值为6 |
多链接时接收数据:+RECEIVE
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| URC上报 | +RECEIVE, Received data |
注:Received data 是接收到的数据,和 +RECEIVE, |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| Link No. 与+CIPSTRAT 中 定义一致 |
0~5 | 整数型,表示连接序号 | |
| 接收到的数据的长度 | - | 整数型 |
保存TCPIP应用上下文:AT+CIPSCONT
该命令的执行命令保存包含相应的TCPIP AT 命令参数,即TCPIP 应用上下文,当系统重启时,参数将自动载入。查询命令查询当前的TCPIP应用上下文的设置。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 查询命令 | AT+CIPSCONT? | +CIPSCONT: +CIPCSGP: Gprs Config APN: Gprs Config UserId: Gprs Config Password: |
| +CIPHEAD: +CIPSHOWTP: +CIPSRIP: +CIPATS: +CIPSPRT: +CIPQSEND: +CIPMODE: +CIPCCFG: , +CIPMUX: +CIPDPDP: +CIPRXGET: +CIPRDTIMER: 2000,3500 OK |
||
| 执行命令 | AT+CIPSCONT | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 是否保存上下文 | 0 | 保存TCPIP 应用上下文 | |
| 1 | 默认值,表示不保存TCPIP 应用上下文 |
手动获得网络数据:AT+CIPRXGET
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 打开手动获取数据功能: AT+CIPRXGET=1(或5,从V867版本开始支持设置为5) OK 设置为1后,第一次上报数据会有+CIPRXGET:1的URC上报,后面再来数据就不报了,直到AT+CIPRXGET=2或3来读取,才会再次上报。设置为5后,每次来数据皆有上报,不管上次数据有没有读过。 |
||
| 收到+CIPRXGET:1输入以下命令来手动读取数据: AT+CIPRXGET=2, +CIPRXGET:2, ……数据….. OK |
||
| 收到+CIPRXGET:1也可以16进制读取: AT+CIPRXGET=3, +CIPRXGET:3, ……数据….. OK |
||
| 查询还有多少数据未读: AT+CIPRXGET=4 +CIPRXGET:4, OK |
||
| 多链接(AT+CIPMUX=1)时: AT+CIPRXGET= len>] |
打开手动获取数据功能输入: AT+CIPRXGET=1(或5,从V867版本开始支持设置为5) OK 后续来数据会有+CIPRXGET:1的URC上报 |
|
| 收到+CIPRXGET:1输入以下命令来手动读取数据: AT+CIPRXGET=2, +CIPRXGET:2, ……数据….. OK |
||
| 收到+CIPRXGET:1也可以16进制读取: AT+CIPRXGET=3, +CIPRXGET:3, ……数据….. OK |
||
| 查询还有多少数据未读: AT+CIPRXGET=4, +CIPRXGET:4, OK |
||
| 查询命令 | AT+CIPRXGET? | +CIPRXGET: OK |
| 测试命令 | AT+CIPRXGET=? | OK |
| URC上报 | +CIPRXGET:1 | 单链接,设置AT+CIPRXGET=1或5后,当收到网络数据时,会有如此的URC上报,表示收到数据 |
| +CIPRXGET:1, |
多链接,设置AT+CIPRXGET=1或5后,当收到网络数据时,会有如此的URC上报,表示收到数据 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 模式 | 0 | 关闭手动获取数据功能。缺省值。 | |
| 1 | 开启手动获取数据功能。设置为1后,第一次上报数据会有+CIPRXGET:1的 URC上报,后面再来数据就不报了,直到 AT+CIPRXGET=2或3来读取,才会再次上报 |
||
| 2 | 读取数据 | ||
| 3 | 读取数据(16进制) | ||
| 4 | 还有多少数据未读 | ||
| 5 | 开启手动获取数据功能。设置为5后,每次来数据皆有上报。 | ||
| 多链接时的Link id | 0-5 | 定义同+CIPSTART命令的 |
|
| 将要读取的数据的长度 | 1-1460 | 普通字符方式读取时 | |
| 1-730 | HEX方式读取时 | ||
| 已经读取的数据 | 单位:字节 | ||
| 尚未读取的数据 | 单位:字节 |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| 单链接时如何手动读取网络数据 | ||
| → | AT+CIPRXGET=1 | 开启手动获取网络数据功能 |
| ← | OK | |
| → | AT+CGREG? | 查询当前GPRS注册状态 |
| ← | +CGREG:0,1 OK |
|
| → | AT+CIPSTART="TCP","36.9.88.120",6001 | 连接服务器(单链接) |
| ← | OK | |
| ←(URC) | CONNECTOK | 已经连上了 |
| ←(URC) | +CIPRXGET: 1 | 服务器那边发数据过来了 |
| → | AT+CIPRXGET=2,150 | 读取数据,读150个字符,以普通的字符的方式读取 |
| ← | +CIPRXGET: 2,10,0 1234567890 OK |
读到了10个数据:1234567890,还有0个数据未读取 |
| → | AT+CIPRXGET=4 | 查询下还有多少数据未读 |
| ← | +CIPRXGET: 4,0 OK |
0个未读 |
| ←(URC) | +CIPRXGET: 1 | 服务器那边又发数据过来了 |
| → | AT+CIPRXGET=3,150 | 读取数据,读150个字符,以HEX的方式读取 |
| ← | +CIPRXGET: 3,5,0 48454C4C4F OK |
读到了5个数据:HELLO,还有0个数据未读取 |
| 多链接时如何手动读取网络数据 | ||
| → | AT+CIPRXGET=1 | 开启手动获取网络数据功能 |
| ← | OK | |
| → | AT+CIPMUX=1 | |
| ← | OK | |
| → | AT+CSTT | 模块注册网络后会从网络自动获取 PDP上下文(此 |
| ← | OK | |
| → | AT+CIICR | |
| ← | OK |
关闭TCP或UDP连接:AT+CIPCLOSE
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | 单路连接时 AT+CIPCLOSE= |
返回: CLOSE OK |
| 多路连接时 AT+CIPCLOSE= |
返回: |
|
| 执行命令 | AT+CIPCLOSE | 如果关闭成功,返回: CLOSE OK 如果关闭失败,返回: ERROR |
| 测试命令 | AT+CIPCLOSE=? | 返回: OK |
| 注意事项 | 执行命令只对单链接有效,多链接模式下返回ERROR 执行命令AT+CIPCLOSE 只有在TCP/UDP CONNECTING或CONNECT OK状态下才会关闭连接,否则会认为关闭失败返回ERROR 单路连接模式下,关闭后的状态为IP CLOSE |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 关闭模式 | 0 | 慢关(缺省值) | |
| 1 | 快关 | ||
| Link No. | 0~5 | 整数型,表示连接序号。与+CIPSTRAT中 |
关闭移动场景:AT+CIPSHUT
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | AT+CIPSHUT | 如果关闭成功,返回: SHUT OK 如果关闭失败,返回: ERROR |
| 测试命令 | AT+CIPSHUT=? | 返回: OK |
| 注意事项 | 可以用AT+CIPSHUT正常关闭移动场景,关闭后状态为IPINITIAL。 多路连接时执行AT+CIPSHUT,所有的IP连接都将关闭。 如果上报"+PDP:DEACT",标识GPRS被网络释放,此时仍然需要执行AT+CIPSHUT来改变状态。 |
修改RNDIS网卡网关IP地址:AT+ROUTEIP
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+ROUTEIP= |
OK |
| 查询命令 | AT+ROUTEIP? | OK |
| 测试命令 | AT+ROUTEIP=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 当前的RNDIS网卡网关IP地址 | IP地址,双引号可加可不加,只支持 192.168.X.1 |
||
| 已经设置好,需要重启生效的RNDIS 网卡网关IP地址 |
IP地址,双引号可加可不加,只支持 192.168.X.1 |
Ping回声请求命令:AT+CIPPING
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CIPPING= |
+CIPPING: |
| OK | ||
| 查询命令 | AT+CIPPING? | +CIPPING: OK |
| 测试命令 | AT+CIPPING=? | +CIPPING: (list of supported supported OK |
| 注意事项 | 发送PING命令之前,需激活GPRS PDP上下文。 当发送PING到时无回应,那么返回的信息则显示 执行本命令时,如果GPRSPDP上下文由于某种原因被去激活了,例如掉网,那么本命令立即终止执行。 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| PING的目标服务器地址。IP地址或域名都支持 | ip address | ||
| Domain name | |||
| 需要发送的PING的数量 | 1-100 | 缺省值:4 | |
| PING请求的长度 | 0-1024 | 缺省值:32 | |
| The timeout waiting for a single Echo Reply |
1-600 | 单位:100 ms | |
| time to live | 1-255 | 缺省值:64 | |
| Echo Reply serial number | |||
| IP Address of the remote host | |||
| time to receive the response | 单位:1ms |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+CSTT | |
| ← | OK | |
| → | AT+CIICR | |
| ← | OK | |
| → | AT+CIFSR | |
| ← | 10.207.9.213 | |
| → | AT+CIPPING="www.baidu.com" | |
| ← | +CIPPING:1,"36.152.44.96",35,54 +CIPPING:2,"36.152.44.96",20,54 +CIPPING:3,"36.152.44.96",20,54 +CIPPING:4,"36.152.44.96",35,54 |
|
| OK |
设置TCP保活(keep-alive)参数:AT+CIPTKA
注:本命令仅适用于合宙4GCAT1模块(Air720U/Air724U系列),不适用于合宙4GCAT4模块(Air720/Air720G/Air720H/Air720D/Air720S)
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT+CIPTKA= , |
OK |
| 查询命令 | AT+CIPTKA? | +CIPTKA: OK |
| 测试命令 | AT+CIPTKA=? | +CIPTKA:(listofsupported rted OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 是否开启TCP保活(keep-alive) | 0 | 关闭 | |
| 1 | 开启 | ||
| 在 keep-alive probe) |
30~7200 | 单位为秒,缺省值为7200 | |
| 保活探针重传的间隔时间 | 30~600 | 单位为秒,缺省值为75 | |
| 发送保活探针的最大数量 | 1~9 | 单位为次,缺省值为9 |
心跳包参数设置:AT^HEARTCONFIG
本命令用于配置心跳的相关参数(是否允许发送心跳包,socketid,心跳间隔)。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 设置命令 | AT^HEARTCONFIG= | OK |
| 查询命令 | AT^HEARTCONFIG? | ^HEARTCONFIG: |
| OK | ||
| 测试命令 | AT^HEARTCONFIG=? | OK |
| 注意事项 | 目前仅支持一路链接设置心跳包。 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 是否开启心跳包功能 | 0 | disabled | |
| 1 | enabled | ||
| 连接id,定义同+CIPSTART中 |
0~5 | 如果是单链接,固定为0 如果是多链接,取值为0~5 |
|
| 心跳间隔时间 | 5~600 | 单位为秒,缺省值为120 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT^HEARTCONFIG? | 查询当前心跳配置 |
| ← | ^HEARTCONFIG: 0,0,120 OK |
缺省配置为:心跳为关,心跳间隔为120秒 |
| → | AT^HEARTCONFIG=1,0,180 | 开启心跳功能,cid=0,并设置心跳间隔为180秒 |
| ← | OK | |
| → | AT^HEARTCONFIG? | 再次查询心跳设置 |
| ← | ^HEARTCONFIG: 1,0,180 OK |
心跳包功能已经打开,当跟服务器建立cid=0的链接后(可以是单链接,也可以是多链接),会自动发送心跳包,心跳包内容缺省为模块的IMEI |
设置心跳包内容:AT^HEARTBEAT
本命令设置心跳包的内容。默认状态下将自己的 IMEI 作为心跳包内容。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT^HEARTBEAT= |
OK |
| 查询命令 | AT^HEARTBEAT? | ^HEARTBEAT: OK |
| 测试命令 | AT^HEARTBEAT=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 连接id,定义同+CIPSTART中 |
0~5 | 如果是单链接,固定为0 如果是多链接,取值为0~5 |
|
| 心跳包内容 | 字符串类型,最长为256字节 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT^HEARTBEAT? | 查询当前心跳内容 |
| ← | ^HEARTBEAT: 0,866714044915436 OK |
缺省心跳为IMEI |
| → | AT^HEARTBEAT=0,TCP-heart | 设置新的心跳内容 |
| ← | OK | |
| → | AT^HEARTBEAT? | 再次查询 |
| ← | ^HEARTBEAT: 0,TCP-heart OK |
设置HEX编码格式心跳包内容:AT^HEARTBEATHEX
本命令将心跳包的内容设置为十六进制数据。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | 如果是单链接(即AT+CIPMUX=0) AT^HEARTBEATHEX= |
OK >返回后,设置的心跳包内容会自动发送出去 |
| 如果是多链接(即AT+CIPMUX=1) AT^HEARTBEATHEX= |
||
| 查询命令 | AT^HEARTBEATHEX? | ^HEARTBEATHEX: OK |
| 测试命令 | AT^HEARTBEATHEX=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 连接id,定义同+CIPSTART中 |
0~5 | 如果是单链接,固定为0 如果是多链接,取值为0~5 |
|
| 数据长度 | |||
| 心跳包内容 | 字符串类型,最长为256字节 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
查询心跳包发送情况:AT^HEARTINQUIRE
本命令用于查询心跳包发送情况。
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 查询命令 | AT^HEARTINQUIRE? | ^HEARTINQUIRE: OK |
| 测试命令 | AT^HEARTINQUIRE=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 多少秒前发送成功了一条 | 单位:秒 | ||
| 还剩余多少秒发下一条 | 单位:秒 | ||
| 一共发了多少条了 | 单位:条 |
举例:
| 命令(→)/ 返回(←) |
实例 | 解释和说明 |
|---|---|---|
从数据模式或PPP在线模式切换至命令模式:+++
+++ 字符序列可使TA 忽略当前AT 接口的数据传输,并切换至命令模式。它允许TA 在保持与远端服务器数据连接的状态下,仍然可输入AT命令。执行命令 +++ OK说明:为避免+++ 被错误的识别为数据,需要遵循以下步骤:1. "+++"输入前 T1 时间(1 秒)内无字符输入。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
从命令模式切换至数据模式:ATO
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| 执行命令 | ATO | 成功,则返回: CONNECT 说明:TA 继续数据传输连接,即从命令模式切换回数据模式 |
| 若无法恢复到数据模式,则返回: NO CARRIER |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | ATD*99# | 数据拨号 |
| ← | CONNECT ~~~ÿ}#À!}!}!} }<}!}$}&@}#}$À#}%}&Êê}*h}"}&} } } } }'}"}(}"7S~~ÿ}#À!}!}"} }<}!}$} |
成功 |
| → | +++ | 切到AT命令模式 |
| ← | OK | 成功 |
| → | ATO | 再切到数据模式 |
| ← | CONNECT ~~~ÿ}#À!}!}!} }<}!}$}&@}#}$À#}%}&Êê}*h}"}&} } } } }'}"}(}"7S~~ÿ}#À!}!}"} }<}!}$} |
成功 |
TCP/UDP错误码
在TCP应用过程中如果发生错误,将会以TCP ERROR:
在UDP应用过程中如果发生错误,将会以UDP ERROR:
| 错误码 |
中文释义 | 英文释义 |
|---|---|---|
| 0 | 成功 | No error |
| 1 | TCPIP线程没有被使用 | TCPIP is idle |
| 2 | 没有可用的tsapi | No tsapi |
| 3 | 无效的tsapi | Invalid tsapi |
| 4 | 空间不足 | No buffer |
| 5 | 网络错误 | Network error |
| 6 | 远程主机不可达 | Remote host is unreachable |
| 7 | 地址正在使用中 | The address is already in use |
| 8 | 地址无效 | The address is not available |
| 9 | 携带的数据太多或者太少 | The supplied buffer is too large or small |
| 10 | 参数无效 | Invalid parameter |
| 11 | 远程主机拒绝连接 | Remote host has rejected the connection |
| 12 | 超时 | Time out |
| 13 | 连接被终止 | An established connection is aborted |
| 14 | 连接被重置 | Remote host has reset the connection |
| 15 | socket连接已经建立 | The socket is already connected |
| 16 | socket没有连接 | The socket is not connected |
| 17 | socket连接已经被断开 | The socket has been shutdown |
| 18 | 未知错误 | Undefined error |
| 错误码 |
中文释义 | 英文释义 |
| 0 | 成功 | No error |
| 1 | TCPIP线程没有被使用 | TCPIP is idle |
| 2 | 没有可用的tsapi | No tsapi |
| 3 | 无效的tsapi | Invalid tsapi |
| 4 | 回调未注册 | The callback has not been registered |
| 5 | 空间不足 | No buffer |
| 6 | 网络错误 | Networkerror |
| 7 | 远程主机拒绝连接 | Remote host has rejected the connection |
| 8 | 远程主机不可达 | Remote host is unreachable |
| 9 | 地址正在使用中 | The address is already in use |
| 10 | 地址无效 | The address is not available |
| 11 | 携带的数据太多或者太少 | The supplied buffer is too large or small |
| 12 | 参数无效 | Invalid parameter |
| 13 | TCPIP线程忙 | TCPIP is busy |
| 14 | 未知错误 | Undefined error |
| 15 | socket连接已经建立 | The socket is already connected |
状态机
当输入 TCPIP 相关命令以后,模块的状态也会发生相应的迁移。查询状态的命令是 AT+CIPSTATUS。
图1 :单链接时的状态机关于单连接状态机的几点说明:◆输入AT+CIICR,会马上进入IPCONFIG状态,当返回OK后,会进入到IPGPRSACT状态;◆输入AT+CIPSTART后,会立马进入IP/UDPCONNECTING状态,如果后续模块上报CONNECTOK这个URC,表明连接服务器成功,此时进入CONNECTOK状态;◆输入AT+CIPCLOSE后,立马进入TCP/UDPCLOSING状态,此时如果模块上报CLOSEOK,则表明关闭与服务器的连接成功,此时模块进入TCP/UDPCLOSED状态;◆如果模块上报+PDPDEACT这个URC,则标志着模块释放PDP上下文,并进入了PDPDEACT状态;◆在IPGPRSACT,IPSTATUS,CONNECTOK以及TCP/UDPCLOSED状态下,输入AT+CGATT=0,则也可以使模块释放上下文,进入PDPDEACT状态;◆模块进入PDPDEACT状态,仍需要输入AT+CIPSHUT,进入IPINITIAL状态;◆模块在各个状态下均可以输入AT+CIPSHUT,进入IPINITIAL状态。
图2 :多链接时的状态机
图1:单链接时的状态机

图2:多链接时的状态机

模块上电初始化以及TCPIP流程
见下图:

使用方法举例
由于这部分的命令具有高度相关性,所以将各个命令的应用例程集中在一起描述。
如果模块出现上下文去激活的主动上报,该如何处理:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| TCP非透传应用1:模块做为客户端,单链接,发送数据(事实上,TCP发送方式有快发和慢发两种,由+CIPQSEND命令来设置发送方式。区别就是:慢发每发送一笔数据需要服务器那边的确认,而快发则发送到模块就可以了,不需要服务器的确认。慢发可能会出现长时间没响应的情况,AT通道就堵住了,所以建议采用快发模式) | ||
| → | AT+CREG? | 查询当前GPRS注册状态 |
| ← | +CREG:0,1 OK |
|
| → | AT+CGATT? | 查看当前GPRS附着状态 |
| ← | +CGATT:1 OK |
|
| → | AT+CIPMUX=0 | 设置为单链接模式 |
| ← | OK | |
| → | AT+CIPQSEND=1 | 设置为快发模式(推荐使用这种模式) |
| ← | OK | |
| → | AT+CSTT | 启动任务,设置APN 模块注册网络后会从网络自动获取 AT+CGDCONT?来查询),所以直接输入 AT+CSTT即可,模块内部会按照自动获取的 |
| ← | OK | |
| → | AT+CIICR | 激活移动场景,获取IP地址 |
| ← | OK | |
| → | AT+CIFSR | 查询分配的IP地址 |
| ← | 010.083.172.111 | |
| → | AT+CIPSTATUS | 查询下链接状态 |
| ← | OK STATE: IP STATUS |
|
| → | AT+CIPSTART="TCP","60.166.18.9",7500 或 AT+CIPSTART="TCP","60.166.18.9","7500" |
其中: "TCP"为链接的协议类型 "60.166.18.9" 为对端服务器的IP地址 7500 为对端服务器的TCP端口号注:CIPSTART设置命令所有的参数,双括号可以用,也可以不用 |
| ← | OK | |
| ←(URC) | CONNECT OK | 如果链接成功,会有如此URC上报 |
| → | AT+CIPSTATUS | 查询下链接状态 |
| ← | OK STATE: CONNECT OK |
链接建立成功 |
| → | AT+CIPSEND | 发送数据(不定长度,手动发送) |
| → | >1234567890 |
当出现 ">" 后,输入待发送的数据: 0123456789。 |
| ← | DATA ACCEPT:10 | 发送成功而且对端服务器收到数据 |
| → | AT+CIPACK | 每发一笔,查询下发送状态,可以知道上笔数据服务器有没有收到 |
| ← | +CIPACK: 10,10,0 OK |
第一个10,表明已经发送的数据字节数,第二个 10表示服务器收到的数据字节数,0表示服务器尚未收到的数据字节数 |
| → | AT+CIPSEND=10 | 发送数据(确定长度) |
| → | >1234567890 | |
| ← | DATA ACCEPT:10 | 输入数据达到10个字节,不用发送 数据会自动发送 |
| → | AT+CIPATS=1,10 | 设置自动发送,自动发送的定时为10S |
| ← | OK | |
| → | AT+CIPSEND | 发送数据 |
| → | >1234567890 | |
| ← | DATA ACCEPT:10 | 10s定时器溢出,不用发送 |
| → | AT+CIPSEND=100 | |
| → | >123 | |
| ← | DATA ACCEPT:3 | 10s定时器溢出,输入内容不必达到100字节,也不用发送 |
| → | AT+CIPCLOSE | 关闭TCP链接 |
| ← | CLOSE OK | 关闭成功 |
| → | AT+CIPSTATUS | 查询下链接状态 |
| ← | OK STATE: TCP CLOSED |
TCP链接已经关闭 |
| → | AT+CIPSHUT | 关闭移动场景 |
| ← | SHUT OK | 关闭成功 |
| → | AT+CIFSR | 查询当前的模块IP |
| ← | ERROR | IP地址已经没有了 |
| TCP非透传应用2:模块做为客户端,单链接,发送数据,开启SSL功能 | ||
| → | AT+CIPMUX=0 | 设置为单链接模式 |
| ← | OK | |
| → | AT+CIPQSEND=1 | 发送模式为快发 |
| ← | OK | |
| → | AT+CIPSTATUS | 查询链接状态 |
| ← | OK STATE: IP INITIAL |
|
| → | AT+CIPSSL=1 | 打开SSL功能(本例中双方都不需要验证证书) |
| ← | OK | |
| → | AT+CIPSTART="TCP","60.166.18.9",7500 | 当模块设置为单链接并且状态为IP INITIAL时,也可以用CIPSTART直接建立连接,不必先输入 CSTT CIICR CIFSR 请写实际的服务器地址和端口,不要照抄 |
| ← | OK | |
| ←(URC) | CONNECT OK | 如果链接成功,会有如此URC上报 |
| → | AT+CIPSEND | 发送数据 |
| → | >1234567890 |
即等同于发送 |
| ← | DATA ACCEPT:10 | 表明模块接收了从TE输入的10个字节的待发数据 |
| …… | +CIPCLOSE,+CIPSHUT,不再赘述 | |
| TCP非透传应用3:模块做为客户端,单链接,发送数据,开启SSL功能(双向证书验证) | ||
| → | AT+CIPMUX=0 | 设置为单链接模式 |
| ← | OK | |
| → | AT+CIPQSEND=1 | 设置为快发 |
| ← | OK | |
| → | AT+CIPSSL=1 | 开启SSL功能开关为开 |
| ← | OK | |
| → | AT+FSCREATE="ca.crt" | 创建CA 证书文件 |
| ← | OK | |
| → | AT+FSCREATE="client.crt" | 创建客户端证书文件 |
| ← | OK | |
| → | AT+FSCREATE="client.key" | 创建客户端密钥文件 |
| ← | OK | |
| → | AT+FSWRITE="ca.crt",0,2080,15 | 文件长度2080只是举例,要根据实际填写。下同。 |
| ← | > | 这里输入CA证书文件 |
| ← | OK | |
| ← | AT+FSWRITE="client.crt",0,128,10 | |
| → | > | 这里输入客户端证书文件 |
| ← | OK | |
| → | AT+FSWRITE="client.key",0,188,10 | |
| ← | > | 这里输入客户端密钥文件 |
| ← | OK | |
| → | AT+SSLCFG="cacert",0,"ca.crt" | 设置服务器CA 证书 SSL 上下文id,在单链接的情况下缺省为0 |
| ← | OK | |
| → | AT+SSLCFG="clientcert",0,"client.crt" | 设置客户端证书 |
| ← | OK | |
| → | AT+SSLCFG="clientkey",0,"client.key" | 设置客户端KEY |
| ← | OK | |
| → | AT+SSLCFG="seclevel",0,2 | 设置安全等级 |
| ← | OK | |
| → | AT+SSLCFG="ciphersuite",0,0X0035 | 设置加密套件 |
| ← | OK | |
| → | AT+SSLCFG="clientrandom",0,101B12C31415161 71F1920212223242526272829303132333435363 7 |
设置随机数 |
| ← | OK | |
| → | AT+CIPSTART=TCP,tcplab.openluat.com,57513 | |
| ← | OK | |
| ←(URC) | CONNECT OK | |
| → | AT+CIPSEND=10 | 发送数据(确定长度) |
| → | >1234567890 | |
| ← | DATA ACCEPT:10 | 输入数据达到10个字节,不用发送 数据会自动发送 |
| → | AT+CIPSHUT | |
| ← | OK | |
| → | AT+CIPSSL=0 | 关闭SSL功能 |
| ← | OK | |
| UDP非透传应用1:模块做为客户端,单链接,数据发送 | ||
| → | AT+CIPMUX=0 | 设置为单链接模式 |
| ← | OK | |
| → | AT+CIPQSEND=1 | 设置为快发模式 |
| ← | OK | |
| → | AT+CSTT | 启动任务,设置APN 模块注册网络后会从网络自动获取 AT+CGDCONT?来查询),所以直接输入 AT+CSTT即可,模块内部会按照自动获取的 |
| ← | OK | |
| → | AT+CIICR | 激活移动场景,获取IP地址 |
| ← | OK | |
| → | AT+CIFSR | 查询分配的IP地址 |
| ← | 010.083.172.111 | |
| → | AT+CIPSTART="UDP","60.166.18.9",6100 | 建立UDP链接,其中: "UDP"为链接的协议类型 "60.166.18.9" 为对端服务器的IP地址 6100 为对端服务器的UDP端口号 |
| ← | OK | |
| ←(URC) | CONNECT OK | 如果链接成功,会有如此URC上报 |
| → | AT+CIPSEND | 发送数据 |
| → | >1234567890 |
|
| ← | DATA ACCEPT:10 | 成功将数据发送到模块 |
| …… | +CIPCLOSE,+CIPSHUT,不再赘述 | |
| 多连接应用1:模块做为客户端,多链接,发送数据,SSL证书双向认证功能打开(快发)注:本例是同时链接不同的两个服务器。 | ||
| → | AT+CIPSSL=1 | 开启SSL功能开关 |
| ← | OK | |
| → | AT+CIPMUX=1 | |
| ← | OK | |
| → | AT+FSCREATE="server1.crt" | 创建server1 的CA 证书文件 |
| ← | OK | |
| → | AT+FSCREATE="server2.crt" | 创建server2 的CA 证书文件 |
| ← | OK | |
| → | AT+FSCREATE="client.crt" | 创建客户端证书文件 |
| ← | OK | |
| → | AT+FSCREATE="client.key" | 创建客户端密钥文件 |
| ← | OK | |
| → | AT+FSWRITE="server1.crt",0,2080,15 | 文件长度2080只是举例,要根据实际填写。下同。 |
| ← | > | 这里输入服务器1的CA证书文件 |
| ← | OK | |
| → | AT+FSWRITE="server1.crt",0,1962,15 | |
| ← | > | 这里输入服务器2的CA证书文件 |
| ← | OK | |
| ← | AT+FSWRITE="client.crt",0,128,10 | |
| → | > | 这里输入客户端证书文件 |
| ← | OK | |
| → | AT+FSWRITE="client.key",0,188,10 | |
| ← | > | 这里输入客户端密钥文件 |
| ← | OK | |
| → | AT+SSLCFG="cacert",1,"server1.crt" | 设置服务器1的CA 证书多链接的SSL上下文id和多链接的链接id 绑定,链接1的SSL上下文id也是1 |
| ← | OK | |
| → | AT+SSLCFG="cacert",2,"server2.crt" | 设置服务器2的CA 证书 |
| ← | OK | |
| → | AT+SSLCFG="clientcert",1,"client.crt" | 设置SSL上下文1(即链接1)的客户端证书 |
| ← | OK | |
| → | AT+SSLCFG="clientcert",2,"client.crt" | 设置SSL上下文2(即链接2)的客户端证书 |
| ← | OK | |
| → | AT+SSLCFG="clientkey", 1,"client.key" | 设置SSL上下文1(即链接1)的客户端KEY |
| ← | OK | |
| → | AT+SSLCFG="clientkey", 2,"client.key" | 设置SSL上下文2(即链接2)的客户端KEY |
| ← | OK | |
| → | AT+SSLCFG="seclevel",1,2 | 设置SSL上下文1(即链接1)的安全等级:双向认证 |
| ← | OK | |
| → | AT+SSLCFG="seclevel",2,2 | 设置SSL上下文2(即链接2)的安全等级:双向认证 |
| ← | OK | |
| → | AT+SSLCFG="ciphersuite",1,0X0035 | 设置SSL上下文1(即链接1)的加密套件 |
| ← | OK | |
| → | AT+SSLCFG="ciphersuite",2,0X0035 | 设置SSL上下文2(即链接2)的加密套件 |
| ← | OK | |
| → | AT+SSLCFG="clientrandom",1,10B12C3141516171F19 202122232425262728293031323334353637D |
设置链接1的随机数 |
| ← | OK | |
| → | AT+SSLCFG="clientrandom",2,581B12C3141516171F1 920214A23249C262728293031323334353632 |
设置链接2的随机数 |
| ← | OK | |
| → | AT+CIPQSEND=1 | 设置为快发模式 |
| ← | OK | |
| → | AT+CSTT | 设置模块APN 模块注册网络后会从网络自动获取 可以通过AT+CGDCONT?来查询),所以直接输入AT+CSTT即可,模块内部会按照自动获取的 |
| ← | OK | |
| → | AT+CIICR | |
| ← | OK | |
| → | AT+CIFSR | |
| ← | 010.083.172.111 | |
| → | AT+CIPSTART=1,"TCP","60.166.12.210",7500 | |
| ← | OK | |
| ←(URC) | 1,CONNECT OK | Id=1的 TCP 链接成功建立 |
| → | AT+CIPSTART=2,"TCP","60.166.13.215",6100 | |
| ← | OK | |
| ←(URC) | 2,CONNECT OK | Id=2的 TCP 链接成功建立 |
| → | AT+CIPSTATUS | 查询当前链路状态 |
| ← | OK STATE: IP PROCESSING C: 0,,"","","","INITIAL" C: 1,0,"TCP","60.166.12.210","7500","CONNECTED" C: 2,0,"TCP","60.166.12.210","7500","CONNECTED" C: 3,,"","","","INITIAL" C: 4,,"","","","INITIAL" C: 5,,"","","","INITIAL" |
|
| → | AT+CIPSEND=1 | 在 TCP 1链接上发送数据 |
| → | >1234567890 |
|||
|---|---|---|---|---|
| ← | DATA ACCEPT:1,10 | |||
| → | AT+CIPSEND=2 | 在 TCP 2链接上发送数据 | ||
| → | >1234567890 |
|||
| ← | DATA ACCEPT:2,10 | |||
| …… | 其他发送数据的动作 | |||
| → | AT+CIPSHUT | 如果想关闭所有的连接 | ||
| ← | SHUT OK | |||
| → | AT+CIPMUX=0 | 如果想关闭多连接模式,则必须在 AT+CIPSHUT后才可以 |
||
| ← | OK | |||
| → | AT+CIPSSL=0 | 关闭SSL功能。 | ||
| ← | OK | |||
| 多连接应用2:模块做为客户端,多链接,发送数据,未开启SSL功能 | ||||
| → | AT+CIPMUX=1 | 设置为多链接模式 | ||
| ← | OK | |||
| → | AT+CIPQSEND=1 | 设置为快发模式 | ||
| ← | OK | |||
| …… | 仿照TCP非透传应用1的例子,依次发送 CSTT CIICR CIFSR这三个命令 |
|||
| → | AT+CIPSTART=4,"TCP","60.166.12.210",7500 | |||
| ← | OK | |||
| ←(URC) | 4, CONNECT OK | Id=6的 TCP 链接成功建立 | ||
| → | AT+CIPSTART=5,"UDP","60.166.12.210",6100 | |||
| ← | OK | |||
| ←(URC) | 5, CONNECT OK | Id=7的 UDP 链接成功建立 | ||
| → | AT+CIPSEND=4,10 | 在 TCP 链接上发送数据,定长发送 | ||
| → | >1234567890 | |||
| ← | DATA ACCEPT:4,10 | |||
| → | AT+CIPSEND=5 | 在 UDP 链接上发送数据,不定长发送 | ||
| → | >1234567890 |
|||
| ← | DATA ACCEPT:5,10 | |||
| → | AT+CIPATS=1,10 | 设置为自动发送,并且定时器设置为10S,从该命令返回OK时开始计时 | ||
| ← | OK | |||
| → | AT+CIPSEND=4 | 在id=6的TCP链接上发送数据 | ||
| → | >TEST Auto fast send | 输入待发送的字符串(不必输入 |
||
| ← | DATA ACCEPT:4,19 | 10S定时器到时,数据自动发送 | ||
| …… | +CIPCLOSE,+CIPSHUT,不再赘述 | |||
| 单链接非透传时接收数据: | ||||
| …… | 建立一个TCP链接,前面已经详述,在此不再赘述 | |||
| → | AT+CIPHEAD=1 | 设置接收数据时,有数据头 | ||
| ← | OK | |||
| ←(UCR) | +IPD,4:TEST | 模块收到SERVER那边发来的一串字符数据:TEST | ||
| → | AT+CIPSHOWTP=1 | 设置接收数据时,显示数据所使用的协议 | ||
| ← | OK | |||
| ←(UCR) | +IPD,4,TCP:TEST | 模块收到SERVER那边发来的数据:TEST。所使用的协议也会显示出来。如果是UDP链接,则会显示: +IPD,4,UDP:TEST |
||
| → | AT+CIPSRIP=1 | 设置接收数据时显示发送方的IP地址和端口 | ||
| ← | OK | |||
| ←(URC) | RECV FROM: 60.166.12.210:7500 +IPD,4:TEST |
接收服务器发来的数据,是一个字符"TEST",长度为4 | ||
| → | AT+CIPSHOWTP=0 | 不在接收数据头中显示协议类型 | ||
| ← | OK | |||
| → | AT+CIPHEAD=0 | 不显示数据头 | ||
| ← | OK | |||
| → | AT+CIPSRIP=0 | 不显示数据发送放的IP地址和端口 | ||
| ← | OK | |||
| ←(URC) | TEST | 此时接收到数据:TEST | ||
| 多链接非透传时接收数据: | ||||
| …… | 仿照TCP非透传应用1的例子,依次发送 CSTT CIICR CIFSR这三个命令,并建立连接号为0的 TCP链接和连接号为1的UDP链接 |
|||
| ←(URC) | +RECEIVE,0,7: TEST123 |
在链接0的TCP链接上收到7个字符的字符串: TEST123 |
||
| ←(URC) | +RECEIVE,1,10: TEST123456 |
在链接1的UDP链接上收到10个字符的字符串: TEST123456 |
||
| 透明传输应用1:TCP数据传输 | ||||
| → | AT+CIPMODE=1 | 设置TCPIP应用为透明传输模式 | ||
| ← | OK | |||
| → | AT+CIPSTART="TCP","60.166.18.9",7500 | 建立TCP链接,其中: "TCP"为链接的协议类型 "60.166.18.9" 为对端服务器的IP地址 7500 为对端服务器的TCP端口号 |
||
| ← | OK | |||
| ←(URC) | CONNECT | 如果链接成功,会有如此URC上报 | ||
| →/← | ……… | 透传开始,在这里输入数据并传送,此时也可以接收服务器传来的数据 | ||
| → | ………+++ | 如果想返回AT命令模式,则在数据后面输入+++ 注: +++需要满足一定的条件才会被模块认为是 escape sequence,否则会被认为是数据: 1,第一个+之前需要1000ms的间隔 2,最后一个+之后需要500ms的间隔 |
||
| 3,三个+之间的间隔不能超过500ms | ||||
| ← | OK | OK表示已经返回到AT命令模式 | ||
| → | ATO | ATO用于返回数据模式 | ||
| ← | CONNECT | CONNECT表示进入透传模式 | ||
| →/← | ………. | 此时又可以开始传输数据 | ||
| ← | TCP ERROR:×× 或 CLOSED |
当传输中有协议栈错误发生时,会转入AT命令状态,并上报该错误码 | ||
| → | AT+CIPSHUT | 发生这种情况时,+CIPSHUT关闭连接。如果没有错误发生,则+++返回AT命令状态,再 +CIPSHUT关闭连接 |
||
| ← | SHUT OK | |||
| 透明传输应用2:UDP数据传输 | ||||
| → | AT+CIPMODE=1 | 设置TCPIP应用为透明传输模式 | ||
| ← | OK | |||
| → | AT+CSTT | 设置模块APN 模块注册网络后会从网络自动获取 AT+CGDCONT?来查询),所以直接输入AT+CSTT 即可,模块内部会按照自动获取的 CSTT的APN |
||
| ← | OK | |||
| → | AT+CIICR | 激活移动场景,获取IP地址 | ||
| ← | OK | |||
| → | AT+CIFSR | 查询分配的IP地址 | ||
| ← | 010.083.172.111 | |||
| → | AT+CIPSTART="UDP","60.166.18.9",6100 | 建立UDP链接,其中: "UDP"为链接的协议类型 "60.166.18.9" 为对端服务器的IP地址 6100 为对端服务器的UDP端口号 |
||
| ← | OK | |||
| ←(URC) | CONNECT | 如果链接成功,会有如此URC上报 | ||
| →/← | ……… | 透传开始,在这里输入数据并传送,此时也可以接收服务器传来的数据 | ||
| ← | UDP ERROR:×× | 当传输中有协议栈错误发生时,会转入AT命令状态,并上报该错误码 | ||
| → | AT+CIPSHUT | 发生这种情况时,+CIPSHUT关闭连接。如果没有错误发生,则+++返回AT命令状态,再 +CIPSHUT关闭连接 |
||
| ← | SHUT OK | |||
| ← | OK | |||
| 域名解析:注:该命令只有在执行完at+cstt、at+ciicr、at+cifsr后才能正常工作,这三条命令的输入方法请参考:TCP非透传应用1的例子 | ||||
| → | AT+CDNSGIP="WWW.SINA.COM.CN" | 解析新浪网站的域名 | ||
| ← | OK +CDNSGIP:1,"WWW.SINA.COM.CN","221.179.180 .76" |
返回IP地址 | ||
| 发送和接收格式总结: | ||||
| 数据发送(多链接模式,以链接号 链接协议快发慢发单链接 TCP AT+CIPSEND AT+CIPSEND >test TCP >test TCP DATA ACCEPT:8 SEND OK UDP AT+CIPSEND AT+CIPSEND >test UDP >test UDP DATA ACCEPT:8 SEND OK 多链接 TCP AT+CIPSEND=5 AT+CIPSEND=5 >test TCP >test TCP DATA ACCEPT:5,8 5,SEND OK UDP AT+CIPSEND=5 AT+CIPSEND=5 >test UDP >test UDP DATA ACCEPT:5,8 5,SEND OK 数据接收(多链接模式以链接号 AT+CIPHEAD=1 链接协议 AT+CIPHEAD=0 +CIPSHOWTP=0 +CIPSHOWTP=1 单链接 TCP TEST123 +IPD,7:TEST123 +IPD,7,TCP:TEST123 UDP TEST123 +IPD,7:TEST123 +IPD,7,UDP:TEST123 多链接 TCP +RECEIVE,1,7: +RECEIVE,1,7: +RECEIVE,1,7: TEST123 TEST123 TEST123 UDP +RECEIVE,1,7: +RECEIVE,1,7: +RECEIVE,1,7: TEST123 TEST123 TEST123 |
||||
| 链接协议 | 快发 | 慢发 | ||
| 单链接 | TCP | AT+CIPSEND >test TCP DATA ACCEPT:8 |
AT+CIPSEND >test TCP SEND OK |
|
| UDP | AT+CIPSEND >test UDP DATA ACCEPT:8 |
AT+CIPSEND >test UDP SEND OK |
||
| 多链接 | TCP | AT+CIPSEND=5 >test TCP DATA ACCEPT:5,8 |
AT+CIPSEND=5 >test TCP 5,SEND OK |
|
| UDP | AT+CIPSEND=5 >test UDP DATA ACCEPT:5,8 |
AT+CIPSEND=5 >test UDP 5,SEND OK |
||
| 链接协议 | AT+CIPHEAD=0 | AT+CIPHEAD=1 | ||
| +CIPSHOWTP=0 | +CIPSHOWTP=1 | |||
| 单链接 | TCP | TEST123 | +IPD,7:TEST123 | +IPD,7,TCP:TEST123 |
| UDP | TEST123 | +IPD,7:TEST123 | +IPD,7,UDP:TEST123 | |
| 多链接 | TCP | +RECEIVE,1,7: TEST123 |
+RECEIVE,1,7: TEST123 |
+RECEIVE,1,7: TEST123 |
| UDP | +RECEIVE,1,7: TEST123 |
+RECEIVE,1,7: TEST123 |
+RECEIVE,1,7: TEST123 |
|
| ←(URC) | +PDP DEACT | PDP去激活,此时需要重新激活一个PDP上下文才能继续使用 TCPIP的AT命令 |
| → | AT+CIPSHUT | 关闭移动场景 |
|---|---|---|
| ← | OK | |
| 此时有两种处理方式,见右侧 | 1) AT+CFUN=0,AT+CFUN=1后,再重新建立连接 2) AT+RESET重启模块后再重新建立连接 |
IP应用相关命令
IP应用设置:AT+SAPBR
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+SAPBR= ConParamTag>, |
如果 +SAPBR: OK |
| 如果 +SAPBR: OK |
||
| 其余 OK |
||
| 测试命令 | AT+SAPBR=? | +SAPBR: (0-4),(1-3),"ConParamTag","ConParamValue" OK |
| URC上报 | +SAPBR |
当移动场景去激活时,会有此上报 |
| 注意事项 | SAPBR设置承载参数APN的时候需要注意以下事项:模块注册网络后会从网络自动获取 AT+CGDCONT?来查询),所以直接输入AT+SAPBR=3, |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 命令类型 | 0 | 关闭承载 | |
| 1 | 打开承载 | ||
| 2 | 查询承载状态 | ||
| 3 | 设置承载参数 | ||
| 4 | 获取承载参数 | ||
| 承载上下文标识 | 1~3 | ||
| 承载的状态 | 0 | 正在连接 | |
| 1 | 已经连接 | ||
| 2 | 正在关闭 | ||
| 3 | 已经关闭 | ||
| 承载IP地址 | |||
| 承载参数 | "CONTYPE" | 因特网连接类型。取值请参考参数 |
|
| "APN" | 接入点名称,最长支持 50 个字符 | ||
| "USER" | 用户名称:最长支持 50 个字符 | ||
| "PWD" | 密码:最长支持 50 个字符 | ||
| "PHONENUM " |
CSD电话号码 | ||
| "RATE" | CSD连接速率。取值请参考 |
||
| 因特网连接类型 | "CSD" | CSD,电路交换数据业务 | |
| "GPRS" | GPRS,通用分组无线业务注:GPRS只是兼容2G模块指令的输入格式,不会强制切换到GPRS网络上,真实的数据承载网络取决于模块当时注册的网络制式 | ||
| CSD连接速率 | 0 | 2400 | |
| 1 | 4800 | ||
| 2 | 9600 | ||
| 3 | 14400 |
HTTP相关命令
初始化HTTP服务:AT+HTTPINIT
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+HTTPINIT | OK |
| 测试命令 | AT+HTTPINIT=? | OK |
| 注意事项 | 1. 在使用HTTP服务前,应该先用AT+HTTPINIT命令来初始化HTTP协议栈 2. 如果使用的是https需要进行证书,加密套件,加密等级等相关的设置请参考SSLCFG指令 |
启用SSL:AT+HTTPSSL
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+HTTPSSL= |
OK |
| 读取命令 | AT+HTTPSSL? | + HTTPSSL: OK |
| 测试命令 | AT+HTTPSSL=? | +HTTPSSL: (0-1) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| HTTP SSL功能开关 | 0 | 关闭SSL功能 | |
| 1 | 开启SSL功能 |
设置HTTP参数值:AT+HTTPPARA
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+HTTPPARA= , |
OK |
| 查询命令 | AT+HTTPPARA? | +HTTPPARA:listof OK |
| 测试命令 | AT+HTTPPARA=? | +HTTPPARA: "HTTPParamTag"," HTTPParamValue" OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| "CID" | 承载上下文号码(必选参数) | 1~3 | |
| "URL" | HTTP 或HTTPS URL(必选参数) 注:同时支持HTTPS 和 HTTP URL |
"http://server/path:tcpPort" 或: "https://server/path:tcpPort " 最大长度500个字节 |
Server: FQDN or IP-address Path: path of file or directory tcpPort: 如果参数省略,将服务连接到 HTTP默认端口 80。参考"IETF-RFC 261 |
| "UA" | 应用程序必须设置用户代理来识别移动终端。通常操作系统和软件版本信息在设置时都会携带浏览器标识符。 | - | 默认值为:AM_MODULE |
| "PROIP" | HTTP 代理服务器的 IP 地址 |
- | |
| "PROPORT" | HTTP 代理服务器的 PORT |
- | |
| "REDIR" | 作为 HTTP 客户端时用此标志控制重定向机制。如果此标记设置为 1,当服务器发送重定向码(范围 30x)时,客户端自动发送新的 HTTP 请求 | - | 默认值为 0(无定向) |
| "BREAK" | HTTP 方法"GET"的参数,整数型 | - | 获取从断点到结束点的部分数据,注意不是所有的 HTTP 服务器都支持 |
| "BREAKEND" | 和"BREAK"一起使用,用于断点续传功能。整数型。 | - | 如果"BREAKEND"大于"BREAK",续传的范围从"BREAKEND"到"BREAK"。如果"BREAKEND"小于"BREAK",续传的范围从"BREAK"到文件结尾。如果 "BREAKEND"和"BREAK"均为 0,将不会续传。 |
| "USER_DEFINED" | 用户自定义参数,为了兼容合宙2G模块 | 用户自定义参数的取值。例如: AT+HTTPPARA="USER_DEFINED", "Content-type: json-user-define" 注:如果需要设置多条用户自定义参数,则一条一条地输入。后面输入的不会覆盖以前的。 |
|
| "USERDATA" | 用户自定义参数,作用同 "USER_DEFINED",为了兼容SIMCOM模块 |
用户自定义参数的取值。例如: AT+HTTPPARA="USERDATA","Con tent-type: json-user-define" |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+HTTPPARA? | |
| ← | +HTTPPARA: CID:1 URL: UA:AM_MODULE PROIP:0.0.0.0 PROPORT:0 REDIR:0 BREAK:0 BREAKEND:0 TIMEOUT:120 CONTENT: USERDATA: OK |
写数据:AT+HTTPDATA
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+HTTPDATA= |
DOWNLOAD |
| OK | ||
| 测试命令 | AT+HTTPDATA=? | +HTTPDATA: ( OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| POST数据的大小 | 0-319488 | 最大长度为319488 | |
| 0 | 后面一个参数不判断,相当于把内容清除掉 | ||
| 输入数据的最长时间 | 1000-120000 | 单位:ms | |
| 注:强烈建议设置的时间 |
HTTP方式激活:AT+HTTPACTION
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+HTTPACTION= |
OK 后面紧跟Unsolicited Result Code: +HTTPACTION: |
| 或如果错误与 ME 功能相关,则返回: +CME ERROR: 后面紧跟Unsolicited Result Code: +HTTPACTION: |
||
| 测试命令 | AT+HTTPACTION=? | +HTTPACTION: (0-2) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| HTTP 方法说明 | 0 | GET | |
| 1 | POST | ||
| 2 | HEAD | ||
| 得到的数据长度 | - | 整数型 | |
| HTTP状态码,由远端服务器响应,参考 TTP1.1(RFC2616) |
100 | 继续(Continue) | |
| 101 | 交换协议(Switching Protocols) | ||
| 200 | 确定(OK) | ||
| 201 | 已创建(Created) | ||
| 202 | 已接受(Accepted) | ||
| 203 | 非权威消息(Non-Authoritative Information) | ||
| 204 | 无内容(No Content) | ||
| 205 | 重置内容(Reset Content) | ||
| 206 | 部分内容(Partial Content) | ||
| 300 | 多重选择(Multiple Choices) | ||
| 301 | 永久删除(Moved Permanently) | ||
| 302 | 找到(Found ) | ||
| 303 | 参考其他(See Other) | ||
| 304 | 未修改(Not Modified) | ||
| 305 | 使用代理服务器(Use Proxy) | ||
| 307 | 临时重定向(Temporary Redirect ) | ||
| 400 | 错误请求(Bad Request) | ||
| 401 | 未授权(Unauthorized) | ||
| 402 | 付费请求(Payment Required) | ||
| 403 | 禁止(Forbidden) | ||
| 404 | 找不到(Not Found) | ||
| 405 | 方法不被允许(Method not Allowed) | ||
| 406 | 不可接受(Not Acceptable) | ||
| 407 | 要求进行代理身份认证 (Proxy AuthenticationRequired) |
||
| 408 | 请求超时 (Request Time-out) | ||
| 409 | 冲突(Conflict) | ||
| 410 | 所请求资源不在服务器上有效,且不知道转发地址(Gone) | ||
| 411 | 需要输入长度(Length Required) | ||
| 412 | 前提条件失败 (Precondition Failed) | ||
| 413 | 请求实体太大(Request Entity Too Large) | ||
| 414 | 请求URI太长(Request-URI Too Large) | ||
| 415 | 媒体类型不支持(Unsupported Media Type) | ||
| 416 | 所请求的范围无法满足(Requested range notsatisfiable) |
||
| 417 | 执行失败(Expectation Failed) | ||
| 500 | 内部服务器错误(Internal Server Error) | ||
| 501 | 未执行 (Not Implemented) | ||
| 502 | 网关错误(Bad Gateway) | ||
| 503 | 服务不可用(Service Unavailable) | ||
| 504 | 网关超时(Gateway Time-out) | ||
| 505 | HTTP 版本不支持(HTTP Version not supported) | ||
| 600 | 非 HTTP PDU 格式(Not HTTP PDU) | ||
| 601 | 网络错误(Network Error) | ||
| 602 | 内存不足(No memory) | ||
| 603 | DNS 错误(DNS Error) | ||
| 604 | 栈忙(Stack Busy) | ||
| 605 | SSL建立通道失败 | ||
| 606 | SSL通讯警告错误 |
查询HTTP服务响应:AT+HTTPREAD
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+HTTPREAD= , |
+HTTPREAD: OK |
| 执行命令 | AT+HTTPREAD | +HTTPREAD: OK 读取 AT+HTTPACTION=0 或 AT+HTTPDATA 命令的所有响应数据。执行命令用来将HTTP服务器的响应输出到UART或者输出准备好 POST 到服务器的数据。 |
| 测试命令 | AT+HTTPREAD=? | +HTTPREAD: (list of supported supported OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 实际输出数据长度 | |||
| HTTP 服务器对AT+HTTPACTION=0命令的响应数据 | |||
| 输出数据的起点 | 0~319488 | 单位:字节 | |
| 输出数据的长度 | 1~319488 | 单位:字节 |
获取HTTP服务响应数据:AT+HTTPGET
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+HTTPGET= |
+HTTPGET: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 实际输出数据长度 | |||
| http下载文件路径 | 长度不超过 255的ASCII 字符串。 |
查询HTTP头信息:AT+HTTPHEAD
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+HTTPHEAD | +HTTPREAD: OK |
| 测试命令 | AT+HTTPHEAD=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 头信息的实际长度 | |||
| 头信息 |
保存HTTP应用上下文:AT+HTTPSCONT
执行命令保存包含 AT 命令参数的 HTTP 应用上下文,当系统重启时,参数将自动载入。查询命令返回 HTTP 应用上下文。
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+HTTPSCONT | +HTTPREAD: (list of supported supported OK |
| 查询命令 | AT+HTTPSCONT? | +HTTPSCONT: CID: URL: UA: PROIP: PROPORT: REDIR: BREAK: BREAKEND: USERDATA: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| HTTP上下文保存模式 | 0 | 保存,值取自 NVRAM | |
| 1 | 未保存,值取自 RAM |
终止HTTP任务:AT+HTTPTERM
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+HTTPTERM | OK |
| 测试命令 | AT+HTTPTERM=? | OK |
HTTP错误码:ERROR:
HTTP错误码会以ERROR:
| 取值 | 英文说明 | 中文说明 |
|---|---|---|
| 0 | Unknown session id | 未知的会话ID |
| 1 | File is too short | 文件的内容太短 |
| 2 | DNS is fail | 域名解析失败 |
| 3 | HTTP is busy | HTTP任务正忙 |
| 4 | Socket is wrong | 套接字失败 |
| 5 | Connect fail | 连接失败 |
| 6 | File is error | 文件错误 |
| 7 | Connection is closed | 连接已关闭 |
| 8 | Connection is destroyed | 连接已销毁 |
| 9 | HTTP header is not found | HTTP头不存在 |
| 10 | HTTP authentication scheme is not supported | HTTP认证机制不支持 |
| 11 | PDP active is wrong | PDP激活失败 |
| 12 | Param is wrong | 参数有误 |
| 13 | No buffer | 缓冲区不足 |
| 14 | PDP deactive is wrong | PDP去激活失败 |
使用方法举例
由于这部分的命令具有高度相关性,所以将各个命令的应用例程集中在一起描述。
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| HTTP GET 命令使用方法: | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置HTTP功能的承载类型 |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置pdp承载参数之APN |
| 模块注册网络后会从网络自动获取 PDP上下文,用于RNDIS上网使用(此 AT+SAPBR=3, |
||
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活该承载的GPRS PDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询下承载的状态 |
| ← | +SAPBR: 1,1,010.169.179.213 OK |
第一个参数1表示cid 第二个参数1表示已经连接第三个参数表示模块获取的IP地址 |
| → | AT+HTTPINIT | HTTP协议栈初始化 |
| ← | OK | |
| → | AT+HTTPPARA="CID",1 | 设置HTTP会话参数:CID |
| ← | OK | |
| → | AT+HTTPPARA="URL","www.baidu.com" | 设置HTTP会话参数:URL |
| ← | OK | |
| → | AT+HTTPACTION=0 | GET 开始 |
| ← | OK | |
| ← | +HTTPACTION:0,200,1348 +HTTPACTION:0,200,1348 +HTTPACTION:0,200,1348 … … |
出现这些URC上报表明GET数据成功,等待READ |
| → | AT+HTTPREAD | 读取从HTTP 服务器GET的数据 |
| ← | +HTTPREAD: 9592 ……………… OK |
…..表示HTTP数据 |
| → | AT+HTTPTERM | 结束HTTP服务 |
| ← | OK | |
| HTTP POST 命令使用方法: | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置HTTP功能的承载类型 SAPBR是为了激活PDP上下文 |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置 APN 模块注册网络后会从网络自动获取 PDP上下文,用于RNDIS上网使用(此 AT+SAPBR=3, |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活该承载的GPRS PDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询下承载的状态 |
| ← | +SAPBR: 1,1,010.169.179.213 OK |
第一个参数1表示cid 第二个参数1表示已经连接第三个参数表示模块获取的IP地址 |
| → | AT+HTTPINIT | HTTP协议栈初始化 |
| ← | OK | |
| → | AT+HTTPSSL=1 | 设置使用SSL连接(不需要验证证书) |
| ← | OK | |
| → | AT+SSLCFG="hostname",153,"fanyi.baidu.c om" |
|
| ← | OK | |
| → | AT+HTTPPARA="CID",1 | 设置HTTP会话参数:CID |
| ← | OK | |
| → | AT+HTTPPARA="URL","https://fanyi.baidu.c om" |
设置HTTP会话参数:URL |
| ← | OK | |
| → | AT+HTTPDATA=4,100000 | 输入4个字节,等待时间是10S,输入时间要设定的足够大以保证数据输入 |
| ← → ← |
DOWNLOAD 中国 OK |
DOWNLOAD表示已经准备好输入数据输入中国(中国两个字占用4个字节) OK出现表示输入结束 |
| → | AT+HTTPACTION=1 | POST开始 |
| ← | OK | |
| ← | +HTTPACTION:1,200,207751 | 表示POST成功 |
| → | AT+HTTPREAD | 读取内容 |
| ← | +HTTPREAD: 207751 <!DOCTYPE html> content="IE=edge,chrome=1"> static.com"+d,k&&l&&l>k||(g(function(){alo g("speed.set","lt",+new Date),e=b.createElement(c),e.async=!0,e.s rc=d+"?v="+~(new Date/864e5)+~(new Date/864e5),f=b.getElementsByTagName(c )[0],f.parentNode.insertBefore(e,f)}),j())}} (window,document,"script","/hunter/alog/dp |
|
| .min.js"); }(); !function(){ require('translation:widg et/translate/common/sectrans'); }(); OK |
||
| → | AT+HTTPTERM | 结束HTTP服务 |
| ← | OK | 下载HTTP会话从AT+SAPBR=2,1开始,如果此命令查询IP地址还在,则HTTPINITHTTPPARA依次执行下去 |
| 带SSL证书验证功能的HTTPS过程: | ||
| → | AT+FSCREATE="ca.crt" | 创建服务器端CA 证书文件 |
| ← | OK | |
| → | AT+FSCREATE="client.crt" | 创建客户端证书文件 |
| ← | OK | |
| → | AT+FSCREATE="client.key" | 创建客户端密钥文件 |
| ← | OK | |
| → | AT+FSWRITE="ca.crt",0,2080,15 | 文件长度2080字节只是举例,要根据实际填写。下同。 |
| ← | > | 这里输入CA证书文件 |
| ← | OK | |
| ← | AT+FSWRITE="client.crt",0,128,10 | |
| → | > | 这里输入客户端证书文件 |
| ← | OK | |
| → | AT+FSWRITE="client.key",0,188,10 | |
| ← | > | 这里输入客户端密钥文件 |
| ← | OK | |
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 PDP上下文,用于RNDIS上网使用(此 AT+SAPBR=3, |
| ← | OK | |
| → | AT+SAPBR=1,1 | |
| ← | OK | |
| → | AT+SAPBR=2,1 | |
| ← | +SAPBR: 1,1,010.169.179.213 OK |
|
| → | AT+HTTPSSL=1 | 开启SSL功能开关为开 |
| ← | OK |
| → | AT+SSLCFG="cacert",153,"ca.crt" | 设置服务器CA 证书 SSL 上下文id,在TCP单链接的情况下缺省为0;在HTTPS链接下为153,下同 |
|---|---|---|
| ← | OK | |
| → | AT+SSLCFG="clientcert",153,"client.crt" | 设置客户端证书 |
| ← | OK | |
| → | AT+SSLCFG="clientkey",153,"client.key" | 设置客户端KEY |
| ← | OK | |
| → | AT+SSLCFG="seclevel",153,2 | 设置安全等级 |
| ← | OK | |
| → | AT+SSLCFG="ciphersuite",153,0X0035 | 设置加密套件 |
| ← | OK | |
| → | AT+SSLCFG="clientrandom",153,01B12C31 41516171F19202122232425262728293031 323334353637D |
设置随机数 |
| ← | OK | |
| → | AT+HTTPINIT | HTTP协议栈初始化 |
| ← | OK | |
| → | AT+HTTPPARA="CID",1 | 设置HTTP会话参数:CID |
| ← | OK | |
| → | AT+HTTPPARA="URL","https://..**" | 设置HTTP会话参数:URL 请写具体的网址,而不要照抄 |
| ← | OK | |
| → | AT+HTTPACTION=0 | GET 开始 |
| ← | OK | |
| ← | +HTTPACTION:0,200,1348 +HTTPACTION:0,200,1348 +HTTPACTION:0,200,1348 … … |
出现这些URC上报表明GET数据成功,等待READ |
| → | AT+HTTPREAD | 读取从HTTP 服务器GET的数据 |
| ← | +HTTPREAD:1592 ……………… OK |
…..表示HTTP数据 |
| → | AT+HTTPTERM | 结束HTTP服务 |
| ← | OK | |
| HTTP HEAD 过程: | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | |
| ← | OK | |
| → | AT+SAPBR=1,1 | |
| ← | OK |
| → | AT+SAPBR=2,1 | |
|---|---|---|
| ← | +SAPBR: 1,1,010.169.179.213 OK |
|
| → | AT+HTTPINIT | |
| ← | OK | |
| → | AT+HTTPPARA="CID",1 | |
| ← | OK | |
| → | AT+HTTPPARA="URL","https://..**" | |
| ← | OK | |
| → | AT+HTTPACTION=2 | AT+HTTPACTION=0也可以 |
| ← | OK | |
| → | AT+HTTPHEAD | |
| ← | +HTTPHEAD: ---data--- OK |
FTP相关命令
设置FTP控制端口:AT+FTPPORT
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPPORT= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPPORT? | +FTPPORT: OK |
|
| 测试命令 | AT+FTPPORT=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP控制端口号 | 1~65535 | 缺省值为21 |
设置FTP主动或被动模式:AT+FTPMODE
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPMODE= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPMODE? | +FTPMODE: OK |
|
| 测试命令 | AT+FTPMODE=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP主动被动模式 | 0 | 主动模式(暂不支持) | |
| 1 | 被动模式 |
设置FTP数据传输类型:AT+FTPTYPE
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPTYPE= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPTYPE? | +FTPTYPE: OK |
|
| 测试命令 | AT+FTPTYPE=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP数据传输类型 | "A" | FTP ASCII字符集 | |
| "I" | FTP Binary字符集 |
设置FTP输入类型:AT+FTPPUTOPT
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPPUTOPT= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPPUTOPT? | +FTPPUTOPT: OK |
|
| 测试命令 | AT+FTPPUTOPT=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP数据传输类型 | "APPE" | 添加文件 | |
| "STOU" | 存储唯一的文件 | ||
| "STOR" | 存储文件 |
设置FTP承载标识:AT+FTPCID
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPCID= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPCID? | +FTPCID: OK |
|
| 测试命令 | AT+FTPCID=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP承载标识 | 1~3 | 同+SAPBR中 |
设置FTP下载续传:AT+FTPREST
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPREST= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPREST? | +FTPREST: OK |
|
| 测试命令 | AT+FTPREST=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 要续传的断点 |
设置FTP服务器地址:AT+FTPSERV
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPSERV= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPSERV? | +FTPSERV: OK |
|
| 测试命令 | AT+FTPSERV=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP服务器地址, IP或域名 | 32-bit 十进制数,用 . 分开,形式如: xxx.xxx.xxx.xxx。如果是DNS,则为长度不超过49的ASCII字符串。 |
设置FTP用户名称:AT+FTPUN
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPUN= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPUN? | +FTPUN: OK |
|
| 测试命令 | AT+FTPUN=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP用户名 | 为长度不超过49的ASCII字符串。 |
设置FTP密码:AT+FTPPW
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPPW= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPPW? | +FTPPW: OK |
|
| 测试命令 | AT+FTPPW=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP密码 | 为长度不超过49的ASCII字符串。 |
设置FTP下载文件名称:AT+FTPGETNAME
设置服务器端目标文件的名称。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPGETNAME= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPGETNAME? | +FTPGETNAME: OK |
|
| 测试命令 | AT+FTPGETNAME=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP下载文件名称 | 为长度不超过99的ASCII字符串。 |
设置FTP下载文件路径:AT+FTPGETPATH
本命令是设置目标文件在服务器端的路径。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPGETPATH= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPGETPATH? | +FTPGETPATH: OK |
|
| 测试命令 | AT+FTPGETPATH=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP下载文件路径 | 长度不超过255的ASCII字符串。 |
设置FTP上传文件名称:AT+FTPPUTNAME
设置将文件上传到服务器后的保存名称。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPPUTNAME= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPPUTNAME? | +FTPPUTNAME: OK |
|
| 测试命令 | AT+FTPPUTNAME=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP上传文件名称 | 长度不超过99的ASCII字符串。 |
设置FTP上传文件路径:AT+FTPPUTPATH
设置将文件上传到服务器后的保存目录。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPPUTPATH= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 查询命令 | AT+FTPPUTPATH? | +FTPPUTPATH: OK |
|
| 测试命令 | AT+FTPPUTPATH=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP上传文件路径 | 长度不超过99的ASCII字符串。 |
远程服务器上创建文件目录:AT+FTPMKD
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 执行命令 | AT+FTPMKD | OK +FTPMKD: 1,0 |
创建成功 |
| OK +FTPMKD: 1, |
创建失败 | ||
| +CME ERROR: |
如果是命令错误 | ||
| 测试命令 | AT+FTPMKD=? | OK | |
| 注意事项 | 执行命令创建的文件目录由命令AT+FTPGETPATH定义 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 错误码 | 与AT+FTPGET命令的 |
远程服务器上删除文件目录:AT+FTPRMD
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 执行命令 | AT+FTPRMD | OK +FTPRMD: 1,0 |
删除成功 |
| OK +FTPRMD: 1, |
删除失败 | ||
| +CME ERROR: |
如果是命令错误 | ||
| 测试命令 | AT+FTPRMD=? | OK | |
| 注意事项 | 执行命令删除的文件目录由命令AT+FTPGETPATH定义 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 错误码 | 与AT+FTPGET命令的 |
下载文件:AT+FTPGET
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPGET= |
OK | 输入AT+FTPGET=1 的返回 |
| +FTPGET:2, ……..数据……….. OK |
输入: AT+FTPGET=2, 的返回 |
||
| URC上报 | +FTPGET:1,1 | 输入AT+FTPGET=1后,有此上报,表示有数据了,第一个参数 1表示 |
|
| +FTPGET:1, |
输入AT+FTPGET=1后,有此上报,表示FTP下载失败,第一个参数1表示 |
||
| +FTPGET:1,0 | 表示数据传输结束,第一个参数1表示 |
||
| 测试命令 | AT+FTPGET=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 工作模式 | 1 | 打开FTP会话 | |
| 2 | 读入FTP下载数据 | ||
| 请求读入的数据长度 | 1~1460 | ||
| 确认读入的数据长度 | 1~1460 | 可能小于 |
|
| 错误码 | 61 | 网络错误 net error | |
| 62 | DNS错误 DNS error | ||
| 63 | 连接错误 connect error | ||
| 64 | 超时 timeout | ||
| 65 | 服务器错误 server error | ||
| 66 | 操作禁止 operation not allowed | ||
| 70 | 应答错误 reply error | ||
| 71 | 用户错误 user error | ||
| 72 | 口令错误 password error | ||
| 73 | 类型错误 type error | ||
| 74 | 保持错误 rest error | ||
| 75 | 被动错误 passive error | ||
| 76 | 主动错误 active error | ||
| 77 | 操作错误 operate error | ||
| 78 | 上传错误 upload error | ||
| 79 | 下载错误 download error | ||
| 80~84 | FTP SSL 连接错误 | ||
| 85 | 文件错误 | ||
| 86 | 主动退出 |
上传文件:AT+FTPPUT
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPPUT= |
OK | 输入AT+FTPPUT=1的返回 |
| +FTPPUT:2, …….. //input data here OK |
输入: AT+FTPPUT=2, 的返回 |
||
| OK +FTPPUT: 1,0 |
输入: AT+FTPPUT=2,0 的返回 |
||
| URC上报 | +FTPPUT:1,1, |
输入AT+FTPPUT=1后,有此上报,表示可以上传数据了此时通过输入AT+FTPPUT=2, |
|
| +FTPPUT:1,0 | 表示数据传输会话结束。第一个参数1表示 |
||
| +FTPPUT:1, |
如果 |
||
| 测试命令 | AT+FTPPUT=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| FTP上传工作模式 | 1 | 打开FTP会话 | |
| 2 | 写FTP上传数据 | ||
| 请求上传的数据长度 | 0- |
||
| 确认可以上传的数据长度 | |||
| 单次可以上传的最大的长度,取决于网络状态 |
下载文件(扩展):AT+FTPEXTGET
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPEXTGET= |
OK | 当 |
| AT+FTPEXTGET= |
+FTPEXTGET:2, OK |
当 |
|
| AT+FTPEXTGET= |
+FTPEXTGET:3, …… //这里是输出到串口的数据 OK |
当 |
|
| AT+FTPEXTGET= |
OK | 当 |
|
| +FTPEXTGET: 4, //outputLength数据长度 |
AT+FTPEXTGET= 4,outputLength //读数据 |
||
| 查询命令 | AT+FTPEXTGET? | +FTPEXTGET: OK |
|
| 测试命令 | AT+FTPEXTGET=? | OK | |
| URC上报 | +FTPEXTGET:1,0 | ||
| +FTPEXTGET:1, |
|||
| +FTPEXTGET:2, |
|||
| +FTPEXTGET:3, |
|||
| 注意事项 | 1)当FTPEXTPUT 2)如果文件大小 ( ( 3)本命令的使用方法请参考本章最后一部分:使用方法举例 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 工作模式 | 0 | 使用缺省的FTPGET方法 | |
| 1 | 使用扩展的FTPGET方法 | ||
| 2 | 保存下载的数据到文件中 | ||
| 3 | 输出下载的数据到串口 | ||
| 4 | 流式获取数据 | ||
| 文件名 | 字符串型,最长64个字符。注:只需指定文件名,不要指定路径,因为保存的路径是确定的C:/USER/FTP | ||
| 保存到文件的所有数据长度,用于 mode 2 |
<302512 | 单位:字节 | |
| 输出到串口的数据长度,用于mode 3或4 |
<302512 | 单位:字节 | |
| 读取文件数据的起始位置,用于 mode 3 |
0 | ||
| 读取长度,用于mode 3 | 单位:字节 | ||
| FTPEXTGET的状态 | 0 | 不在FTPEXTGET过程中 | |
| 1 | 处于FTPEXTGET过程 | ||
| 下载的数据的长度 | 单位:字节 | ||
| 错误码 | 与AT+FTPGET命令的 |
上传文件(扩展):AT+FTPEXTPUT
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPEXTPUT= |
OK | 当 |
| +FTPEXTPUT: …… //这里从串口输入数据 OK |
当 |
||
| 测试命令 | AT+FTPEXTPUT=? | OK | |
| 注意事项 | 本命令的使用方法请参考本章最后一部分:使用方法举例 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 工作模式 | 0 | 使用缺省的FTPPUT方法 | |
| 1 | 使用扩展的FTPPUT方法 | ||
| 2 | 将数据PUT到RAM | ||
| 每次PUT的起始位置 | 0-300K | 单位:byte | |
| 每次PUT的数据长度 | 0-300K | 单位:byte | |
| 串口数据传输的超时时间 | 1000-1000000 | 单位:ms |
下载文件并保存到文件系统中:AT+FTPGETTOFS
语法规则:
| 命令类型 | 语法 | 返回 | |
|---|---|---|---|
| 设置命令 | AT+FTPGETTOFS= , |
OK | 成功 |
| ERROR | 失败 | ||
| 查询命令 | AT+FTPGETTOFS? | +FTPGETTOFS: OK |
|
| URC上报 | +FTPGETTOFS:0, |
如果下载成功 | |
| +FTPGETTOFS: |
如果下载失败 | ||
| 测试命令 | AT+FTPGETTOFS=? | OK | |
| 注意事项 | 重连以后会断点续传如果两次下载都用同一个文件名,上次下载的内容会被覆盖 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 工作模式 | 0 | 不在FTPGETTOFS过程 | |
| 1 | 处于FTPGETTOFS过程 | ||
| 文件保存的位置,是ROM还是SD卡。 | 0 | 保存于ROM,文件夹固定为 | |
| Disk1或Disk2可被AT+FSDRIVE获取 | "Disk1:/USER/FTP" | ||
| 1 | 保存于SD卡,文件夹固定为"Disk2:/FTP" | ||
| 文件名 | 字符串型,最长64个字符 | ||
| 自动重连次数 | 0-255 | 缺省值:3 | |
| 等多少秒开始自动重连 | 0-60 | 单位:秒,缺省值:5 | |
| 当前从FTP服务器GET多少数据 | |||
| 当前保存到文件系统多少数据 | |||
| 总共保存到文件系统多少数据 | |||
| 错误码 | 与AT+FTPGET命令的 |
从文件系统上传文件到服务器:AT+FTPPUTFRMFS
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+FTPPUTFRMFS= |
OK |
| 查询命令 | AT+FTPPUTFRMFS? | +FTPPUTFRMFS: OK |
| 测试命令 | AT+FTPPUTFRMFS=? | OK |
| URC上报 | +FTPPUTFRMFS:0, |
当上传结束,有此上报 |
| +FTPPUTFRMFS: |
当上传出错,有此上报。 定义 |
|
| 注意事项 | 自动重连后从断点开始续传 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 文件名 | 字符串型,由数字和字母组成,最长128字节 | ||
| 自动重连次数 | 0-255 | 缺省值:3 | |
| 等多少秒开始自动重连 | 0-60 | 单位:秒,缺省值:5 | |
| FTP上传状态 | 0 | 不在上传状态 | |
| 1 | 处于上传状态 | ||
| 当前从文件系统上传了多少数据 | 单位:字节 | ||
| 从文件系统共上传了多少数据 | 单位:字节 |
从文件系统加载到RAM中并用FTPPUT上传:AT+FTPFILEPUT
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+FTPFILEPUT= |
OK |
| 测试命令 | AT+FTPFILEPUT=? | OK |
| 注意事项 | 当FTPEXTPUT命令 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 工作模式 | 0 | 结束从文件系统加载到RAM | |
| 1 | 开始从文件系统加载到RAM并上传 | ||
| 文件名 | 0-128字节 | 当mode为1时必须填入文件名,为0不需要 |
获取远程服务器上文件目录:AT+FTPLIST
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+FTPLIST= |
如果 AT+FTPLIST=1 返回值为: OK或 +CME ERROR: |
| 如果 AT+FTPLIST=2, 返回值为: +FTPLIST:2, ….数据… OK |
||
| 测试命令 | AT+FTPLIST=? | OK |
| URC上报 | 输入AT+FTPLIST=1后,如果是一个成功的FTP会话,后续会有如下的URC上报: +FTPLIST:1,1 如果是FTP数据传输结束,后续会有如下的URC上报: +FTPLIST:1,0 如果FTP会话失败,后续会有如下的URC上报: +FTPLIST:1, |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 工作模式 | 1 | 打开FTP 获取文件目录会话 | |
| 2 | 读取FTP 获取文件目录的数据 | ||
| 请求的数据的长度 | 1~1460 | ||
| 实际的数据长度 | 1~1460 | ||
| 同+FTPGET中 |
获取远程服务器上文件大小:AT+FTPSIZE
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 执行命令 | AT+FTPSIZE | OK +FTPSIZE: 1,0, |
获取文件大小成功 |
| OK +FTPSIZE: 1, |
获取文件大小失败 | ||
| +CME ERROR: |
如果是命令错误 | ||
| 测试命令 | AT+FTPSIZE=? | OK | |
| 注意事项 | 文件由命令AT+FTPGETNAME和AT+FTPGETPATH指定 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 文件大小 | 单位:字节 | ||
| 错误码 | 与AT+FTPGET命令的 |
获取FTP状态:AT+FTPSTATE
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+FTPSTATE | +FTPSTATE: OK |
| 测试命令 | AT+FTPSTATE=? | OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 工作状态 | 0 | Idle | |
| 1 | FTP会话进行中,包括FTPGET、FTPPUT、FTPDELE |
保存FTP应用上下文:AT+FTPSCONT
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 查询命令 | AT+FTPSCONT? | +FTPSCONT: +FTPSERV: +FTPPORT: +FTPUN: +FTPPW: +FTPCID: +FTPMODE: +FTPTYPE: +FTPPUTOPT: +FTPREST: +FTPGETNAME: +FTPGETPATH: +FTPPUTNAME: +FTPPUTPATH: +FTPTIMEOUT: OK |
|
| 执行命令 | AT+FTPSCONT | OK | 将FTP上下文保存,等模块重启后,将自动载入上下文参数并生效 |
删除服务器上指定的文件:AT+FTPDELE
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+FTPDELE | OK |
| 测试命令 | AT+FTPDELE=? | OK |
| URC上报 | +FTPDELE:1,0 | 表示删除成功。第一个参数1表示FTP会话打开 |
| +FTPDELE:1, |
表示FTP文件删除失败。错误码 AT+FTPGET 错误码 |
|
| 注意事项 | 文件由命令AT+FTPGETNAME和AT+FTPGETPATH指定 |
退出当前FTP会话:AT+FTPQUIT
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+FTPQUIT | OK | 成功 |
| ERROR | 失败 | ||
| 测试命令 | AT+FTPQUIT=? | OK |
使用方法举例
由于这部分的命令具有高度相关性,所以将各个命令的应用例程集中在一起描述。
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| FTPGET 命令使用方法: | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置FTP功能的承载类型 |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 APN |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活该承载的GPRS PDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询下承载的状态 |
| ← | +SAPBR: 1,1,010.169.179.213 OK |
第一个参数1表示cid 第二个参数1表示已经连接第三个参数表示模块获取的IP地址 |
| → | AT+FTPCID=1 | 设置cid |
| ← | OK | |
| → | AT+FTPSERV="36.7.2.150" | 设置服务器ip地址,也可以使用域名。本文只是举例,请填写自己的服务器地址,不要照抄。 |
| ← | OK | |
| → | AT+FTPUN="user556" | 设置服务器用户名。请填写自己FTP服务器的用户名,不要照抄 |
| ← | OK | |
| → | AT+FTPPW="222333" | 输入密码。请填写自己FTP服务器的密码,不要照抄 |
| ← | OK | |
| → | AT+FTPGETPATH="/" | 设置下载文件的路径 |
| ← | OK | |
| → | AT+FTPLIST=1 | |
| ← | OK +FTPLIST: 1,1 |
|
| → | AT+FTPLIST=2,1460 | |
| ← | +FTPLIST: 2,1460 drwxr-xr-x 1 ftp ftp 0 Feb 24 2018 .1 |
drwxr-xr-x 第一个字母表示文件类型。 d:文件目录 -:普通文件 |
| -rw-r--r-- 1 ftp ftp 107 Jul 10 17:08 1.txt drwxr-xr-x 1 ftp ftp 0 Apr 27 2018 11 -rw-r--r-- 1 ftp ftp 0 Sep 19 2018 111.txt drwxr-xr-x 1 ftp ftp 0 Dec 19 2018 1221 -rw-r--r-- 1 ftp ftp 7 Apr 25 2019 1222.txt -rw-r--r-- 1 ftp ftp 18380 May 07 2018 12220.txt -rw-r--r-- 1 ftp ftp 0 Apr 26 2019 12222.txt -rw-r--r-- 1 ftp ftp 10 Apr 28 2018 122343.txt -rw-r--r-- 1 ftp ftp 254 Sep 04 2018 123456.txt -rw-r--r-- 1 ftp ftp 601283 Jul 21 2018 2018_7_21.sdl -rw-r--r-- 1 ftp ftp 8 Apr 26 2019 33333.txt -rw-r--r-- 1 ftp ftp 14 Oct 13 2017 66.txt -rw-r--r-- 1 ftp ftp 11525352 Mar 13 2019 Air720_CSDK_demo_flash.blf -rw-r--r-- 1 ftp ftp 65536 Jul 31 2018 app2_flash.bin -rw-r--r-- 1 ftp ftp 0 Sep 29 2017 ccc.txt -rw-r--r-- 1 ftp ftp 65536 Jan 18 2018 demo_ota_flash.bin -rw-r--r-- 1 ftp ftp 65536 Jul 30 2018 demo_timer_flash.bin -rw-r--r-- 1 ftp ftp 131072 Oct 10 2017 demo_timer_flash_org.bin -rw-r--r-- 1 ftp ftp 534110 Feb 24 2018 FM320X 绠€浠.pdf -rw-r--r-- 1 ftp ftp 16384 Mar 26 2019 FOTA_APP_720D.bin -rw-r--r-- 1 ftp ftp 5103616 Mar 26 2019 FOTA_CORE_APP_720D.bin drwxr-xr-x 1 ftp ftp 0 Dec 12 2018 get OK |
后面的每三个字符分成一组来看,即 rwx 、 r-x 、r-x。第一组rwx是root组对文件的权限;第二个r-x是一般用户(用户组)对文件的权限;第三个r-x是其他用户对文件的权限 r 是可读,w 是可写,x 是可执行, rwx 意思是可读,可写,可执行; r-x 是可读,可执行,不可写;同理: r-- 是可读,不可写,不可执行 rw- 是可读,可写,不可执行 |
|
| → | AT+FTPQUIT | 退出FTPLIST会话,才能开始后续的会话。退出FTPLIST会话的方法有两种,一是等待 +FTPLIST:1,0上报,二是主动退出FTPLIST会话 |
| ← | OK +FTPLIST: 1,86 |
这里采用的是主动退出FTPLIST会话 |
| → | AT+FTPGETNAME="1.txt" | 设置下载文件的名称 |
| ← | OK | |
| → | AT+FTPGET=1 | 开始FTP下载会话 |
| ← | OK | |
| ← | +FTPGET: 1,1 | 这个是URC上报,表示有数据了 |
| → | AT+FTPGET=2,20 | 读入20个数据 |
| ← | +FTPGET: 2, 10 | 确定读到的是10个数据 |
| ??/ ??/ OK |
||
| ←(URC) | +FTPGET: 1,0 | 等一段时间会提示FTP下载会话结束 |
| → | AT+FTPREST=6 | 如果FTP连接或会话意外关闭,还可以断点续传。从断掉的点开始下载。 |
| ← | OK | |
| → | AT+FTPGET=1 | |
| ← | OK +FTPGET: 1,1 |
+FTPGET: 1,1表示有数据可读 |
| → | AT+FTPQUIT | 也可以在提示 +FTPGET: 1,0 前主动用 AT+FTPQUIT退出当前FTP会话 |
| ← | OK +FTPGET: 1,86 |
|
| FTPPUT 命令使用方法: | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置FTP功能的承载类型 |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 APN |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活该承载的GPRS PDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询下承载的状态 |
| ← | +SAPBR: 1,1,010.169.179.213 OK |
第一个参数1表示cid 第二个参数1表示已经连接第三个参数表示模块获取的IP地址 |
| → | AT+FTPCID=1 | |
| ← | OK | |
| → | AT+FTPSERV="36.7.33.111" | 设置服务器ip地址,也可以使用域名。本文只是举例,请填写自己的服务器地址,不要照抄。 |
| ← | OK | |
| → | AT+FTPUN="test112" | 设置服务器用户名。请填写自己FTP服务器的用户名,不要照抄 |
| ← | OK | |
| → | AT+FTPPW="777888" | 输入密码。请填写自己FTP服务器的密码,不要照抄 |
| ← | OK | |
| → | AT+FTPPUTNAME="1222.txt" | 设置上传文件的名称 |
| ← | OK | |
| → | AT+FTPPUTPATH="/11/" | 设置上传文件的路径 |
| ← | OK | |
| → | AT+FTPPUT=1 | |
| ← | OK | |
| ← | +FTPPUT:1,1,1360 | 这是URC上报,表示可以上传数据了,单次上传的最大长度为1360 |
| → | AT+FTPPUT=2,7 | |
| ← | +FTPPUT: 2,7 //此时输入7个字符 OK |
输入7个字符后,会返回OK,表示输入结束,已经上传。 |
| (URC) | +FTPPUT: 1,0 | 等待一段时间不动作,会提示FTPPUT会话结束 |
| → | AT+FTPQUIT | 也可以在提示 +FTPPUT: 1,0 之前用 AT+FTPQUIT主动结束会话 |
| ← | OK +FTPPUT: 1,86 |
|
| FTPEXTGET 命令使用方法: | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置FTP功能的承载类型 |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 APN |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活该承载的GPRS PDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询下承载的状态 |
| ← | +SAPBR: 1,1,010.169.179.213 OK |
第一个参数1表示cid 第二个参数1表示已经连接第三个参数表示模块获取的IP地址 |
| → | AT+FTPCID=1 | |
| ← | OK | |
| → | AT+FTPSERV="36.7.33.111" | 设置服务器IP地址,也可以使用域名 |
| ← | OK | |
| → | AT+FTPUN="test112" | 设置用户名 |
| ← | OK | |
| → | AT+FTPPW="777888" | 输入密码 |
| ← | OK | |
| → | AT+FTPGETNAME="TEST2.txt" | 设置下载文件的名字(请注意:FTPEXTGET命令只支持小于300K的文件的下载) |
| ← | OK | |
| → | AT+FTPGETPATH="/11/" | 设置下载文件所在的文件夹 |
| ← | OK |
| → | AT+FTPEXTGET=1 | 开始FTP下载 |
|---|---|---|
| ← | OK | |
| → | AT+FTPEXTGET? | 查询下载了多少字节 |
| ← | +FTPEXTGET: 1,246840 OK |
|
| ←(URC) | +FTPEXTGET: 1,0 | 有这个URC上报,表示文件下载完毕,可以保存或读取了 |
| → | AT+FTPEXTGET=2,hello | 保存的文件名为hello |
| ← | +FTPEXTGET: 2, 296895 OK |
|
| → | AT+FTPEXTGET=3,0,296895 | 将数据显示在串口 |
| ← | +FTPEXTGET: 3, 296895 ……这里是显示在串口的数据…… OK |
|
| → | AT+FTPEXTGET=0 | 设置FTPEXTGET模式关闭 |
| ← | OK | |
| ←(URC) | +FTPEXTGET: 4,1460 | 有数据上报 |
| → | AT+FTPEXTGET=4,1460 | 读数据 |
| → | +FTPEXTGET: 4,1460 ……这里是显示在串口的数据…… OK |
|
| FTPEXTPUT使用方法: | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置FTP功能的承载类型 |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 APN |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活该承载的GPRS PDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询下承载的状态 |
| ← | +SAPBR: 1,1,010.169.179.213 OK |
第一个参数1表示cid 第二个参数1表示已经连接第三个参数表示模块获取的IP地址 |
| → | AT+FTPCID=1 | |
| ← | OK | |
| → | AT+FTPSERV="36.7.33.111" | 设置服务器IP地址,也可以使用域名 |
| ← | OK |
| → | AT+FTPUN="test112" | 设置用户名 |
|---|---|---|
| ← | OK | |
| → | AT+FTPPW="777888" | 输入密码 |
| ← | OK | |
| → | AT+FTPPUTPATH="/11/" | |
| ← | OK | |
| → | AT+FTPPUTNAME="TEST8861.txt" | |
| ← | OK | |
| → | AT+FTPEXTPUT=1 | |
| ← | OK | |
| → | AT+FTPEXTPUT=2,0,5,10000 | 将文件数据从串口输入到模块RAM。第2个参数是offset,第3个参数是数据长度,第4个参数是超时时间10s |
| ← | +FTPEXTPUT: 0,5 //这里输入5个字符:12345 OK |
|
| → | AT+FTPEXTPUT=2,5,7,10000 | 这次offset是5,长度为7 |
| ← | +FTPEXTPUT: 5,7 //这里输入7个字符:67890AB OK |
|
| → | AT+FTPPUT=1 | 将RAM中的文件传到FTP服务器 |
| ← | OK | |
| ←(URC) | +FTPPUT: 1,0 | 等一段时间会提示FTP上传会话结束。此时查看服务器/11/TEST8861.txt,看到的的内容是: 1234567890AB |
| → | AT+FTPEXTPUT=0 | 改为普通的FTP PUT模式 |
| ← | OK | |
| FTPGETTOFS命令使用方法: | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置FTP功能的承载类型 |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 APN |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活该承载的GPRS PDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询下承载的状态 |
| ← | +SAPBR: 1,1,010.169.179.213 OK |
第一个参数1表示cid 第二个参数1表示已经连接第三个参数表示模块获取的IP地址 |
| → | AT+FTPCID=1 | |
| ← | OK | |
| → | AT+FTPSERV="36.7.33.111" | 设置服务器IP地址,也可以使用域名 |
| ← | OK | |
| → | AT+FTPUN="test112" | 设置用户名 |
| ← | OK | |
| → | AT+FTPPW="777888" | 输入密码 |
| ← | OK | |
| → | AT+FTPGETNAME="TEST.mp3" | |
| ← | OK | |
| → | AT+FTPGETPATH="/11/" | |
| → | OK | |
| → | AT+FTPGETTOFS=0,"TEST-1.mp3" | 开始下载,并存于本地ROM中。如果第一个参数为1,则保存于SD卡中。不管保存在本地还是SD 卡,都只能指定文件名,不能指定路径,因为存放的路径是固定的这种下载方式支持自动断点续传 |
| ← | OK | |
| → | AT+FTPGETTOFS? | 查询下载情况 |
| ← | +FTPGETTOFS: 1,245900,207715 OK |
已下载245900字节,207715字节已被存入文件系统 |
| ←(URC) | +FTPGETTOFS: 0,245900 | 下载成功,总共下载了多少字节。可用文件系统命令对文件进行操作 |
| → | AT+FSLS=C:/USER/FTP/ | 查询保存的文件 |
| ← | hello TEST-1.mp3 OK |
|
| → | AT+CAUDPLAY=1,"C:/USER/FTP/TEST-1.mp3" | 播放保存的文件 |
| ← | OK | |
| ←(URC) | +CAUDPLAY: 1,600 | 播放结束 |
| FTPPUTFRMFS命令使用方法: | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置FTP功能的承载类型 |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 APN |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活该承载的GPRS PDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询下承载的状态 |
| ← | +SAPBR: 1,1,010.169.179.213 OK |
第一个参数1表示cid 第二个参数1表示已经连接第三个参数表示模块获取的IP地址 |
| → | AT+FTPCID=1 | |
| ← | OK | |
| → | AT+FTPSERV="36.7.33.111" | 设置服务器IP地址,也可以使用域名 |
| ← | OK | |
| → | AT+FTPUN="test112" | 设置用户名 |
| ← | OK | |
| → | AT+FTPPW="777888" | 输入密码 |
| ← | OK | |
| → | AT+FTPPUTPATH="/" | |
| ← | OK | |
| → | AT+FTPPUTNAME="TEST001.txt" | 传到服务器的文件以TEST001.txt这个名字存放 |
| ← | OK | |
| → | AT+FTPPUTFRMFS="C:/USER/FTP/TEST-1.txt" | 将C:\USER\FTP\TEST-1.txt的文件传到服务器 |
| ← | OK +FTPPUTFRMFS: 0,41580 |
上传结束 |
| FTPFILEPUT命令使用方法: | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置FTP功能的承载类型 |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 APN |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活该承载的GPRS PDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询下承载的状态 |
| ← | +SAPBR: 1,1,010.169.179.213 OK |
第一个参数1表示cid 第二个参数1表示已经连接第三个参数表示模块获取的IP地址 |
| → | AT+FTPCID=1 | |
| ← | OK | |
| → | AT+FTPSERV="36.7.33.111" | 设置服务器IP地址,也可以使用域名 |
| ← | OK | |
| → | AT+FTPUN="test112" | 设置用户名 |
| ← | OK | |
| → | AT+FTPPW="777888" | 输入密码 |
| ← | OK | |
| → | AT+FTPPUTPATH="/" | |
| ← | OK | |
| → | AT+FTPPUTNAME="TEST_80.txt" | 传到服务器后保存的文件名 |
| ← | OK | |
| → | AT+FTPFILEPUT=1,"C:/USER/FTP/TEST-1.txt" | 将C:\USER\FTP\TEST-1.txt加载到内存 |
| ← | OK | |
| → | AT+FTPPUT=1 | 开始上传 |
| ← | OK | |
| ← | +FTPPUT: 1,0 | 上传结束 |
| → | AT+FTPFILEPUT=0 | 结束FTPFILEPUT模式 |
| ← | OK | |
| FTP远程创建/删除目录或文件: | ||
| → | AT+SAPBR=3,1,"CONTYPE","GPRS" | 设置FTP功能的承载类型 |
| ← | OK | |
| → | AT+SAPBR=3,1,"APN","" | 设置PDP承载之APN参数模块注册网络后会从网络自动获取 APN |
| ← | OK | |
| → | AT+SAPBR=1,1 | 激活该承载的GPRS PDP上下文 |
| ← | OK | |
| → | AT+SAPBR=2,1 | 查询下承载的状态 |
| ← | +SAPBR: 1,1,010.169.179.213 OK |
第一个参数1表示cid 第二个参数1表示已经连接第三个参数表示模块获取的IP地址 |
| → | AT+FTPCID=1 | 设置cid |
| ← | OK | |
| → | AT+FTPSERV="36.7.87.100" | 设置服务器ip地址,也可以使用域名 |
| ← | OK | |
| → | AT+FTPUN="user" | 设置用户名 |
| ← | OK | |
| → | AT+FTPPW="123456" | 输入密码 |
| ← | OK | |
| → | AT+FTPGETPATH="/test" | 设置要创建的文件目录 |
| ← | OK | |
| → | AT+FTPMKD | 创建目录 |
| ← | OK | |
| ← | +FTPMKD: 1,0 | |
| → | AT+FTPRMD | 删除目录 |
| ← | OK | |
| ← | +FTPRMD: 1,0 | |
| → | AT+FTPGETPATH="/" | |
| ← | OK | |
| → | AT+FTPGETNAME="HI.txt" | |
| ← | OK | |
| → | AT+FTPDELE | 删除HI.txt这个文件 |
| ← | OK +FTPDELE: 1,0 |
MQTT相关命令
设置MQTT相关参数:AT+MCONFIG
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+MCONFIG= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 测试命令 | AT+MCONFIG=? | +MCONFIG: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 客户端身份 | 字符串 | 最大256个字节。可以用""括住,也可以不用"" (不能相同,否则最后一个刚连上服务器就会被踢掉) |
|
| 登录服务器的用户名 | 字符串 | 最大256个字节。可以用""括住,也可以不用"" | |
| 登录服务器的密码 | 字符串 | 最大256个字节。可以用""括住,也可以不用"" | |
| 服务质量 | 0 | 至多一次 | |
| 1 | 至少一次 | ||
| 2 | 确保只有一次 | ||
| 保留标志 | 0 | 如果will_topic字段没有设置,该字段也需要设置为0 如果will_topic字段有设置,服务器必须将遗嘱消息当做非保留信息发布 |
|
| 1 | 如果will_topic字段有设置,服务器必须将遗嘱信息当做保留信息发布 | ||
| 遗嘱消息的主题 | 字符串 | 最大256个字节。需用""括住 (遗嘱主题不能相同,否则收不到遗嘱消息) |
|
| 遗嘱消息内容 | 字符串 | 最大1360个字节。需用""括住 | |
| 使用ss1加密数据传输时服务器域名是否上报(>=V401880版本支持) | 0 | 不上报(默认) | |
| 1 | 上报 |
建立TCP连接:AT+MIPSTART
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | 普通链接: AT+MIPSTART= SSL链接: AT+SSLMIPSTART= |
OK | 正常返回 |
| ERROR | 输入格式有误 | ||
| 输入这条设置命令以后,后续会有URC上报。 1) 单链接(AT+CIPMUX=0)如果链接成功地建立,则上报: CONNECT OK 如果链接已经存在,则上报: ALREADY CONNECT 如果链接失败,则上报: STATE: CONNECT FAIL 2) 多链接(AT+CIPMUX=1)如果链接成功地建立,则上报: 7,CONNECT OK 如果链接已经存在,则上报: ALREADY CONNECT 如果链接失败,则上报: 7,CONNECT FAIL |
|||
| 测试命令 | AT+MIPSTART=? | +MIPSTART:"(0,255).(0,255).(0,255).(0,255)",(1-655 35) +MIPSTART:"DOMAIN NAME",(1-65535) OK |
|
| AT+SSLMIPSTART=? | +SSLMIPSTART:"(0,255).(0,255).(0,255).(0,255)",(1- 65535) +SSLMIPSTART:"DOMAIN NAME",(1-65535) OK |
||
| 注意事项 | 当使用SSL链接进行数据传输时,链接命令为: AT+SSLMIPSTART= 其余跟普通链接一样。这点请知悉! |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 服务器IP地址或DNS地址 | domain name或 XXX.XXX.XXX.XXX |
XXX 取值范围:0~255 可以用""括住,也可以不用"" |
|
| 服务器端口 | 1-65535 | 可以用""括住,也可以不用"" |
客户端向服务器请求会话连接:AT+MCONNECT
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+MCONNECT= |
OK | 设置成功 |
| 测试命令 | AT+MCONNECT=? | +MCONNECT:(0-1),(1-65535) OK |
测试命令的返回的是 |
| URC | 设置命令设置成功,返回OK后,后续会根据连接情况自动上报URC:如果连接成功则返回:CONNACK OK 如果连接失败则返回:ERROR |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 0 | 服务端必须基于当前会话(使用客户端标识符识别)的状态恢复与客户端的通信。如果没有与这个客户端标识符关联的会话,服务端必须创建一个新的会话。在连接断开之后,当连接断开后,客户端和服务端必须保存会话信息 [MQTT-3.1.2-4]。当清理会话标志为 0的会话连接断开之后,服务端必须将之后的 QoS 1 和 QoS2 级别的消息保存为会话状态的一部分,如果这些消息匹配断开连接时客户端的任何订阅 [MQTT-3.1.2-5]。服务端也可以保存满足相同条件的 QoS0 级别的消息。 |
||
| 1 | client和server都会抛弃以前的会话,建立一个新的会话。会话持续时间与网络连接持续时间一样长。与此会话相关的会话状态数据在后序的会话中不被采用。 | ||
| 保活时间 | 1-65535 | 时间单位:秒设备端在保活时间内至少需要发送一次报文,包括PING请求。如果服务器端在保活时间内未接收到任何报文,会断开连接,设备端需要发起重连。建议取值在300s以上。 |
发布消息:AT+MPUB
本命令从客户端到服务器,传送应用消息。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+MPUB= , |
OK | qos=0 |
| OK PUBACK |
qos=1 | ||
| OK PUBREC PUBCOMP |
qos=2 | ||
| ERROR | 失败 | ||
| 测试命令 | AT+MPUB=? | +MPUB: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 服务质量 | 0 | 至多一次 | |
| 1 | 至少一次 | ||
| 2 | 确保只有一次 | ||
| 保留标志 | 0 | 服务器不能存储这个消息也不能移除或替换任何现存的保留消息。 | |
| 1 | 服务器必须存储这个应用消息和它的服务等级质量 (QOS),以便它可以被分发给未来的主题名匹配的订阅者。 |
||
| 消息主题 | 字符串 | 最大256个字节。可以用""括住,也可以不用"" | |
| 消息内容 | 字符串 | 最大2384个字节。字符串类型,须用双引号括住。注:消息中内嵌的双引号请用\22表达;控制字符回车 \r(0x0D)请用\0D表达;控制字符换行\n(0x0A)请用\0A表达;控制字符反斜杠\(0x5C)请用\5C 表达如果是 MCU 发消息,可能需要用\22,\0D, \0A,\5C来表达,即\需要转义成\ |
发布定长消息:AT+MPUBEX
本命令从客户端到服务器,以定长方式传送应用消息。注:Air720U/Air724U系列(版本>=V1624)或者(版本>=V301831)支持最大10K数据收发,以及不定长发送。除上述版本外只支持最大2384字节收发,且不支持不定长发送。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+MPUBEX= len] |
首先返回一个> 1)如果指定了len,当长度大于等于len就退出数据模式发送数据返回OK。 2)如果没指定len,则以1A做为结束符,或者5s超时(两次数据间隔超过5s)发送数据返回OK |
qos=0 |
| 首先返回一个> 1)如果指定了len,当长度大于等于len就退出数据模式发送数据返回OK。 2)如果没指定len,则以1A做为结束符,或者5s超时(两次数据间隔超过5s)发送数据返回OK PUBACK |
qos=1 | ||
| 首先返回一个> 1)如果指定了len,当长度大于等于len就退出数据模式发送数据返回OK。 2)如果没指定len,则以1A做为结束符,或者5s超时(两次数据间隔超过5s)发送数据返回OK PUBREC PUBCOMP |
qos=2 | ||
| ERROR | 失败。一般由语法错误或条件不具备引起 | ||
| 测试命令 | AT+MPUBEX=? | +MPUBEX: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 服务质量 | 0 | 至多一次 | |
| 1 | 至少一次 | ||
| 2 | 确保只有一次 | ||
| 保留标志 | 0 | 服务器不会存储这个消息也不能移除或替换任何现存的保留消息。 | |
| 1 | 服务器必须存储这个应用消息和它的服务等级质量 (QOS),以便它可以被分发给未来的主题名匹配的订阅者。 |
||
| 消息主题 | 字符串 | 最大256个字节。可以用""括住,也可以不用"" | |
| 数据长度 | 1~1238 4 |
Air720U/Air724U系列(版本>=V1624)或者(版本>=V301831) |
订阅主题:AT+MSUB
本命令从客户端到服务器,用于一个或多个订阅主题。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+MSUB= |
OK SUBACK |
成功 |
| ERROR | 失败 | ||
| 测试命令 | AT+MSUB=? | +MSUB: OK |
|
| URC | 当设置命令成功以后,如果收到MQTT消息会有相应的URC上报:如果已经设置AT+MQTTMSGSET=0,收到MQTT消息会上报: +MSUB: 如果已经设置AT+MQTTMSGSET=1,收到MQTT消息会上报: +MSUB: |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 消息主题 | 字符串 | 最大256个字节。可以用""括住,也可以不用"" | |
| 服务质量 | 0 | 至多一次 | |
| 1 | 至少一次 | ||
| 2 | 确保只有一次 | ||
| 接收数据长度 | 单位:字节 | ||
| 数据内容 | 字符串 | 最大1360个字节 | |
| 0-3 | 接收消息时缓存的位置 |
取消订阅主题:AT+MUNSUB
本命令从客户端到服务器,用于取消订阅主题。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+MUNSUB= |
OK UNSUBACK |
成功 |
| ERROR | 失败 | ||
| 测试命令 | AT+MUNSUB=? | +MUNSUB: OK |
成功 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 消息主题 | 字符串 | 最大256个字节。可以用""括住,也可以不用"" |
打印收到的所有的订阅消息:AT+MQTTMSGGET
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 执行命令 | AT+MQTTMSGGET | [+MSUB: [+MSUB: [+MSUB: [+MSUB: OK |
执行命令将会打印收到的保存在cache中的主题订阅消息。执行完以后, invalid。 |
| 查询命令 | AT+MQTTMSGGET? | +MQTTMSGGET:0, +MQTTMSGGET:1, +MQTTMSGGET:2, +MQTTMSGGET:3, OK |
|
| 测试命令 | AT+MQTTMSGGET=? | OK | |
| 注意事项 | 当 AT+MQTTMSGSET=1,执行命令可以打印订阅消息。一次最多打印4条。如果一次上报多于4条,则打印最新的4条,最老的那条将被覆盖。 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 消息主题 | 字符串 | 最大256个字节。 | |
| 接收消息长度 | 单位:字节 | ||
| 消息内容 | 字符串 | 最大1360个字节。 | |
| 消息状态 | VALID | 有效数据,AT+MQTTMSGGET执行模块可以打印这些消息 | |
| INVALID | 无效数据 |
设置订阅消息的打印模式:AT+MQTTMSGSET
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+MQTTMSGSET= |
OK | 成功 |
| ERROR | 失败 | ||
| 查询命令 | AT+MQTTMSGSET? | +MQTTMSGSET: OK |
|
| 测试命令 | AT+MQTTMSGSET=? | +MQTTMSGSET:(0,1) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 消息上报模式 | 0 | 主动上报到串口。有新订阅消息时,上报的URC为: +MSUB: |
|
| 1 | 缓存模式。有新订阅消息时,上报的URC为: +MSUB: 然后用AT+MQTTMSGGET来读消息 |
MQTT消息编码格式切换:AT+MQTTMODE
本命令设置MQTT发布消息的编码格式,是ASCII还是HEX。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+MQTTMODE= |
OK | 成功 |
| ERROR | 失败 | ||
| 查询命令 | AT+MQTTMODE? | +MQTTMODE: OK |
|
| 测试命令 | AT+MQTTMODE=? | +MQTTMODE: (0,1) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| MQTT发布消息的编码格式 | 0 | ASCII格式 | |
| 1 | HEX格式 |
举例:
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| → | AT+MQTTMODE=1 | 设置发布MQTT消息的格式为:HEX |
| ← | OK | |
| → | AT+MPUB="test",0,0,"313233" | 比如发布消息内容为123,则发布的格式为十六进制格式的可见模式,实际消息接收者收到的消息内容是123 |
| ← | OK | |
| → | AT+MQTTMODE=0 | 设置发布MQTT消息的格式为:ASCII |
| ← | OK | |
| → | AT+MPUB="test",0,0,"123" | 发布消息的内容 123 |
| ← | OK |
关闭TCP连接:AT+MIPCLOSE
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+MIPCLOSE | OK | 成功 |
| ERROR | 失败 | ||
| 测试命令 | AT+MIPCLOSE=? | OK | 返回OK,表示支持此命令 |
关闭MQTT连接:AT+MDISCONNECT
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+MDISCONNECT | OK | 成功 |
| ERROR | 失败 | ||
| 测试命令 | AT+MDISCONNECT=? | OK | 返回OK,表示支持此命令 |
查询MQTT连接状态:AT+MQTTSTATU
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 执行命令 | AT+MQTTSTATU | +MQTTSTATU : OK |
成功 |
| ERROR | 失败 | ||
| 测试命令 | AT+MQTTSTATU=? | OK | 返回OK,表示支持此命令 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| MQTT连接状态 | 0 | 离线 | |
| 1 | 已经登陆认证过,可以PUB数据了 | ||
| 2 | 还没认证,需要发送MCONNECT命令 |
使用方法举例
由于这部分的命令具有高度相关性,所以将各个命令的应用例程集中在一起描述。
如果模块出现TCP断链的主动上报,该如何处理:如果模块出现上下文去激活的主动上报,该如何处理:
模块支持蓝牙4.2版本双模(经典蓝牙/低功耗蓝牙)。注:蓝牙仅适用于合宙4GCAT1模块(Air720U/Air724U系列)(版本>=V301826),不适用于合宙4GCAT4模块(Air720/Air720G/Air720H/Air720D/Air720S)。
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| 普通流程以及SSL不带证书验证流程: | ||
| → | AT+CGREG? | 查询当前GPRS注册状态 |
| ← | +CGREG:0,1 OK |
|
| → | AT+CGATT? | 查看当前GPRS附着状态 |
| ← | +CGATT:1 | |
| OK | ||
| → | AT+MCONFIG= |
注意: XXXX 是用户名 $$$$ 是密码请开发者写真实的 AT+MCONFIG= |
| ← | OK | |
| → | AT+MIPSTART="ip或域名","port" | 这里,请填上用户自己的mqtt服务器的IP地址或域名地址,以及端口号注: 1)模块开机注册后缺省就有一个激活的PDP承载,查询AT+CGDCONT?可以看到一个IP。此时可以直接用MQTT的AT命令。 2)当使用SSL链接进行数据传输时(无需证书验证),链接命令格式为: AT+SSLMIPSTART= 其余跟普通链接一样。这点请知悉! |
| ← | OK | |
| ←(URC) | CONNECT OK | |
| → | AT+MCONNECT=1,60 | 建立mqtt会话 |
| ← | OK CONNACK OK |
注:在MIPSTART返回CONNECT OK后才能发 MCONNECT命令,而且要立即发,否则会被服务器踢掉。收到CONNACK OK后才能发布消息 |
| → | AT+MSUB="mqtt/topic",0 | 订阅 |
| ← | OK SUBACK |
|
| → | AT+MPUB="mqtt/topic",0,0,"SSSSddddd" | 发布,消息格式缺省为ASCII格式 |
| ← | OK | |
| → | AT+MQTTMODE=1 | 设置消息格式为HEX格式 |
| ← | OK | |
| → | AT+MPUB="mqtt/topic",0,0,"313233" | 发送消息"123"到主题"mqtt/topic" |
| ← | OK | |
| ←(URC) | +MSUB: 0 | 上报方式是cache方式,需要用+MQTTMSGGET来读 |
| → | AT+MQTTMSGGET? | |
| ← | +MQTTMSGGET: 0,VALID +MQTTMSGGET: 1,INVALID +MQTTMSGGET: 2,INVALID +MQTTMSGGET: 3,INVALID OK |
|
| → | AT+MQTTMSGGET | |
| ← | +MSUB: mqtt/topic,9 byte,SSSSddddd | |
| OK | ||
| → | AT+MQTTMSGSET=0 | 设置为直接上报消息 |
| ← | OK | |
| → | AT+MPUB="mqtt/topic",0,0,"SSSSddddd" | |
| ← | OK | |
| ←(URC) | +MSUB: "mqtt/topic",9 byte,SSSSddddd | |
| → | AT+MDISCONNECT | 模块先关闭MQTT连接 |
| ← | OK | |
| → | AT+MIPCLOSE | 关闭TCP链接 |
| ← | OK | |
| SSL带证书验证流程(单向认证): | ||
| → | AT+CGATT? | 查看当前GPRS附着状态 |
| ← | +CGATT:1 OK |
|
| → | AT+FSCREATE="ca.crt" | 创建CA 证书文件 |
| ← | OK | |
| → | AT+FSWRITE="ca.crt",0,1282,15 | 1282是证书文件长度,15为超时时间,这里是举例说明,请填入实际数据,不要照抄 |
| ← | OK | |
| → | AT+SSLCFG="cacert",88,"ca.crt" | 设置CA证书文件名称,ca.crt为CA证书文件名称 |
| ← | OK | |
| → | AT+SSLCFG="seclevel",88,1 | 设置认证模式为只对服务器认证 |
| ← | OK | |
| → | AT+MCONFIG= |
注意: XXXX 是用户名 $$$$ 是密码请开发者写真实的 AT+MCONFIG= |
| ← | OK | |
| → | AT+SSLMIPSTART= |
|
| ← | OK | |
| → | AT+MCONNECT=1,60 | 建立mqtt会话 |
| ← | OK CONNACK OK |
注:在MIPSTART返回CONNECT OK后才能发 MCONNECT命令,而且要立即发,否则会被服务器踢掉。收到CONNACK OK后才能发布消息 |
| 后面的流程跟上面普通流程相同 | ||
| SSL带证书验证流程(双向认证): | ||
| → | AT+FSCREATE="ca.crt" | 创建CA 证书文件 |
| ← | OK | |
| → | AT+FSWRITE="ca.crt",0,1282,15 | 1282是证书文件长度,15为超时时间,这里是举例说明,请填入实际数据,不要照抄 |
| >这里输入CA证书文件内容,1282个字节 | ||
| ← | OK |
| → | AT+FSCREATE="client.crt" | 创建客户端证书文件 |
|---|---|---|
| ← | OK | |
| → | AT+FSWRITE="client.crt",0,1026,15 | |
| >这里输入客户端证书文件,1026个字节 | ||
| ← | OK | |
| → | AT+FSCREATE="client.key" | 创建客户端key文件 |
| ← | OK | |
| → | AT+FSWRITE="client.key",0,1706,15 | |
| >这里输入客户端key文件内容,1706个字节 | ||
| ← | OK | |
| → | AT+SSLCFG="cacert",88,"ca.crt" | 设置CA证书文件为ca.crt |
| ← | OK | |
| → | AT+SSLCFG="clientcert",88,"client.crt" | 设置客户端证书文件为client.crt |
| ← | OK | |
| → | AT+SSLCFG="clientkey",88,"client.key" | 设置客户端密钥文件为client.key |
| ← | OK | |
| → | AT+SSLCFG="seclevel",88,2 | 设置认证模式为双向认证 |
| ← | OK | |
| → | AT+MCONFIG= |
注意: XXXX 是用户名 $$$$ 是密码请开发者写真实的 AT+MCONFIG= |
| ← | OK | |
| → | AT+SSLMIPSTART= |
|
| ← | OK | |
| → | AT+MCONNECT=1,360 | 建立mqtt会话 |
| ← | OK CONNACK OK |
注:在MIPSTART返回CONNECT OK后才能发 MCONNECT命令,而且要立即发,否则会被服务器踢掉。收到CONNACK OK后才能发布消息 |
| 后面的流程跟上面普通流程相同 | ||
| ←(URC) | CLOSED | TCP发生断链 |
| → | AT+MQTTSTATU | 查询MQTT连接状态 |
| ← | +MQTTSTATU:0 OK |
0为离线 |
| 后面从MIPSTART开始重新连接 | ||
| ←(URC) | +PDP DEACT | PDP去激活,此时需要重新激活一个PDP上下文才能继续使用 MQTT的AT命令 |
| → | AT+CIPSHUT | 关闭移动场景 |
| ← | OK | |
| 此时有三种处理方式,见右侧 | 3) AT+CGDCONT=5,"IP"," APN AT+CGACT=1,5 再从MIPSTART开始 4) AT+CFUN=0,再AT+CFUN=1 5) AT+RESET重启模块 |
蓝牙相关命令
蓝牙开关:AT+BTCOMM=ENABLE
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BTCOMM=ENABLE, |
OK | 开关正常 |
| ERROR/ +CMEERROR: |
开关失败 | ||
| 查询命令 | AT+BTCOMM=ENABLE? | +BTCOMM:ENABLE=state,mode OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 开关状态 | 0 | 关闭 | |
| 1 | 打开 | ||
| 模式选择 | 0 | 从模式 | |
| 1 | 主模式 |
设置名称:AT+BLECOMM=NAME
注:适用于从模式注意:设置名称AT 指令会加上种类及长度会解析为广播包数据,若使用AT+BLEADV=ADVDATA指令数据中包含蓝牙名称则无需使用AT+BLECOMM=NAME。若熟悉蓝牙协议可使用AT+BLEADV=ADVDATA。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=NAME, |
OK | 设置成功 |
| ERROR/ +CMEERROR: |
设置失败 | ||
| 查询命令 | AT+BLECOMM=NAME? | +BLECOMM:NAME=name OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 蓝牙名称 | 字符串 | 设备名称,最长26个字节 |
设置广播数据:AT+BLEADV=ADVDATA
注:适用于从模式
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLEADV=ADVDATA, |
OK | 设置成功 |
| ERROR/ +CMEERROR: |
设置失败 | ||
| 查询命令 | AT+BLEADV=ADVDATA? | +BLEADV:DATA= OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 数据长度 | 数值 | 十六进制数据长度。例如 data 为 02010603ff3132,则取值为7,最长31个字节 |
|
| 数据内容 | 十六进制数据字符串 | 十六进制数据对应字符串,最长31个字节,例如:要输出,0x02,0x01,0x06,0x03,0xff,0x31, 0x32,则data为"02010603ff3132",数据格式需要遵循蓝牙广播协议,格式为length(1byte)| type(1byte)|data。在 5.1 规范中的第 3 卷 PARTC 的第 11 节就有"Advertising and Scan Response data format"(page2204)这么一节。具体协议如下: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
设置响应数据:AT+BLEADV=SCANRSPDATA
注:适用于从模式
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLEADV=SCANRSPDATA, |
OK | 设置成功 |
| ERROR/ +CMEERROR: |
设置失败 | ||
| 查询命令 | AT+BLEADV=SCANRSPDATA? | +BLEADV:DATA= OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 数据长度 | 数值 | 十六进制数据长度。例如data为"03ff3132",则取值为4,最长31个字节 | |
| 数据内容 | 十六进制数据字符串 | 十六进制数据对应字符串,最长31个字节,例如:要输出 0x03,0xff,0x31,0x32,则 data 为 "03ff3132",数据格式需要遵循蓝牙广播协议,格 |
|
| 式为length(1byte)|type(1byte)|data。在 5.1 规范中的第 3 卷 PARTC 的第 11 节就有 "Advertising and Scan Response data format"(page2204)这么一节。具体协议如下: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
设置广播参数:AT+BLEADV=ADVPARAM
注:适用于从模式此命令,用于设置广播参数,有6个或8个参数,当广播类型是定向广播时,参数为8个。具体设置要求见页:
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLEADV=ADVPARAM, |
OK | 设置成功 |
| ERROR/ +CMEERROR: |
设置失败 | ||
| 查询命令 | AT+BLEADV=ADVPARAM? | +BLEADV:ADVPARAM= OK |
|
| 参数 | 定义 | 取值 | 对取值的说明 |
| 最小广播间隔 | 数值 | 最小广播间隔 , 单位 0.625ms ,范围 20ms~10.24s (必选) |
|
| 最大广播间隔 | 数值 | 最大广播间隔 , 单位 0.625ms ,范围 20ms~10.24s (必选) |
|
| 广播类型 | 数值 | 广播类型 (必选): 0: Connectable undirected advertising (ADV_IND) 1: Connectable high duty cycle directed advertising 2: Scannable undirected advertising (ADV_SCAN_IND) 3: Non connectable undirected advertising (ADV_NONCONN_IND) 4: Connectable low duty cycle directed advertising |
|
| 广播本地地址类型 | 数值 | 广播本地地址类型(必选): 0:Public Device Address |
|
| 1:Random Device Address 2:Controller generates Resolvable Private Address based on the local IRK from the resolvinglist.Iftheresolvinglistcontainsno matching entry, use the public address 3 : Controller generates Resolvable Private Address based on the local IRK from the resolving list. If the resolving list contains no matching entry, use the random address from LE_Set_Random_Address |
|||
| 定向地址类型 | 数值 | 定向地址类型(可选): 0: Public Device Address 1: Random Device Address |
|
| 定向地址 | 字符串 | 定向地址(可选) | |
| 广播channel map | 数值 | 广播channelmap,3个bit,bit0对应37信道,bit1 对应38信道,bit2对应39信道,3个通道全选对应 7(必选) |
|
| 广播过滤策略 | 数值 | 广播过滤策略(必选): 0: Process scan and connection requests from all devices. 1: Process connection requests from all devices and only scan requests from devices that are in the White List. 2:Processscanrequestsfromalldevicesand only connection requests from devices that are in the White List. 3:Processscanandconnectionrequestsonly from devices in the White List |
添加服务:AT+BLEADV=ADDSERVICE
注:适用于从模式,调用该指令后默认服务将清除不再使用。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLEADV=ADDSERVICE, |
OK | 发送成功 |
| ERROR/ +CMEERROR: |
发送失败 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 服务16位UUID/128位UUID | 十六进制字符串 | 蓝牙协议规定的特征值唯一标识,例如16位使用的是 "fee0",128 位使用的是 "F2C3F0AEA9FA158C9D49AE73710A81E7"。 |
|
| 具体设置要求见 2034 页: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
添加特征:AT+BLEADV=ADDCHARACTERISTIC
注:适用于从模式,调用该指令前必须先调用添加服务指令,添加特征与添加服务有从属关系,添加特征指令要在对应的添加服务指令后设置。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLEADV=ADDCHARACTERISTIC, |
OK | 发送成功 |
| ERROR/ +CMEERROR: |
发送失败 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 特征16位UUID/128位UUID | 十六进制字符串 | 蓝牙协议规定的特征值唯一标识,例如16位使用的是 "fee1",128 位使用的是 "F2C3F0AEA9FA158C9D49AE73710A81E7"。具体设置要求见 2034 页: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
|
| type | 特征属性 | 数值 | BROADCAST1 READ2 WWP4 WRITE8 NOTIFY16 INDICATE32 ASW 64 EX_PROP128 如果需要两个及以上属性则累加 |
| permission | 特征权限 | 数值 | READABLE1 WRITEABLE 2 R_AUTHENT_REQUIRED4 R_AUTHORIZE_REQUIRED8 R_ENCRYPTION_REQUIRED16 R_AUTHENT_MITM_REQUERED32 W_AUTHENT_REQUIRED64 W_AUTHORIZE_REQUIRED128 W_ENCRYPTION_REQUIRED 256 W_AUTHENT_MITM_REQUERED 512 |
| BR_ACCESS_ONLY1024 如果需要两个及以上权限则累加 |
添加描述:AT+BLEADV=ADDDESCRIPTOR
注:适用于从模式,调用该指令前必须先调用添加特征指令,添加描述与添加特征有从属关系,添加描述指令要在对应的添加特征指令后设置。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLEADV=ADDDESCRIPTOR, |
OK | 发送成功 |
| ERROR/ +CMEERROR: |
发送失败 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 描述16位UUID | 十六进制字符串 | 蓝牙协议规定的特征值唯一标识,例如16位使用的是"2902"。具体设置要求见 2034 页: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
|
| value | 描述属性 | 字符串/ 数值 |
uuid_d为0x2901或0x2904时,value为字符串。 uuid_d其他值时, value为number类型。具体设置要求见 2359 页: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
清除所有自定义服务:AT+BLEADV=CLEANALLSERVICE
注:适用于从模式,调用该指令后默认服务将恢复使用。参数定义:无
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLEADV=CLEANALLSERVICE | OK | 发送成功 |
| ERROR/ +CMEERROR: |
发送失败 |
添加白名单:AT+BLECOMM=ADDWHITELIST
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=ADDWHITELIST, |
OK | 成功 |
| ERROR/ +CMEERROR: |
失败 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 对端设备蓝牙地址 | 字符串 | 设备地址(小端排序,共6个字节),例如: "40:45:DA:33:22:11" |
|
| 对端设备蓝牙地址类型 | 0 | public | |
| 1 | random |
移除白名单:AT+BLECOMM=REMOVEWHITELIST
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=REMOVEWHITELIST, |
OK | 成功 |
| ERROR/ +CMEERROR: |
失败 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 对端设备蓝牙地址 | 字符串 | 设备地址(小端排序,共6个字节),例如: "40:45:DA:33:22:11" |
|
| 对端设备蓝牙地址类型 | 0 | public | |
| 1 | random |
清空白名单:AT+BLECOMM=CLEANWHITELIST
参数定义:无
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=CLEANWHITELIST | OK | 成功 |
| ERROR/ +CMEERROR: |
失败 |
设置beacon数据:AT+BLEADV=BEACONDATA
注:适用于从模式
此命令与设置名称,设置广播数据,设置响应数据命令不兼容。
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLEADV=BEACONDATA, |
OK | 设置成功 |
| ERROR/ +CMEERROR: |
设置失败 | ||
| 查询命令 | AT+BLEADV=BEACONDATA? | +BLEADV:BEACONDATA= OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 128位UUID | 十六进制字符串 | 蓝牙协议规定的特征值唯一标识,例如128位使用的是"F2C3F0AEA9FA158C9D49AE73710A81 E7"。具体设置要求见 2034 页: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
|
| 编号 | 数值 | 0~65535 | |
| 编号 | 数值 | 0~65535 |
广播开关:AT+BLEADV=ENABLE
注:适用于从模式
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLEADV=ENABLE, |
OK | 开关成功 |
| ERROR/ +CMEERROR: |
开关失败 | ||
| 查询命令 | AT+BLEADV=ENABLE? | +BLEADV:ENABLE= OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 蓝牙广播开关 | 0 | 关闭广播 | |
| 1 | 打开广播 |
(URC)断开状态上报:+BLEIND=DISCONNECT
语法规则:
| 命令类型 | 语法 | 说明 |
|---|---|---|
| URC上报 | +BLEIND=DISCONNECT[,] | 模块作为从设备或者主设备时,对端设备断开成功 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 对端设备蓝牙地址 | 字符串 | 设备地址(小端排序,共6个字节),例如: "40:45:DA:33:22:11" |
设置扫描参数:AT+BLESCAN=SCANPARAM
注:适用于主模式此命令,用于设置扫描参数,有5个参数。(具体设置要求见1331页:https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=457080)
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLESCAN=SCANPARAM, , |
OK | 设置成功 |
| ERROR/ +CMEERROR: |
设置失败 | ||
| 查询命令 | AT+BLESCAN=SCANPARAM? | +BLESCAN:SCANPARAM= OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 扫描类型 | 数值 | 0 passive 1 active |
|
| 扫描间隔 | 数值 | 单位0.625ms,范围2.5ms~10.24s | |
| 扫描窗口 | 数值 | 单位0.625ms,范围2.5ms~10.24s | |
| 扫描过滤策略 | 数值 | 0: Acceptalladvertisingandscanresponse PDUsexceptdirectedadvertisingPDUsnot addressedtothisdevice(default) 1: Acceptonlyadvertisingandscanresponse PDUsfromdeviceswheretheadvertiser’s |
|
| addressisintheWhiteList.Directedadvertising PDUswhicharenotaddressedtothisdevice shallbeignored |
|||
| own_addr_type | 本地地址类型 | 数值 | 0:Public Device Address 1:Random Device Address 2:Controller generates Resolvable Private Address based on the local IRK from the resolvinglist.Iftheresolvinglistcontainsno matching entry, use the public address 3:ControllergeneratesResolvablePrivate AddressbasedonthelocalIRKfromthe resolvinglist.Iftheresolvinglistcontainsno matchingentry,usetherandomaddressfrom LE_Set_Random_Address |
扫描开关:AT+BLESCAN=ENABLE
注:适用于主模式
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLESCAN=ENABLE, |
OK | 开关成功 |
| ERROR/ +CMEERROR: |
开关失败 | ||
| 查询命令 | AT+BLESCAN=ENABLE? | +BLESCAN:ENABLE= OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 蓝牙扫描开关 | 0 | 关闭扫描 | |
| 1 | 打开扫描 |
连接从设备:AT+BLECOMM=CONNECT
注:适用于主模式
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=CONNECT, address> |
OK | 连接成功 |
| ERROR/ +CMEERROR: |
连接失败 | ||
| 查询命令 | AT+BLECOMM=CONNECT? | +BLECOMM:CONNECT= OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 连接状态 | 0 | 断开状态 | |
| 1 | 连接状态 | ||
| 对端设备蓝牙地址 | 字符串 | 设备地址(小端排序,共6个字节),例如: "40:45:DA:33:22:11" |
|
| 对端设备蓝牙地址类型 | 0 | public | |
| 1 | random |
断开从设备:AT+BLECOMM=DISCONNECT
参数定义:无
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=DISCONNECT | OK | 断开连接成功 |
| ERROR/ +CMEERROR: |
断开连接失败 |
发现服务uuid:AT+BLECOMM=FINDSERVICE
注:适用于主模式
参数定义:无
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=FINDSERVICE | OK | 发送成功 |
| ERROR/ +CMEERROR: |
发送失败 |
发现服务内的特征:AT+BLECOMM=FINDCHARACTERISTIC
注:适用于主模式
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=FINDCHARACTERISTIC, |
OK | 发送成功 |
| ERROR/ +CMEERROR: |
发送失败 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 服务16位UUID/128位UUID | 十六进制字符串 | 蓝牙协议规定的特征值唯一标识,例如16位使用的是 "fee1",128 位使用的是 "F2C3F0AEA9FA158C9D49AE73710A81E7"。具体设置要求见 2034 页: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
根据句柄查询服务内的特征:AT+BLECOMM=FINDCHARACTERISTICHAN
注:适用于主模式 >=V401880版本支持
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=FINDCHARACTERISTIC, |
OK | 发送成功 |
| ERROR/ +CMEERROR: |
发送失败 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 服务16位UUID/128位UUID | 十六进制字符串 | 蓝牙协议规定的特征值唯一标识,例如16位使用的是 "fee1",128 位使用的是 "F2C3F0AEA9FA158C9D49AE73710A81E7" 。具体设置要求见 2034 页: https://www.bluetooth.org/docman/handler s/downloaddoc.ashx?doc_id=457080 |
|
| start | 开始 | 0-65535 | |
| end | 结束 | 0-65535 |
(URC)特征uuid上报:+BLEIND=FINDCHARACTERISTIC
注:适用于主模式注:适用于主模式
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=FINDCHARACTERISTIC, |
OK | 发送成功 |
| ERROR/ +CMEERROR: |
发送失败 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 服务16位UUID/128位UUID | 十六进制字符串 | 蓝牙协议规定的特征值唯一标识,例如16位使用的是 "fee1",128 位使用的是 "F2C3F0AEA9FA158C9D49AE73710A81E7"。具体设置要求见 2034 页: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
(URC)特征uuid上报:+BLEIND=FINDCHARACTERISTIC
语法规则:
| 命令类型 | 语法 | 返回和说明 |
|---|---|---|
| URC上报 | +BLEIND=FINDCHARACTERISTIC, |
对端设备发出来的特征uuid数据 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 特征16位UUID/128位UUID | 十六进制字符串 | 蓝牙协议规定的特征值唯一标识,例如16位使用的是 "fee1",128 位使用的是 "F2C3F0AEA9FA158C9D49AE73710A81E7"。具体设置要求见 2034 页: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
通知开关:AT+BLECOMM=NOTIFICATION
注:适用于主模式
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=NOTIFICATION, |
OK | 发送成功 |
| ERROR/ +CMEERROR: |
发送失败 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 特征16位UUID/128位UUID | 十六进制字符串 | 蓝牙协议规定的特征值唯一标识,例如16位使用的是 "fee1",128 位使用的是 "F2C3F0AEA9FA158C9D49AE73710A81E7"。具体设置要求见 2034 页: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
|
| 开关状态 | 0 | 关闭 | |
| 1 | 打开 |
发送数据:AT+BLECOMM=SENDDATA
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BLECOMM=SENDDATA, |
OK | 发送成功 |
| ERROR/ +CMEERROR: |
发送失败 |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 特征16位UUID/128位UUID | 十六进 | 蓝牙协议规定的特征值唯一标识,例如16位使用的 | |
| 制字符串 | 是 "fee1",128 位使用的是 "F2C3F0AEA9FA158C9D49AE73710A81E7"。具体设置要求见 2034 页: https://www.bluetooth.org/docman/handlers/ downloaddoc.ashx?doc_id=457080 |
||
| 数据长度 | 数值 | 十六进制数据长度,最长244个字节。例如data 为"3132",则取值为2 |
|
| 数据内容 | 十六进制数据字符串 | 十六进制数据对应字符串,最长244个字节。例如:要输出0x31,0x32,则data为"3132" |
蓝牙MAC地址:AT+BTMAC
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+BTMAC= | OK | 设置成功 |
| ERROR/ +CMEERROR: |
设置失败 | ||
| 查询命令 | AT+BTMAC? | +BTMAC: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 本机MAC地址 | 字符串 | 设备地址(小端排序,共6个字节),例如: "40:45:DA:33:22:11" |
使用方法举例
由于这部分的命令具有高度相关性,所以将各个命令的应用例程集中在一起描述。
注:本命令仅适用于合宙4GCAT1模块(Air820U系列和CAT1外挂Air530,Air530Z)。
| 命令(→) /返回(←) |
实例 | 解释和说明 |
|---|---|---|
| BLE从模式命令使用方法: | ||
| → | AT+BTCOMM=ENABLE? | 查询蓝牙是否已经打开 |
| ← | +BTCOMM:ENABLE=0,0 OK |
0是未打开 |
| → | AT+BTCOMM=ENABLE,1,0 | 打开蓝牙从模式 |
| ← | OK | |
| → | AT+BLECOMM=NAME,"Luat_Air724UG" | 设置蓝牙名称 |
| ← | OK | |
| → | AT+BLEADV=ADVDATA,6,"02010602ff01" | 设置广播包数据 |
| ← | OK | |
| → | AT+BLEADV=SCANRSPDATA,3,"020A04" | 设置响应包数据 |
| ← | OK | |
| → | AT+BLEADV=ENABLE,1 | 打开广播等待连接成功 |
| ← | OK | |
| → | AT+BLEADV=ENABLE? | 查询广播状态 |
| ← | +BLEADV:ENABLE=1 OK |
1是已打开 |
| ← | +BLEIND=CONNECT,"40:45:DA:33:22:11" | 连接状态上报 |
| ← | +BLEIND=DATA,"fee1",10,"31323334353637383930" | 接收到数据 |
| → | AT+BLECOMM=SENDDATA,"fee2",10,"31323334353637383930" | 发送数据 |
| ← | OK | |
| BLE主模式模式命令使用方法: | ||
| → | AT+BTCOMM=ENABLE? | 查询蓝牙是否已经打开 |
| ← | +BTCOMM:ENABLE=0,0 OK |
0是未打开 |
| → | AT+BTCOMM=ENABLE,1,1 | 打开蓝牙主模式 |
| ← | OK | |
| → | AT+BLESCAN=ENABLE,1 | 开启扫描 |
| ← | OK | |
| ← | +BLEIND=SCAN,"40:45:DA:33:22:11",0,-75,"0201060E094 | 扫描结果上报 |
| C7561745F4169723732345547" | ||
| → | AT+BLESCAN=ENABLE,0 | 关闭扫描 |
| ← | OK | |
| → | AT+BLECOMM=CONNECT,0,"40:45:DA:33:22:11" | 连接蓝牙 |
| ← | OK | |
| ← | +BLEIND=CONNECT | 连接状态上报 |
| → | AT+BLECOMM=FINDSERVICE | 发现服务 |
| ← | OK | |
| ← | +BLEIND=FINDSERVICE,"fee0" | 服务uuid上报 |
| → | AT+BLECOMM=FINDCHARACTERISTIC,"fee0" | 发现服务内的特征 |
| ← | OK | |
| ← | +BLEIND=FINDCHARACTERISTIC,"fee1" +BLEIND=FINDCHARACTERISTIC,"fee2" |
特征uuid上报 |
| → | AT+BLECOMM=NOTIFICATION,"fee2",1 | 打开通知 |
| ← | OK | |
| → | AT+BLECOMM=SENDDATA,"fee1",10,"31323334353637383930" | 发送数据 |
| ← | OK | |
| ← | +BLEIND=DATA,"fee2",10,"31323334353637383930" | 接收到数据 |
| BLE白名单使用方法: | ||
| → | AT+BTCOMM=ENABLE? | 查询蓝牙是否已经打开 |
| ← | +BTCOMM:ENABLE=0,0 OK |
0是未打开 |
| → | AT+BTCOMM=ENABLE,1,0 | 打开蓝牙从模式 |
| ← | OK | |
| → | AT+BLECOMM=NAME,"Luat_Air724UG" | 设置蓝牙名称 |
| ← | OK | |
| → | AT+BLEADV=ADVDATA,6,"02010602ff01" | 设置广播包数据 |
| ← | OK | |
| → | AT+BLEADV=SCANRSPDATA,3,"020A04" | 设置响应包数据 |
| ← | OK | |
| → | AT+BLECOMM=ADDWHITELIST,0,"40:45:DA:33:22:11" | 添加白名单 |
| ← | OK | |
| → | AT+BLEADV=ADVPARAM,128,160,0,0,7,2 | 设置广播参数(只允许白名单设备连接) |
| ← | OK | |
| → | AT+BLEADV=ENABLE,1 | 打开广播等待连接成功 |
| ← | OK | |
| → | AT+BLEADV=ENABLE? | 查询广播状态 |
| ← | +BLEADV:ENABLE=1 OK |
1是已打开 |
| ← | +BLEIND=CONNECT,"40:45:DA:33:22:11" | 连接状态上报 |
| BLE beacon使用方法: | ||
| → | AT+BTCOMM=ENABLE? | 查询蓝牙是否已经打开 |
| ← | +BTCOMM:ENABLE=0,0 | 0是未打开 |
| OK | ||
| → | AT+BTCOMM=ENABLE,1,0 | 打开蓝牙从模式 |
| ← | OK | |
| → | AT+BLEADV=BEACONDATA,"F2C3F0AEA9FA158C9D49AE73710A81E7 ",10107,50179 |
设置beacon数据 |
| ← | OK | |
| → | AT+BLEADV=ENABLE,1 | 打开广播 |
| ← | OK | |
| BLE 自定义服务使用方法: | ||
| → | AT+BTCOMM=ENABLE? | 查询蓝牙是否已经打开 |
| ← | +BTCOMM:ENABLE=0,0 OK |
0是未打开 |
| → | AT+BTCOMM=ENABLE,1,0 | 打开蓝牙从模式 |
| ← | OK | |
| → | AT+BLEADV=ADDSERVICE,"fee0" | 添加服务0xfee0 |
| ← | OK | |
| → | AT+BLEADV=ADDCHARACTERISTIC,"fee1",12,2 | 添加特征0xfee1 |
| ← | OK | |
| → | AT+BLEADV=ADDCHARACTERISTIC,"fee2",16,1 | 添加特征0xfee2 |
| ← | OK | |
| → | AT+BLEADV=ADDDESCRIPTOR,"2902",1 | 添加描述0x2902 |
| ← | OK | |
| → | AT+BLEADV=ENABLE,1 | 打开广播 |
| ← | OK |
GPS相关命令
GPS开关:AT+CGNSPWR
语法规则:
| 命令类型 | 语法 | 返回 | 说明 |
|---|---|---|---|
| 设置命令 | AT+CGNSPWR= |
OK | 开关正常 |
| ERROR | 开关失败 | ||
| 查询命令 | AT+CGNSPWR? | +CGNSPWR: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 开关状态 | 0 | 关闭 | |
| 1 | 打开 | ||
| 2 | 自适应打开GPS芯片(仅适用于Air820,只需开关状态一个参数) | ||
| 要打开的串口号 | 0 | 串口1 | |
| 1 | 串口2 | ||
| 2 | 串口3(默认使用串口3) | ||
| 使用的波特率 | 常用波特率 | 波特率1200~921600,默认9600 | |
| GPS型号 | 0 | 中科微AT6558 | |
| 1 | 国科9501 | ||
| 2 | 和芯星通UC6226 |
读取GNSS信息:AT+CGNSINF
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CGNSINF | +CGNSINF: OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| GNSS运行状态 | 0 | GNSS OFF | |
| 1 | GNSS ON | ||
| 0 | not fixed position | ||
| 1 | fixed position | ||
| yyyyMMddhhmmss | yyyy: [1980,——] MM : [1,12] dd:[1,31] hh: [0,23] mm: [0,59] ss:[0,60] |
||
| 纬度 | ±dd.dddddd | [-90.000000,90.000000] | |
| 经度 | ±ddd.dddddd | [-180.000000,180.000000] | |
| 单位:meters | |||
| 0~999.99 | 单位:海里/小时 | ||
| 0~360.00 | 单位:degress | ||
| 0,1,2 | 具体取值取决于GPS芯片 | ||
| 0~99.9 | |||
| 0~99.9 | |||
| 0~99.9 | |||
| 0~99 | |||
| 0~99 | |||
| 0~99 | |||
| 0~55 | 单位:dBHz | ||
| 0~9999.9 | 单位:meters | ||
| 0~9999.9 | 单位:meters |
打开GNSS URC上报:AT+CGNSURC
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGNSURC= OK |
OK |
| +CME ERROR: |
||
| 查询命令 | AT+CGNSURC? | +CGNSURC: OK |
| 测试命令 | AT+CGNSURC=? | +CGNSURC: (0-255) |
| OK | ||
| URC | 与AT+CGNSINF的返回格式相同: +CGNSINF: |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 0 | 关闭导航数据URC上报 | ||
| 1~255 | 开启导航数据URC周期上报并设置周期时间 |
将读取到的GNSS数据发送到AT口:AT+CGNSTST
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGNSTST= OK |
OK |
| +CME ERROR: |
||
| 测试命令 | AT+CGNSTST? | +CGNSTST: OK |
| 测试命令 | AT+CGNSTST=? | +CGNSTST:(0-1) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 开关 | 0 | switch off | |
| 1 | switch on |
给GNSS发送控制命令:AT+CGNSCMD
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGNSCMD= OK |
OK |
| +CME ERROR: |
||
| 测试命令 | AT+CGNSCMD=? | +CGNSCMD:(0-1),"cmdString" OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 命令类型 | 0 | NMEA style command。目前仅支持这种。 | |
| 1 | HEX style command。 | ||
| 命令字符串 | 字符串类型 | ||
| 应答特征 | 填入应答的特征字符,用于捕获命令的结果 |
读取GNSS 版本:AT+CGNSVER
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 执行命令 | AT+CGNSVER | OK |
设置辅助定位:AT+CGNSAID
秒定位,由时间辅助定位
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGNSAID= |
OK |
| +CME ERROR: |
||
| 测试命令 | AT+CGNSAID=? | +CGNSAID: (0-31)(0-1)(0-1)(0-1) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 参数保留 | 0-31 | 本参数暂不起作用 | |
| 是否同步GNSS UTC 时间 | 0 | 不使能 | |
| 1 | 使能(建议开启) | ||
| 是否同步 epo ( Extended Pridiction Orbit)文件 |
0 | 不使能 | |
| 1 | 使能(建议开启) | ||
| 是否使能位置辅助定位 | 0 | 不使能 | |
| 1 | 使能(建议开启) |
删除EPO文件:AT+CGNSDEL
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGNSDEL= |
+CGNSDEL: OK |
| +CME ERROR: |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 模式 | 1 | 1和2保留 3 删除EPO文件 |
|
| 2 | |||
| 3 |
增加VIB电压输出:AT+LDO
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+LDO= |
+LDO: OK |
| +CME ERROR: |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| ldo通道 | 0 | ldo通道 | |
| 电压等级 | 0 | 表示关闭 | |
| 1-7 | 表示电压等级 |
定义NMEA解析 :AT+CGNSSEQ
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGNSSEQ="str" | OK |
| +CME ERROR: |
||
| 查询命令 | AT+CGNSSEQ? | +CGNSSEQ: %s OK |
| 测试命令 | AT+CGNSSEQ=? | +CGNSSEQ: (GGA,GSA,RMC,GSV) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| str | 字符串 | 字符串类型 |
传入AGPS定位,所需的大概经纬度信息 :AT+CRFLOC
内部已经实现根据基站信息自动获取,该命令无效.
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CRFLOC= |
+CRFLOC: OK |
| +CME ERROR: |
||
| 测试命令 | AT+CRFLOC=? | +CRFLOC:\"location\" OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 纬度 | -180 — +180 | 本初子午线以东的180度属于东经,用"E(+)"作代号;本初子午线以西的180度属于西经,用"W(-)"作代号。 | |
| 经度 | -90 — +90 | 赤道以北的90度属于北纬,用"N(+)"作代号;赤道以南的90度属于南纬,用"S(-)"作代号。 |
检查EPO文件属性 :AT+CGNSCHK
语法规则:
| 命令类型 | 语法 | 返回 |
|---|---|---|
| 设置命令 | AT+CGNSCHK= |
+CGNSCHK: OK |
| +CME ERROR: |
||
| 测试命令 | AT+CGNSCHK=? | +CGNSDEL: (1-3) OK |
参数定义:
| 参数 | 定义 | 取值 | 对取值的说明 |
|---|---|---|---|
| 模式 | 0-2 | 保留 | |
| 3 | EPO file | ||
| 可选,默认0 | 0 | 不显示过期日期 | |
| 1 | 将显示EPO文件可用小时数 |
使用方法举例
由于这部分的命令具有高度相关性,所以将各个命令的应用例程集中在一起描述。
| 命令(→) | 实例 | 解释和说明 |
|---|---|---|