FC41D&FCM100D&FCM740D&FLMx40D系列模块的 AT命令手册

介绍

本文档主要介绍移远通信FC41D、FCM100D、FCM740D和FLMx40D模块Wi-Fi、BLE、TCP/UDP、SSL、MQTT、HTTP(S)和GPIO相关的AT命令。

适用模块

适用模块:

模块系列 模块
FC41D
FCM100D
FCM740D
FLMx40D FLM040D
FLM140D
FLM240D
FLM340D

定义

  • <CR> 回车符。

  • <LF> 换行符。

  • <...> 参数名称。实际命令行中不包含尖括号。

  • [...] 可选参数或TA信息响应的可选部分。实际命令行中不包含方括号。若无特别说明,配置命令中的可选参数被省略时,将默认使用其之前已设置的值或其默认值。

  • [下划线] 参数的默认设置。

AT命令语句

前缀 ATat 必须加在每个命令行的开头。输入 <CR> 将终止命令行。通常,命令后面跟随形式为 <CR><LF><response><CR><LF> 的响应。在本文档中表现命令和响应的表格中,省略了 <CR><LF> ,仅显示命令和响应。

模块实现的AT命令可以在语法上分为两类:基础类扩展类,如下所列。

  • 基础类

    基础类AT命令的格式为AT<x><n>AT&<x><n>,其中 <x> 是命令,<n> 是该命令的参数。以 ATE<n> 为例,DCE会根据 <n> 的取值确定是否将接收到的字符回显给DTE。若 <n> 为可选参数,则其被省略时将使用其默认值。

  • 扩展类

    扩展类AT命令可以在多种模式下运行,如下表所示。

    AT命令类型:

    | AT命令类型 | 语句 | 描述 |
    |:-----|:-----|:-----|
    |测试命令 | AT+<cmd>=? | 测试是否存在相应的命令,并返回有关其参数的类型、值或范围的信息。|
    |查询命令 | AT+<cmd>? | 查询相应命令的当前参数值。|
    |设置命令 | AT+<cmd>=<p1>[,<p2>[,<p3>[...]]] | 设置用户可定义的参数值。|
    |执行命令 | AT+<cmd> | 返回特定的参数信息或执行特定的操作。|

可以用分号(;)将多个命令放在同一行。此时只有第一个命令带有AT前缀。命令可以是大写或小写。

输入AT命令时,可以忽略空格。但以下情况除外:

  • 带引号的字符串内;

  • 不带引号的字符串或数字参数内;

  • IP地址内;

  • 在AT命令名称中的 =、? 或 =? 内。

输入AT命令时,至少需要一个回车符。换行符会被忽略,因此在输入时允许使用一个回车符/换行符对。

若只输入了AT标记,未携带命令,则会返回OK;若输入的是无效命令,则会返回ERROR

对于可选参数,除非明确说明,否则需要一直输入到最后一个可选参数为止。

AT命令响应

当AT命令处理器处理完一条命令后,会返回OKERROR+CME ERROR: <err>,表示已经准备好接收新命令。在返回最终的OKERROR+CME ERROR: <err> 之前,会发送请求的响应消息。

以下是响应消息的格式:

<CR><LF>+CMD1: <parameters><CR><LF>

<CR><LF>OK<CR><LF>

或者

<CR><LF><parameters><CR><LF>

<CR><LF>OK<CR><LF>

AT示例声明

本文中的示例仅为方便用户了解AT命令的使用方法,不构成移远通信对终端流程设计的建议或意见,也不代表模块应被设置成相应示例中的状态。某些AT命令存在多个示例,这些示例之间不存在承接关系或连续性。AT命令示例中存在的URL、域名、IP地址、用户名/账号以及密码等(若有),仅为示意以供说明之用;实际使用时须根据实际情况进行修改。

AT命令描述

Wi-Fi相关AT命令详解

AT+QRST

该命令用于重启模块。

命令类型 语法 响应
执行命令 AT+QRST OK
or
ERROR

最大响应时间:300毫秒
特性说明:-

AT+QVERSION

该命令用于获取固件版本。

命令类型 语法 响应
执行命令 AT+QVERSION +QVERSION: <version>
OK
or
ERROR

最大响应时间:300毫秒
特性说明:-

参数

参数 描述
<version> 字符串类型(无双引号)。模块固件版本号。

AT+QECHO

该命令用于启用或禁用回显。

命令类型 语法 响应
设置命令 AT+QECHO=<enable> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<enable> 整型。启用或禁用回显。
0 禁用
1 启用

AT+QURCCFG

该命令用于启用或禁用URC上报。

命令类型 语法 响应
设置命令 AT+QURCCFG=<enable> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<enable> 整型。启用或禁用URC上报。
0 禁用
1 启用

AT+QPING

该命令用于ping外部IP。

命令类型 语法 响应
设置命令 AT+QPING=<IP> OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<IP> 字符串类型。外部IP地址。

AT+QGETIP

该命令用于获取模块IP相关信息。

命令类型 语法 响应
设置命令 AT+QGETIP=<mode> +QGETIP: ip:<IP>,gate:<gate>,mask:<mask>,dns:<DNS>
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<mode> 字符串类型(无双引号)。Wi-Fi工作模式。
station 模块工作模式为STA
ap 模块工作模式为AP
<IP> 字符串类型(无双引号)。模块的IP地址。
<gate> 字符串类型(无双引号)。模块的网关地址。
<mask> 字符串类型(无双引号)。模块的子网掩码。
<DNS> 字符串类型(无双引号)。模块的DNS地址。

AT+QSETBAND

该命令用于设置串口波特率。

命令类型 语法 响应
设置命令 AT+QSETBAND=<baud_rate>[,<save>] OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效。

参数

参数 描述
<baud_rate> 整型。串口波特率;范围:2400 ~ 2000000;单位:bps。
<save> 整型。省略该参数则保存波特率。
0 不保存波特率
1 保存波特率

AT+QWLANOTA

该命令用于对固件进行OTA升级。

命令类型 语法 响应
设置命令 AT+QWLANOTA=<URL>[,<port>] OK
or
ERROR

最大响应时间:120秒

特性说明:-

参数

参数 描述
<URL> 字符串类型(无双引号)。固件包存储在服务器上的地址。
<port> 整型。端口号,默认值80。

AT+QLOWPOWER

该命令用于配置模块进入低功耗模式。

命令类型 语法 响应
执行命令 AT+QLOWPOWER OK
or
ERROR

最大响应时间:300毫秒

特性说明:进入低功耗模式后,Wi-Fi/BLE断开连接,设备唤醒后将继续执行代码。

AT+QDEEPSLEEP

该命令用于配置模块进入深休眠模式。

命令类型 语法 响应
执行命令 AT+QDEEPSLEEP OK
or
ERROR

最大响应时间:300毫秒

特性说明:唤醒后模块重启。

AT+QWLMAC

该命令用于获取模块的MAC地址。

命令类型 语法 响应
执行命令 AT+QWLMAC +QWLMAC: <MAC>
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<MAC> 模块的MAC地址。格式为冒号分隔的十六进制。默认值:c8:47:8c:42:00:48。

AT+QAIRKISS

该命令用于启用或禁用AirKiss功能。

命令类型 语法 响应
设置命令 AT+QAIRKISS=<enable> OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<enable> 整型。启用/禁用AirKiss功能。
0 禁用
1 启用

AT+QSTAST

该命令用于查询STA模式开启状态。

命令类型 语法 响应
执行命令 AT+QSTAST +QSTAST: <state>
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<state> 字符串类型(无双引号)。STA模式开启状态。
STATION_DOWN 关闭
STATION_UP 开启

AT+QSTADHCP

该命令用于启用或禁用STA模式下DHCP服务进程。

命令类型 语法 响应
设置命令 AT+QSTADHCP=<enable> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<enable> 整型。启用或禁用STA模式下DHCP服务进程。
0 禁用
1 启用

AT+QSTADHCPDEF

该命令用于启用或禁用STA模式下DHCP服务进程并保存配置。

命令类型 语法 响应
设置命令 AT+QSTADHCPDEF=<enable> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置自动保存。

参数

参数 描述
<enable> 整型。启用或禁用STA模式下DHCP服务进程。
0 禁用
1 启用

AT+QSTASTATIC

该命令用于设置STA模式静态IP。

命令类型 语法 响应
设置命令 AT+QSTASTATIC=<IP>,<mask>,<gate>,<DNS> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<IP> 字符串类型(无双引号)。STA模式静态IP地址。
<mask> 字符串类型(无双引号)。模块的子网掩码。
<gate> 字符串类型(无双引号)。模块的网关地址。
<DNS> 字符串类型(无双引号)。模块的DNS地址。

AT+QSTASTOP

该命令用于禁用STA模式。

命令类型 语法 响应
执行命令 AT+QSTASTOP OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

AT+QSOFTAP

该命令用于启用AP模式。

命令类型 语法 响应
设置命令 AT+QSOFTAP=<SSID>[,<key>] OK
or
ERROR

最大响应时间:3300毫秒(开启加密热点)/300毫秒(开启无密码热点)

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<SSID> 字符串类型(无双引号)。AP名称。范围:1 ~ 32;单位:字节。
<key> 字符串类型(无双引号)。AP密钥。范围:8 ~ 63;单位:字节。省略该参数开启无密码热点。

AT+QAPSTATE

该命令用于查询AP模式开启状态。

命令类型 语法 响应
执行命令 AT+QAPSTATE +QAPSTATE: <state>
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<state> 字符串类型(无双引号)。AP模式开启状态。
SOFTAP_DOWN 关闭
SOFTAP_UP 开启

AT+QAPGETLIST

该命令用于查询连接模块AP的STA信息。最多可连接2个STA。

命令类型 语法 响应
查询命令 AT+QAPGETLIST [<num>: mac:<mac>, ip:<ip>]
[...]
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<num> 整型。STA序号。
<mac> 字符串类型(无双引号)。STA的MAC地址。
<ip> 字符串类型(无双引号)。STA的IP地址。

AT+QAPSTATIC

该命令用于设置AP模式静态IP。

命令类型 语法 响应
设置命令 AT+QAPSTATIC=<IP>,<mask>,<gate>,<DNS> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<IP> 字符型类型(无双引号)。AP模式静态IP地址。
<mask> 字符串类型(无双引号)。模块的子网掩码。
<gate> 字符串类型(无双引号)。模块的网关地址。
<DNS> 字符串类型(无双引号)。模块的DNS地址。

AT+QSOFTAPSTOP

该命令用于禁用AP模式。

命令类型 语法 响应
执行命令 AT+QSOFTAPSTOP OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

AT+QSTAAPINFO

该命令用于连接AP热点进入STA模式。

命令类型 语法 响应
设置命令 AT+QSTAAPINFO=<SSID>[,<pwd>] OK
+QSTASTAT: "WLAN_CONNECTED"
+QSTASTAT: "GOT_IP"
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<SSID> 字符串类型(无双引号)。待连接AP热点名称。范围:1 ~ 32;单位:字节。若此参数值中包含","、";"、"="、"\"等特殊字符,需对这些字符进行转义处理。
<pwd> 字符串类型(无双引号)。待连接AP热点密钥。范围:8 ~ 64;单位:字节。省略该参数连接无密码热点。若此参数值中包含","、";"、"="、"\"等特殊字符,需对这些字符进行转义处理。

AT+QSTAAPINFODEF

该命令用于连接热点进入STA模式,并保存热点信息。

命令类型 语法 响应
设置命令 AT+QSTAAPINFODEF=<SSID>[,<pwd>] OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置自动保存。

参数

参数 描述
<SSID> 字符串类型(无双引号)。待连接AP热点名称。范围:1 ~ 32;单位:字节。
<pwd> 字符串类型(无双引号)。待连接AP热点密钥。范围:8 ~ 64;单位:字节。省略该参数连接无密码热点。

AT+QGETWIFISTATE

该命令用于当模块启用STA模式时,查询已连接热点信息。

命令类型 语法 响应
执行命令 AT+QGETWIFISTATE +QGETWIFISTATE: ssid=<SSID>,bssid=<BSSID>,rssi=<RSSI>,channel=<channel>,cipher_type=<cipher_type>
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<SSID> 字符串类型。Wi-Fi热点名称。
<BSSID> 字符串类型(无双引号)。Wi-Fi网卡MAC地址。
<RSSI> 整型。Wi-Fi信号强度。
<channel> 整型。STA模式下,模块与热点连接、通信的信道。
<cipher_type> 字符串类型(无双引号)。加密类型。

AT+QWSCAN

该命令用于查询扫描到的热点信息。

命令类型 语法 响应
执行命令 AT+QWSCAN +QWSCAN: <SSID>,<PSK_type>,<RSSI>,<BSSID>,<channel>
[...]
OK
or
ERROR

最大响应时间:3秒

特性说明:-

参数

参数 描述
<SSID> 字符串类型。Wi-Fi热点名称。
<PSK_type> 字符串类型(无双引号)。加密类型。
<RSSI> 整型。Wi-Fi信号强度。
<BSSID> 字符串类型(无双引号)。Wi-Fi网卡MAC地址。
<channel> 整型。STA模式下,模块与热点连接、通信的信道。

AT+QWEBCFG

该命令用于启用或禁用Web配网功能。

命令类型 语法 响应
设置命令 AT+QWEBCFG=<enable> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<enable> 整型。启用或禁用Web配网功能。
0 禁用
1 启用

AT+QAPCFG

该命令用于设置AP的最大连接数量,开启AP前设置。

命令类型 语法 响应
测试命令 AT+QAPCFG=? +QAPCFG: "linknum",(支持的<max_link_num>列表)
OK
设置命令 AT+QAPCFG="linknum"[,<max_link_num>] 若省略可选参数,则查询当前配置:
+QAPCFG: "linknum",<max_link_num>
OK
若指定可选参数,则设置AP的最大连接数量:
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<max_link_num> 整型。AP的最大连接数量。范围:1 ~ 2。

BLE相关AT命令详解

AT+QBLEINIT

该命令用于初始化BLE。

命令类型 语法 响应
设置命令 AT+QBLEINIT=<role>[,<auto_adv>] OK
or
ERROR
查询命令 AT+QBLEINIT? +QBLEINIT:<role>
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<role> 整型。初始化BLE。
0 未初始化
1 模块作为中心设备进行BLE初始化
2 模块作为外围设备进行BLE初始化。作为外围设备时,在BLE连接断开之后默认自动开启广播。若无需此功能,可在BLE初始化时发送AT+QBLEINIT=2,0关闭该功能
3 模块作为外围设备进行蓝牙配网
<auto_adv> 整型。模块作为外围设备时,BLE连接断开后是否自动开启广播。
0 不开启广播
1 开启广播

AT+QBLEDEINIT

该命令用于关闭BLE。

命令类型 语法 响应
执行命令 AT+QBLEDEINIT OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

AT+QBLEURC

该命令用于启用或禁用接收数据的URC提示。

命令类型 语法 响应
设置命令 AT+QBLEURC=<enable> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<enable> 整型。启用或禁用接收数据的URC提示。
0 禁用URC提示
1 启用URC提示。启用后,当模块收到对端数据时,将在串口输出数据前先输出URC +QBLERECV提示
2 启用URC提示。启用后,当模块收到对端数据时,将在串口输出数据前先输出URC +QBLERECV提示;当模块作为外围设备角色时,连接成功后上报对端信息输出URC +QBLEPEERRINFO提示

AT+QBLEADDR

该命令用于查询BLE设备地址。

命令类型 语法 响应
查询命令 AT+QBLEADDR? +QBLEADDR:<BLE_addr>
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<BLE_addr> 字符串类型(无双引号)。BLE设备地址。48位地址以十六进制数串表示,如58:D3:91:01:02:03。

AT+QBLENAME

该命令用于设置BLE名称。

命令类型 语法 响应
查询命令 AT+QBLENAME? +QBLENAME:<BLE_name>
OK
or
ERROR
设置命令 AT+QBLENAME=<BLE_name> OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<BLE_name> 字符串类型(无双引号)。BLE名称。最大长度:25字节。

AT+QBLEADVPARAM

该命令用于模块作为外围设备时设置BLE广播参数。

命令类型 语法 响应
设置命令 AT+QBLEADVPARAM=<adv_int_min>,<adv_int_max> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<adv_int_min> 整型。非定向广播及低占空比定向广播的最小广播间隔。
范围:0x0020 ~ 0x4000(对应的时间范围:20毫秒 ~ 10.24秒);默认值:0x0800(1.28秒);单位:timeslot(1 timeslot = 0.625毫秒)。
<adv_int_max> 整型。非定向广播及低占空比定向广播的最大广播间隔。
范围:0x0020 ~ 0x4000(对应的时间范围:20毫秒 ~ 10.24秒);默认值:0x0800(1.28秒);单位:timeslot(1 timeslot = 0.625毫秒)。

备注

如需使用AT+QBLEADVPARAM配置广播参数,则必须在使用AT+QBLEADVSTART开始广播之前进行设置。

AT+QBLEADVDATA

该命令用于模块作为外围设备时设置BLE广播数据。

BLE广播数据报文格式

命令类型 语法 响应
设置命令 AT+QBLEADVDATA=<adv_data> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<adv_data> 字符串类型(无双引号)。广播数据。由以下三个字段组成(即多个AD Structure组成),组成方式符合上图的报文格式,内容必须是十六进制的数串。
Length AD Structure的长度,包括AD Type和AD Data的长度,不包含Length本身的1字节。最大0x1e,即Data字段最大长度为30字节。
AD Type 该广播数据所属的类型,如功耗级别Tx Power Level(0x0A)、设备名称Local Name(0x09)、角色Le Role(0x1C)、服务标识Service UUIDs(0x16)等。对端扫描到广播后,可以根据AD Type判断出广播数据的意义。
AD Data 广播数据内容,采用大端字节顺序。

备注

关于AD Type的类型和含义取值,请参考BLE官方文档Core Specification 5.2([https://www.bluetooth.com/specifications/specs/core-specification/]{.underline})。

AT+QBLESRDATA

该命令用于模块作为外围设备时设置BLE扫描响应数据。

命令类型 语法 响应
设置命令 AT+QBLESRDATA=<sr_data> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<sr_data> 字符串类型(无双引号)。扫描响应数据。该参数与<adv_data>类似,由以下三个字段组成(即多个AD Structure组成)。
Length AD Structure的长度,包括AD Type和AD Data的长度,不包含Length本身的1字节。最大0x1e,即Data字段最大长度为30字节。
AD Type 该广播数据所属的类型,如功耗级别Tx Power Level(0x0A)、设备名称Local Name(0x09)、角色Le Role(0x1C)、服务标识Service UUIDs(0x16)等。对端扫描到广播后,可以根据AD Type判断出广播数据的意义。
AD Data 广播数据内容,采用大端字节顺序。

AT+QBLEGATTSSRV

该命令用于模块作为外围设备时创建BLE服务。

命令类型 语法 响应
查询命令 AT+QBLEGATTSSRV? [+QBLEGATTSSRV:<srv_index>,<srv_UUID>]
OK
设置命令 AT+QBLEGATTSSRV=<srv_UUID> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<srv_index> 整型。服务索引。
<srv_UUID> 字符串类型(无双引号)。蓝牙服务UUID。长度:2字节或16字节。

备注

该命令仅支持一次创建一个BLE服务。

AT+QBLEGATTSCHAR

该命令用于模块作为外围设备时创建BLE特征值UUID。

命令类型 语法 响应
查询命令 AT+QBLEGATTSCHAR? +QBLEGATTSCHAR:"char",<srv_index>,<char_index>,<char_UUID>,<att_cfg>
OK
or
ERROR
设置命令 AT+QBLEGATTSCHAR=<char_UUID>[,<att_cfg>] OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<srv_index> 整型。服务索引。
<char_index> 整型。特征值索引。
<char_UUID> 字符串类型(无双引号)。特征值UUID。长度:2字节或16字节。
<att_cfg> 整形。十六进制数据。特征值UUID属性配置。参数范围:1 ~ FF。其中bit7 ~ bit0表示控制不同属性,如下所示。在对应的bit位进行配置,0表示禁止配置该属性,1表示使能配置该属性。例如:FF表示使能配置bit7 ~ bit0控制的属性。
bit7 ~ bit5 预留
bit4 读取(Read)
bit3 指示(Indicate)
bit2 通知(Notify)
bit1 无响应方式写入(Write no response)
bit0 写入(Write)

AT+QBLEADVSTART

该命令用于模块作为外围设备时开启BLE广播。

命令类型 语法 响应
查询命令 AT+QBLEADVSTART? +QBLEADVSTART: <adv_state>
OK
or
ERROR
执行命令 AT+QBLEADVSTART OK
or
ERROR

最大响应时间:1000毫秒

特性说明:-

参数

参数 描述
<adv_state> 整型。BLE广播状态。
0 广播关闭
1 广播开启

AT+QBLEADVSTOP

该命令用于模块作为外围设备时禁用BLE广播。

命令类型 语法 响应
执行命令 AT+QBLEADVSTOP OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

AT+QBLEGATTSNTFY

该命令用于模块作为外围设备时以通知方式发送GATT数据。

命令类型 语法 响应
设置命令 AT+QBLEGATTSNTFY=<UUID>[,<hex_length>],<data> OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<UUID> 字符串类型(无双引号)。特征值的UUID。长度:2字节或者16字节。
<hex_length> 整型。十六进制数据长度。使用该参数时,模块会将<data>转换为十六进制再进行发送。例如,若<data>为123456,模块会将该数据转换为0x123456进行发送。
<data> 字符串类型(无双引号)。GATT数据。

AT+QBLEGATTSIND

该命令用于模块作为外围设备时以指示方式发送GATT数据。

命令类型 语法 响应
设置命令 AT+QBLEGATTSIND=<UUID>[,<hex_length>],<data> OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<UUID> 字符串类型(无双引号)。特征值的UUID。长度:2字节或者16字节。
<hex_length> 整型。十六进制数据长度。使用该参数时,模块会将<data>转换为十六进制再进行发送。例如,若<data>为123456,模块会将其转换为0x123456进行发送。
<data> 字符串类型(无双引号)。GATT数据。

AT+QBLEGATTSCFGREAD

该命令用于当模块作为外围设备时,配置具有读取属性的BLE特征值。

命令类型 语法 响应
设置命令 AT+QBLEGATTSCFGREAD=<UUID>[,<hex_length>],<data> OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<UUID> 字符串类型(无双引号)。特征值的UUID。长度:2字节或者16字节。
<hex_length> 整型。十六进制数据长度。范围:1 ~ 128;单位:字节。使用该参数时,模块会将<data>转换为十六进制再进行发送。例如,若<data>为123456,模块会将该数据转换为0x123456进行发送。
<data> 字符串类型(无双引号)。GATT数据。

AT+QBLESCAN

该命令用于模块作为中心设备时打开或关闭BLE扫描。

命令类型 语法 响应
设置命令 AT+QBLESCAN=<scan>[,<timeout>] 如果<scan>为0:
OK
如果<scan>为1:
OK
+QBLESCAN:<name>,<address_type>,<address>
如果<scan>为2或3:
OK
+QBLESCAN:<name>,<address_type>,<address>,<adv_data>
or
ERROR

最大响应时间:1000毫秒

特性说明:-

参数

参数 描述
<scan> 整型。打开或关闭BLE扫描。
0 关闭
1 打开,不输出广播数据及扫描响应数据
2 打开,输出广播数据及扫描响应数据。该模式下无需手动关闭BLE扫描
3 打开,输出广播数据及扫描响应数据。该模式下只扫描可连接广播
<timeout> 整型。扫描持续时间。范围:100 ~ 10000;单位:毫秒。当<scan>为2或3时,必须设置该参数。
<name> 字符串类型(无双引号)。BLE设备名称。
<address_type> 整型。BLE设备地址类型。
0 公共地址
1 随机地址
<address> 字符串类型(无双引号)。BLE设备地址。长度:12字节。
<adv_data> 字符串类型(无双引号)。扫描到的BLE广播数据及扫描响应数据。

AT+QBLESCANPARAM

该命令用于模块作为中心设备时设置BLE扫描参数。

命令类型 语法 响应
设置命令 AT+QBLESCANPARAM=<scan_interval>,<scan_window> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<scan_interval> 整型。LE扫描间隔。范围:0x0012 ~ 0x1000(对应的时间范围:11.25毫秒 ~ 2.56秒);默认值:0x0064;单位:timeslot(1 timeslot = 0.625毫秒)。
<scan_window> 整型。LE扫描持续的时间。<scan_window>要小于或等于<scan_interval>。范围:0x0011 ~ 0x1000(对应的时间范围:10.625毫秒 ~ 2.56秒);默认值:0x001E;单位:timeslot(1 timeslot = 0.625毫秒)。

AT+QBLECONN

该命令用于模块作为中心设备时连接外围设备。

命令类型 语法 响应
设置命令 AT+QBLECONN=<addr_type>,<peer_addr> OK
or
ERROR

最大响应时间:3000毫秒

特性说明:该命令立即生效;参数配置不保存;连接超时时间为18秒。

参数

参数 描述
<addr_type> 整型。外围设备地址类型。
0 公用地址
1 随机地址
<peer_addr> 字符串类型(无双引号)。外围设备地址。

AT+QBLECONNPARAM

该命令用于模块作为中心设备时设置连接参数。

命令类型 语法 响应
设置命令 AT+QBLECONNPARAM=<con_interval>,<timeout>,<latency> OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<con_interval> 整型。连接时间间隔值。范围:0x0006 ~ 0x0C80(对应的时间范围:7.5毫秒 ~ 4秒);默认值:30;单位:1.25毫秒。
<timeout> 整型。BLE链路的监督超时。范围:0x000A ~ 0x0C80(对应的时间范围:100毫秒 ~ 32秒);默认值:500;单位:10毫秒。
<latency> 整型。从设备延迟一定数量的连接事件。范围:0 ~ 499(0x0000 ~ 0x01F3)。默认值:0。

AT+QBLECFGMTU

该命令用于模块作为中心设备时查询BLE最大传输单元。

命令类型 语法 响应
查询命令 AT+QBLECFGMTU? +QBLECFGMTU:<MTU_value>
OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<MTU_value> 整型。最大传输单元值。范围:23 ~ 512;单位:字节。

备注:蓝牙连接后会自动更新MTU。

AT+QBLEGATTCNTFCFG

该命令用于模块作为中心设备时启用或禁用通知。

命令类型 语法 响应
设置命令 AT+QBLEGATTCNTFCFG=<UUID>,<enable> OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<UUID> 字符串类型(无双引号)。特征值的UUID。长度:2字节或16字节。
<enable> 整型。启用或禁用通知。
0 禁用
1 启用

AT+QBLEGATTCWR

该命令用于模块作为中心设备时发送GATT数据。

命令类型 语法 响应
设置命令 AT+QBLEGATTCWR=<UUID>[,<hex_length>],<data> OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<UUID> 字符串类型(无双引号)。特征值的UUID。长度:2字节或者16字节。
<hex_length> 整型。十六进制数据长度。使用该参数时,模块会将<data>转换为十六进制再进行发送,例如,若<data>为123456,模块会将该数据转换成0x123456进行发送。
<data> 字符串类型(无双引号)。GATT数据。

AT+QBLEGATTCRD

该命令用于模块作为中心设备时读取GATT数据。

命令类型 语法 响应
设置命令 AT+QBLEGATTCRD=<UUID> OK
<data>
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<UUID> 字符串类型(无双引号)。特征值的UUID。长度:2字节或16字节。
<data> 字符串类型(无双引号)。读取到的GATT数据。

AT+QBLEDISCONN

该命令用于断开BLE连接。

命令类型 语法 响应
执行命令 AT+QBLEDISCONN OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

AT+QBLESTAT

该命令用于查询BLE设备状态。

命令类型 语法 响应
执行命令 AT+QBLESTAT +QBLESTAT:<BLE_state>
OK
or
ERROR

最大响应时间:600毫秒

特性说明:-

参数

参数 描述
<BLE_state> 字符串类型(无双引号)。BLE设备当前状态。
NOINIT 未初始化状态
INIT 初始化状态
ADVERTISING 广播状态
NOADVERTISING 无广播状态
CONNECTED 连接状态
DISCONNECTED 断开连接状态

AT+QBLETRANMODE

该命令用于指定特征值UUID并使模块进入透传模式。

命令类型 语法 响应
设置命令 AT+QBLETRANMODE=<UUID>[,<state>] OK
or
ERROR

最大响应时间:500毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<UUID> 字符串类型。特征值UUID。长度:4字节或者32字节。
<state> 整型。仅当模块作为外围设备时该参数生效。
0 当模块作为外围设备时,首次进入透传模式,断开BLE连接后,退出透传模式,后续与任意设备连接时,默认不会进入透传模式。
1 当模块作为外围设备时,首次进入透传模式,断开BLE连接后,退出透传模式,后续与任意设备连接时,默认进入透传模式。

备注

  1. 当模块为中心设备时,在BLE连接成功且发现对端服务完成之后,可执行此命令使模块进入透传模式。BLE连接断开后,模块自动退出透传模式。仅支持通过写命令方式(Write no response)透传数据。
  2. 当模块为外围设备时,在开启广播或者建立BLE连接之后,可执行此命令使模块进入透传模式。仅支持通过通知(Notify)方式透传数据。
  3. 可执行 +++(详见+++)使模块退出透传模式。此时,模块无论是作为中心设备还是外围设备后续与任意设备连接时,默认不会进入透传模式。

AT+QBLESEND

该命令用于通过蓝牙特征值的UUID发送数据。

命令类型 语法 响应
设置命令 AT+QBLESEND=<conn_idx>,<uuid>,<att_cfg>,<data_len> >
After receiving >, input the data to be sent. When the data content reaches the specified length:
Sent successfully: OK
Sending failed: ERROR

最大响应时间:500毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<conn_idx> 整型。建立BLE连接时,模块自动分配的目标设备索引。仅可设置为0。
<uuid> 字符串类型。特征值UUID。长度:4字节或者32字节。
<att_cfg> 整型。十六进制数据。特征值UUID属性配置。参数范围:1 ~ FF。其中bit7 ~ bit0表示控制不同的属性,如下所示。在相应的位位置进行配置,0表示禁止该属性的配置,1表示使能该属性的配置。例如:FF表示使能由bit7 ~ bit0控制的属性的配置。
bit7 ~ bit4 保留
bit3 指示(Indicate)
bit2 通知(Notify)
bit1 无响应方式写入(Write no response)
bit0 写入(Write)
<data_len> 整型。数据长度。最大值:<MTU_value> - 3;单位:字节。有关<MTU_value>的详细信息,请参考AT+QBLECFGMTU

TCP/UDP相关AT命令详解

AT+QICFG

该命令用于配置TCP/UDP Socket服务相关参数。

命令类型 语法 响应
测试命令 AT+QICFG=? +QICFG: "transpktsize",(支持的 <transpktsize> 列表)
+QICFG: "transwaittm",(支持的 <transwaittm> 列表)
+QICFG: "accept/mode",(支持的 <accept_mode> 列表)
+QICFG: "tcp/tw_cycle",(支持的 <tcp_tw_cycle> 列表)
+QICFG: "datatype",(支持的 <data_type> 列表)
+QICFG: "tcp/retransmit",(支持的 <rto_val> 列表),(支持的 <retry_cnt> 列表)
+QICFG: "udp/broadcast",(支持的 <udp/broadcast> 列表)
+QICFG: "tcplistener/raw",(支持的 <tcplistener/raw> 列表)
OK
设置命令 AT+QICFG="transpktsize"[,<transpktsize>] 若省略可选参数,则查询当前配置:
+QICFG: "transpktsize",<transpktsize>
OK
若指定可选参数,则设置透传模式下数据发送的分包长度:
OK
or
ERROR
设置命令 AT+QICFG="transwaittm"[,<transwaittm>] 若省略可选参数,则查询当前配置:
+QICFG: "transwaittm",<transwaittm>
OK
若指定可选参数,则设置透传模式下串口接收用户数据的等待时间:
OK
or
ERROR
设置命令 AT+QICFG="accept/mode"[,<accept_mode>] 若省略可选参数,则查询当前配置:
+QICFG: "accept/mode",<accept_mode>
OK
若指定可选参数,则配置"TCP Incoming"连接的接入方式:
OK
or
ERROR
设置命令 AT+QICFG="tcp/tw_cycle"[,<tcp_tw_cycle>] 若省略可选参数,则查询当前配置:
+QICFG: "tcp/tw_cycle",<tcp_tw_cycle>
OK
若指定可选参数,则配置"TCP"连接占用端口的释放方式:
OK
or
ERROR
设置命令 AT+QICFG="datatype"[,<data_type>] 若省略可选参数,则查询当前配置:
+QICFG: "datatype",<data_type>
OK
若指定可选参数,则配置发送数据格式:
OK
or
ERROR
设置命令 AT+QICFG="tcp/retransmit",<rto_val>,<retry_cnt> 若省略可选参数,则查询当前配置:
+QICFG: "tcp/retransmit",<rto_val>,<retry_cnt>
OK
若指定可选参数,则配置TCP数据重传间隔和次数:
OK
or
ERROR
设置命令 AT+QICFG="udp/broadcast"[,<udp/broadcast>] 若省略可选参数,则查询当前配置:
+QICFG: "udp/broadcast",<udp/broadcast>
OK
若指定可选参数,则关闭或开启UDP广播:
OK
or
ERROR
设置命令 AT+QICFG="tcplistener/raw"[,<tcplistener/raw>] 若省略可选参数,则查询当前配置:
+QICFG: "tcplistener/raw",<tcplistener/raw>
OK
若指定可选参数,则关闭或开启TCP服务器透传:
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<transpktsize> 整型。待发数据的分包长度。范围:1 ~ 1460;默认值:1024;单位:字节。
<transwaittm> 整型。透传模式下,串口已接收的数据小于 <transpktsize> 时,继续等待串口数据的时长。当 <transwaittm> = 0时,表示收到数据立即发送。范围:0 ~ 20;默认值:2;单位:100毫秒。
<accept_mode> 整型。TCP Incoming连接请求的接入方式。
0 自动接入
1 手动接入,通过AT+QIACCEPT接受
<tcp_tw_cycle> 整型。TCP连接释放占用端口的方式。
0 立即释放
1 延时释放
<data_type> 整型。发送的数据格式。
0 非十六进制字符串
1 十六进制字符串
2 十六进制数据
<rto_val> 整型。TCP数据重传间隔。范围:1 ~ 10;单位:秒;默认值:3。
<retry_cnt> 整型。TCP数据重传次数。范围:3 ~ 20;默认值:10。
<udp/broadcast> 整型。关闭或开启UDP广播。
0 关闭
1 开启
<tcplistener/raw> 整型。关闭或开启TCP服务器透传功能。
0 关闭
1 开启

AT+QIOPEN

该命令用于打开TCP/UDP Socket服务。TCP客户端建立的最大响应时间由TCP三次握手的最大超时时间决定。模块支持TCP三次握手的最大超时时间为120秒;当<service_type>为"UDP"、"TCP LISTENER"或"UDP SERVICE"时,建立Socket服务的最大响应时间约为300毫秒。

命令类型 语法 响应
测试命令 AT+QIOPEN=? +QIOPEN: (支持的 <socketID> 列表),(支持的 <service_type> 列表),"ip/dns",(支持的 <remote_port> 列表),(支持的 <local_port> 列表),(支持的 <access_mode> 列表),(支持的 <local_IP> 列表)
OK
设置命令 AT+QIOPEN=<socketID>,<service_type>,<remoteIP/domain_name>,<remote_port>,<local_port>,<access_mode>[,<local_IP>] <access_mode> 等于 2:
CONNECT
or
ERROR
<access_mode> 不等于 2:
OK
+QIOPEN: <socketID>,<err>
or
ERROR

最大响应时间:-

特性说明:-

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<service_type> 字符串类型。Socket服务类型。
"TCP" 客户端建立TCP连接
"UDP" 客户端建立UDP连接
"TCP LISTENER" 建立TCP服务器监听TCP连接
"UDP SERVICE" 建立UDP服务
<remoteIP> 字符串类型。远端服务器的地址。仅当 <service_type> 是 "TCP"/"UDP" 时才有效。
<domain_name> 字符串类型。远端服务器的域名。仅当 <service_type> 是 "TCP"/"UDP" 时才有效。
<remote_port> 整型。远程服务器端口。仅当 <service_type> 是 "TCP"/"UDP" 时才有效。范围:1 ~ 65535。
<local_port> 整型。本地端口。当 <service_type> 为 "TCP LISTENER"/"UDP SERVICE" 时,该参数必须指定。范围:1 ~ 65535。当 <service_type> 为 "TCP"/"UDP" 时,该参数可以为 0,表示使用随机端口号。范围:0 ~ 65535。
<access_mode> 整型。串口数据模式。
0 缓存模式。Socket通过AT命令收发数据
1 直吐模式。Socket通过AT命令发送数据,收到数据通过URC方式上报
2 透传模式。通过串口接收的数据会直接发送到网络端,从网络接收到的数据会从串口直接输出
<local_IP> 整型。指定使用AP或STA的IP地址。
0 使用STA的IP地址
1 使用AP的IP地址
<err> 整型。结果码。详见结果码

备注

<service_type>="TCP LISTENER"/"UDP SERVICE"时,<access_mode> 不能设置为2。

AT+QISTATE

该命令用于查询TCP/UDP Socket服务状态。

命令类型 语法 响应
设置命令 AT+QISTATE=<socketID> +QISTATE: <socketID>,<service_type>,<remote_addr>,<remote_port>,<local_port>,<state>
OK
查询命令 AT+QISTATE? 返回现存所有连接状态:
[+QISTATE: <socketID>,<service_type>,<remote_addr>,<remote_port>,<local_port>,<state>]
[...]
OK
执行命令 AT+QISTATE 返回现存所有连接状态:
[+QISTATE: <socketID>,<service_type>,<remote_addr>,<remote_port>,<local_port>,<state>]
[...]
OK

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<service_type> 字符串类型。Socket服务类型。
"TCP" 客户端建立TCP连接
"UDP" 客户端建立UDP连接
"TCP LISTENER" 建立TCP服务器监听TCP连接
"UDP SERVICE" 建立UDP服务
"TCP INCOMING" 建立TCP服务器接受的TCP连接
<remote_addr> 字符串类型。远端服务器的地址,仅当 <service_type> 为 "TCP"/"UDP"/"TCP INCOMING" 时有效。
<remote_port> 整型,远端服务器的端口号,仅当 <service_type> 为 "TCP"/"UDP"/"TCP INCOMING" 时有效。
<local_port> 整型。本地端口号。
<state> 整型。Socket服务状态。
0 "Initial" 尚未建立连接
1 "Opening" 客户端正在连接或者服务器正尝试监听
2 "Connected" 客户端连接已建立
3 "Listening" 服务器正在监听
4 "Closing" 连接断开

AT+QISEND

该命令用于通过TCP/UDP Socket服务发送数据。

命令类型 语法 响应
测试命令 AT+QISEND=? +QISEND: (支持的 <socketID> 列表),(支持的 <send_len> 列表),"data"[,"remote_ip",(支持的 <remote_port> 列表)]
OK
设置命令 AT+QISEND=<socketID>,0 <send_len> 为 0,可查询发送数据大小:
+QISEND: <total_send_size>,<acked_size>,<unack_size>
OK
or
ERROR
设置命令 AT+QISEND=<socketID>,<send_len>,<data>,<remote_ip>,<remote_port> <service_type> 为 "UDP SERVICE":
+QISEND: <actual_send_len>
OK
or
ERROR
设置命令 AT+QISEND=<socketID>,<send_len>,<data> <service_type> 为 "TCP"/"UDP"/"TCP INCOMING":
+QISEND: <actual_send_len>
OK
or
ERROR
设置命令 AT+QISEND=<socketID>,<send_len>,<remote_ip>,<remote_port> 设置 AT+QICFG="datatype",2 时:
>
在收到 > 字符后,用户需在 30 秒内输入长度为 <send_len> 的十六进制数据。超时会报错退出,数据长度超过 <send_len> 时会截断超出数据。
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<send_len> 整型。待发送数据字节长度。范围:0 ~ 1460;单位:字节。
<data> 字符串类型。待发送的数据。若此参数值中包含 ","、";"、"="、"\" 等特殊字符,需对这些字符进行转义处理。
<remote_ip> 字符串类型。待发送数据的目标地址。仅当 <service_type> 为 "UDP SERVICE" 才有效。
<remote_port> 整型。待发送数据的目标端口。仅当 <service_type> 为 "UDP SERVICE" 才有效。范围:1 ~ 65535。
<actual_send_len> 整型。实际写入Socket中的数据长度。单位:字节。
<total_send_size> 整型。写入Socket中的总数据长度。单位:字节。
<acked_size> 整型。已经被应答的数据长度。单位:字节。
<unacked_size> 整型。未被应答的数据长度。单位:字节。

AT+QIRD

该命令用于读取TCP/UDP Socket服务收到的数据。

命令类型 语法 响应
测试命令 AT+QIRD=? +QIRD: (支持的 <socketID> 列表),(支持的 <read_len> 列表)
OK
设置命令 AT+QIRD=<socketID>,0 <send_len> 为 0,可查询接收数据大小:
+QIRD: <total_recv_size>,<read_size>,<unread_size>
OK
or
ERROR
设置命令 AT+QIRD=<socketID>,<read_len> <service_type> 为 "UDP SERVICE":
+QIRD: <actual_read_len>,<remote_addr>,<remote_port>
<data>
OK
or
ERROR
设置命令 AT+QIRD=<socketID>,<read_len> <service_type> 为 "TCP"/"UDP"/"TCP INCOMING":
+QIRD: <actual_read_len>
<data>
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<read_len> 整型。待读取的数据长度。范围:0 ~ 1500;单位:字节。
<remote_addr> 字符串类型。接收数据的源地址。仅当 <service_type> 为 "UDP SERVICE" 才有效。
<remote_port> 整型。接收数据的源端口。仅当 <service_type> 为 "UDP SERVICE" 才有效。
<actual_read_len> 整型。实际读取的数据长度。单位:字节。
<total_recv_size> 整型。Socket收到的总数据长度。单位:字节。
<read_size> 整型。已经被读取的数据长度。单位:字节。
<unread_size> 整型。未被读取的数据长度。单位:字节。
<data> 字符串类型(无双引号)。实际读取的数据。单位:字节。

AT+QIACCEPT

该命令接受或拒绝TCP/UDP Socket服务远端接入请求。

命令类型 语法 响应
测试命令 AT+QIACCEPT=? +QIACCEPT: (支持的 <listener_socketID> 列表),(支持的 <accept> 列表),(支持的 <incoming_socketID> 列表)
OK
设置命令 AT+QIACCEPT=<listener_socketID>,<accept>[,<incoming_socketID>] [+QIACCEPT: <incoming_socketID>,<remote_addr>,<remote_port>]
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<listener_socketID> 整型。TCP Server的Socket连接号。范围:0 ~ 11。
<accept> 整型。拒绝或者接受TCP/UDP Socket服务远端接入请求。
0 拒绝
1 接受
<incoming_socketID> 整型。接入连接的Socket连接号。仅当 <accept> = 1时有效。范围:0 ~ 11。
<remote_addr> 字符串类型。接入连接的源地址。
<remote_port> 整型。接入连接的源端口。

AT+QISWTMD

该命令用于切换数据访问模式。

命令类型 语法 响应
测试命令 AT+QISWTMD=? +QISWTMD: (支持的 <socketID> 列表),(支持的 <access_mode> 列表)
OK
设置命令 AT+QISWTMD=<socketID>,<access_mode> OK
or
CONNECT
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<access_mode> 整型。串口数据模式。
0 缓存模式。Socket通过AT命令收发数据
1 直吐模式。Socket通过AT命令发送数据,收到数据通过URC方式上报
2 透传模式。通过串口接收的数据会直接发送到网络端,从网络接收到的数据会从串口直接输出

AT+QICLOSE

该命令用于关闭TCP/UDP Socket服务。

命令类型 语法 响应
测试命令 AT+QICLOSE=? +QICLOSE: (支持的 <socketID> 列表),(支持的 <close_timeout> 列表)
OK
设置命令 AT+QICLOSE=<socketID>[,<close_timeout>] OK
+QIURC: "closed",<socketID>
or
ERROR

最大响应时间:-

特性说明:-

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<close_timeout> 整型。Socket服务关闭的超时时长。范围:1 ~ 60;默认值:2;单位:秒。

AT+QIGETERROR

该命令用于查询TCP/UDP Socket服务相关的结果码。

命令类型 语法 响应
执行命令 AT+QIGETERROR +QIGETERROR: <err>,<description>
OK

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<err> 整型。结果码。请参考结果码
<description> 字符串类型。结果码描述。

ATO

该命令用于使模块进入透传模式。

命令类型 语法 响应
执行命令 ATO CONNECT
or
NO CARRIER

最大响应时间:300毫秒

特性说明:-

备注

如果之前没有建立Socket连接,ATO返回NO CARRIER

+++

命令类型 语法 响应
执行命令 +++ OK

最大响应时间:300毫秒

特性说明:-

备注

  1. +++退出透传模式后,如果Socket连接没有断开,可以通过ATO再次进入透传模式。
  2. 使用该命令时,不能在命令后输入回车或换行符。

SSL相关AT命令详解

AT+QSSLCFG

该命令用于配置SSL上下文参数。

命令类型 语法 响应
测试命令 AT+QSSLCFG=? +QSSLCFG: "version",(支持的 <SSL_ctxID> 列表),(支持的 <SSL_version> 列表)
+QSSLCFG: "verify",(支持的 <SSL_ctxID> 列表),(支持的 <verify_level> 列表)
+QSSLCFG: "ciphersuite",(支持的 <SSL_ctxID> 列表),<cs_id>
+QSSLCFG: "negotiatetimeout",(支持的 <SSL_ctxID> 列表),(支持的 <negotiate_time> 列表)
+QSSLCFG: "sni",(支持的 <SSL_ctxID> 列表),(支持的 <SNI_value> 列表)
OK
设置命令 AT+QSSLCFG="version",<SSL_ctxID>[,<SSL_version>] 若省略可选参数,则查询当前配置:
+QSSLCFG: "version",<SSL_ctxID>,<SSL_version>
OK
若指定可选参数,则配置SSL版本号:
OK
or
ERROR
设置命令 AT+QSSLCFG="verify",<SSL_ctxID>[,<verify_level>] 若省略可选参数,则查询当前配置:
+QSSLCFG: "verify",<SSL_ctxID>,<verify_level>
OK
若指定可选参数,则配置SSL校验等级:
OK
or
ERROR
设置命令 AT+QSSLCFG="ciphersuite",<SSL_ctxID>[,<cs_id>[,<cs_id>[,...]]] 若省略可选参数,则查询当前配置:
+QSSLCFG: "ciphersuite",<SSL_ctxID>[,<cs_id>[,<cs_id>[,...]]]
OK
若指定可选参数,则配置加密套件:
OK
or
ERROR
设置命令 AT+QSSLCFG="negotiatetimeout",<SSL_ctxID>[,<negotiate_time>] 若省略可选参数,则查询当前配置:
+QSSLCFG: "negotiatetimeout",<SSL_ctxID>,<negotiate_time>
OK
若指定可选参数,则配置SSL握手的超时时间:
OK
or
ERROR
设置命令 AT+QSSLCFG="sni",<SSL_ctxID>[,<SNI_value>] 若省略可选参数,则查询当前配置:
+QSSLCFG: "sni",<SSL_ctxID>,<SNI_value>
OK
若指定可选参数,则启用或禁用TLS服务器名称显示功能:
OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<SSL_ctxID> 整型。SSL上下文ID。范围:0 ~ 5。
<SSL_version> 整型。SSL版本号。
0 SSL3.0
1 TLS1.0
2 TLS1.1
3 TLS1.2
4 以上都支持
<verify_level> 整型。SSL的校验等级。
0 无认证方式
1 单向认证(客户端验证服务器的合法性)
2 双向认证(客户端与服务器相互验证对方的合法性)
<cs_id> 十六进制的整型,以0x开头。0xFFFF表示支持全部加密套件。
0x0004 TLS_RSA_WITH_RC4_128_MD5
0x0005 TLS_RSA_WITH_RC4_128_SHA
0x002F TLS_RSA_WITH_AES_128_CBC_SHA
0x0035 TLS_RSA_WITH_AES_256_CBC_SHA
0x003C TLS_RSA_WITH_AES_128_CBC_SHA256
0x003D TLS_RSA_WITH_AES_256_CBC_SHA256
0xc027 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
0xc02F TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
<negotiate_time> 整型。SSL握手的超时时间。范围:60 ~ 300;默认值:120;单位:秒。
<SNI_value> 整型。启用或禁用TLS服务器名称显示功能。
0 禁用
1 启用

AT+QSSLCERT

该命令用于上传、下载和删除SSL证书。

命令类型 语法 响应
测试命令 AT+QSSLCERT=? +QSSLCERT: (支持的 <cert_type> 列表),(支持的 <operation_mode> 列表)
OK
查询命令 AT+QSSLCERT? [+QSSLCERT: <cert_type>,<exist_flag>,<checksum>]
[...]
OK
设置命令 AT+QSSLCERT=<cert_type>,<operation_mode>,<length> 上传证书:
CONNECT
返回CONNECT后输入文件内容,输入内容将自动写入flash中。输入内容长度达到指定长度后模块退出数据模式。
OK
or
ERROR
设置命令 AT+QSSLCERT=<cert_type>,<operation_mode> 下载证书:
+QSSLCERT: <cert_type>,<length>
输出文件内容
OK
or
ERROR
删除证书:
OK
or
ERROR

最大响应时间:取决于用户输入数据的速度

特性说明:该命令立即生效;参数配置自动保存。

参数

参数 描述
<cert_type> 字符串类型。证书类型。
"CA" CA证书
"User Cert" 客户端证书
"User Key" 客户端Key文件
<operation_mode> 整型。操作模式。
0 删除证书
1 下载证书
2 上传证书
<length> 整型。证书内容的长度。
<exist_flag> 整型。证书是否存在。
0 不存在
1 存在
<checksum> 十六进制整型。校验和;逐字节累加数据并截断超出2字节部分。

AT+QSSLOPEN

该命令用于打开SSL客户端,创建SSL连接。SSL连接的建立包含TCP三次握手和SSL握手两个过程,因此该命令的最大超时时间是TCP三次握手的超时时间(120秒)与<negotiate_time>的总和。

命令类型 语法 响应
测试命令 AT+QSSLOPEN=? +QSSLOPEN: (支持的 <SSL_ctxID> 列表),(支持的 <socketID> 列表),"ip/dns",(支持的 <remote_port> 列表),(支持的 <local_port> 列表),(支持的 <access_mode> 列表)
OK
设置命令 AT+QSSLOPEN=<SSL_ctxID>,<socketID>,<remoteIP/domain_name>,<remote_port>[,<local_port>,<access_mode>] 如果 <access_mode> 等于 2:
CONNECT
or
ERROR
如果 <access_mode> 不等于 2:
OK
+QSSLOPEN: <socketID>,<err>
or
ERROR

最大响应时间:-

特性说明:-

参数

参数 描述
<SSL_ctxID> 整型。SSL上下文ID。范围:0 ~ 5。
<socketID> 整型。Socket ID。范围:0 ~ 11。
<remoteIP> 字符串类型。远端服务器的地址。
<domain_name> 字符串类型。远端服务器的域名。
<remote_port> 整型。远程服务器端口。仅当 <service_type> 是 "TCP"/"UDP" 时才有效。范围:1 ~ 65535。
<local_port> 整型。本地端口。范围:1 ~ 65535。
<access_mode> 整型。串口数据模式。
0 缓存模式。Socket通过AT命令收发数据
1 直吐模式。Socket通过AT命令发送数据,收到数据通过URC方式上报
2 透传模式。通过串口接收的数据会直接发送到网络端,从网络接收到的数据会从串口直接输出
<err> 整型。结果码。请参考结果码

AT+QSSLSEND

该命令用于通过SSL客户端发送数据。

命令类型 语法 响应
测试命令 AT+QSSLSEND=? +QSSLSEND: (支持的 <socketID> 列表),(支持的 <send_len> 列表)
OK
设置命令 AT+QSSLSEND=<socketID>,<send_len>,<data> +QSSLSEND: <actual_send_len>
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<send_len> 整型。待发送数据的长度。范围:1 ~ 1460;单位:字节。
<data> 字符串类型。待发送的数据。
<actual_send_len> 整型。实际写入的数据长度。单位:字节。

AT+QSSLRECV

该命令用于读取SSL客户端收到的数据。

命令类型 语法 响应
测试命令 AT+QSSLRECV=? +QSSLRECV: (支持的 <socketID> 列表),(支持的 <read_len> 列表)
OK
设置命令 AT+QSSLRECV=<socketID>,<read_len> +QSSLRECV: <actual_read_len>
<data>
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<read_len> 整型。读取的数据长度。单位:字节。
<actual_read_len> 整型。实际读取的数据长度。单位:字节。
<data> 字符串类型(无双引号)。实际读取的数据。

AT+QSSLSTATE

该命令用于查询SSL客户端状态。

命令类型 语法 响应
设置命令 AT+QSSLSTATE=<socketID> +QSSLSTATE: <socketID>,"SSL CLIENT",<remote_addr>,<remote_port>,<local_port>,<state>
OK
or
ERROR
查询命令 AT+QSSLSTATE? 返回现存所有连接状态:
[+QSSLSTATE: <socketID>,"SSL CLIENT",<remote_addr>,<remote_port>,<local_port>,<state>]
[...]
OK
执行命令 AT+QSSLSTATE 返回现存所有连接状态:
[+QSSLSTATE: <socketID>,"SSL CLIENT",<remote_addr>,<remote_port>,<local_port>,<state>]
[...]
OK

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<remote_addr> 字符串类型。远端服务器的地址。
<remote_port> 整型。远端服务器的端口号。
<local_port> 整型。本地端口号。
<state> 整型。Socket服务状态。
0 "Initial" 尚未建立连接
1 "Opening" 客户端正在连接或者服务器正尝试监听
2 "Connected" 客户端连接已建立
3 "Listening" 服务器正在监听
4 "Closing" 连接断开

AT+QSSLCLOSE

该命令用于关闭SSL客户端。

命令类型 语法 响应
测试命令 AT+QSSLCLOSE=? +QSSLCLOSE: (支持的 <socketID> 列表),(支持的 <close_timeout> 列表)
OK
设置命令 AT+QSSLCLOSE=<socketID>[,<close_timeout>] OK
+QSSLURC: "closed",<socketID>
or
ERROR

最大响应时间:-

特性说明:-

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<close_timeout> 整型。关闭SSL客户端的超时时间。范围:1 ~ 60;默认值:10;单位:秒。

MQTT相关AT命令详解

AT+QMTCFG

该命令用于配置MQTT客户端可选参数。

命令类型 语法 响应
测试命令 AT+QMTCFG=? +QMTCFG: "version",(支持的 <clientID> 列表),(支持的 <vsn> 列表)
+QMTCFG: "datatype",(支持的 <clientID> 列表),(支持的 <data_type> 列表)
+QMTCFG: "ssl",(支持的 <clientID> 列表),(支持的 <SSL_enable> 列表),(支持的 <SSL_ctxID> 列表)
+QMTCFG: "keepalive",(支持的 <clientID> 列表),(支持的 <kalive_tm> 列表)
+QMTCFG: "session",(支持的 <clientID> 列表),(支持的 <clean_session> 列表)
+QMTCFG: "timeout",(支持的 <clientID> 列表),(支持的 <delivery_tm> 列表),(支持的 <delivery_cnt> 列表),(支持的 <timeout_report> 列表)
+QMTCFG: "will",(支持的 <clientID> 列表),(支持的 <will_flag> 列表),(支持的 <will_QoS> 列表),(支持的 <will_retain> 列表),"willtopic","willmessage"
+QMTCFG: "recv/mode",(支持的 <clientID> 列表),(支持的 <recvmode> 列表)
OK
设置命令 AT+QMTCFG="version",<clientID>[,<vsn>] 若省略可选参数,则查询当前配置:
+QMTCFG: "version",<clientID>,<vsn>
OK
若指定可选参数,则设置MQTT协议版本号:
OK
or
ERROR
设置命令 AT+QMTCFG="datatype",<clientID>[,<data_type>] 若省略可选参数,则查询当前配置:
+QMTCFG: "datatype",<clientID>,<data_type>
OK
若指定可选参数,则设置MQTT客户端发送数据格式:
OK
or
ERROR
设置命令 AT+QMTCFG="ssl",<clientID>[,<SSL_enable>[,<SSL_ctxID>]] 若省略可选参数,则查询当前配置:
+QMTCFG: "ssl",<clientID>,<SSL_enable>[,<SSL_ctxID>]
OK
若指定可选参数,启用或禁用SSL连接:
OK
or
ERROR
设置命令 AT+QMTCFG="keepalive",<clientID>[,<kalive_tm>] 若省略可选参数,则查询当前配置:
+QMTCFG: "keepalive",<clientID>,<kalive_tm>
OK
若指定可选参数,则设置MQTT协议保活时间:
OK
or
ERROR
设置命令 AT+QMTCFG="session",<clientID>[,<clean_session>] 若省略可选参数,则查询当前配置:
+QMTCFG: "session",<clientID>,<clean_session>
OK
若指定可选参数,则设置MQTT协议会话类型:
OK
or
ERROR
设置命令 AT+QMTCFG="timeout",<clientID>[,<delivery_tm>,<delivery_cnt>,<timeout_report>] 若省略可选参数,则查询当前配置:
+QMTCFG: "timeout",<clientID>,<delivery_tm>,<delivery_cnt>,<timeout_report>
OK
若指定可选参数,则设置MQTT客户端等待响应的超时时间:
OK
or
ERROR
设置命令 AT+QMTCFG="will",<clientID>[,<will_flag>,<will_QoS>,<will_retain>,<will_topic>,<will_message>] 若省略可选参数,则查询当前配置:
+QMTCFG: "will",<clientID>,<will_flag>,<will_QoS>,<will_retain>,<will_topic>,<will_message>
OK
若指定可选参数,则设置MQTT协议Will参数:
OK
or
ERROR
设置命令 AT+QMTCFG="recv/mode",<clientID>[,<recvmode>] 若省略可选参数,则查询当前配置:
+QMTCFG: "recv/mode",<clientID>,<recvmode>
OK
若指定可选参数,则设置MQTT客户端接收信息的读取方式:
OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置不保存。

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<vsn> 整型。MQTT协议的版本号。
3 MQTT协议V3
4 MQTT协议V4
<data_type> 整型。发送数据格式。
0 非十六进制字符串
1 十六进制字符串
<SSL_enable> 整型。启用或禁用SSL连接。
0 禁用。普通TCP连接
1 启用SSL连接
<SSL_ctxID> 整型。SSL上下文ID。范围:0 ~ 5。
<kalive_tm> 整型。保活时间。允许MQTT客户端和服务器之间没有数据交互的最大空闲时间。MQTT客户端与服务器之间,通过pingReq、pingResp消息来保活。范围:1 ~ 3600;默认值:120;单位:秒。
<clean_session> 整型。对应MQTT CONNECT消息中的会话类型的字段值。
0 该连接则被认为是持久连接。当该客户端断开后,任何订阅的主题和QoS被设置为1或2的信息都会保存,直到该客户端再次连接上服务器。
1 当该客户端断开后,所有的订阅主题都会被移除。
<delivery_tm> 整型。MQTT客户端发送完MQTT消息后,等待服务器回复消息的最大时长。范围:1 ~ 60;默认值:5;单位:秒。
<delivery_cnt> 整型。MQTT客户端重传MQTT消息的最大次数。范围:1 ~ 10;默认值:3。
<timeout_report> 整型。当MQTT消息发生重传时,是否以URC的形式上报。
0 不上报
1 上报(详情可参考AT+QMTSUB、AT+QMTPUB和AT+QMTUNS)
<will_flag> 整型。MQTT CONNECT消息中的 <will_flag> 字段值。
0 忽略 <will_QoS><will_retain><will_topic><will_message> 的配置
1 将 <will_QoS><will_retain><will_topic><will_message> 通过MQTT CONNECT消息发送到服务器
<will_QoS> 整型。<will_message> 对应的QoS级别。
0 至多发送一次
1 至少发送一次
2 只发送一次
<will_retain> 整型。MQTT客户端意外断开后,服务器是否永久保存已发布的 <will_message>
0 清除,不永久保存
1 永久保存
<will_topic> 字符串类型。Will主题名称。
<will_message> 字符串类型。客户端意外断开后发布到Will主题的消息内容。
<recvmode> 整型。MQTT消息接收方式。
0 直吐方式
1 缓存方式(需要通过AT+QMTRECV读取)

备注

在MQTT客户端与服务器之间建立MQTT连接前,需配置MQTT客户端可选参数。

AT+QMTOPEN

该命令用于为MQTT建立客户端与服务器之间的会话连接。

命令类型 语法 响应
测试命令 AT+QMTOPEN=? +QMTOPEN: (支持的 <clientID> 列表),"hostname",(支持的 <port> 列表)
OK
查询命令 AT+QMTOPEN? 返回现存所有连接服务器信息:
[+QMTOPEN: <clientID>,<hostname>,<port>]
[...]
OK
设置命令 AT+QMTOPEN=<clientID>,<hostname>,<port> OK
+QMTOPEN: <clientID>,<result>
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<hostname> 字符串类型。MQTT服务器的地址。
<port> 整型。MQTT服务器的端口号。范围:1 ~ 65535。
<result> 整型。命令执行结果。
-1 Socket连接失败
0 MQTT会话连接建立成功
1 参数错误
2 MQTT标识符被占用
3 内存不足
4 域名解析失败
5 Socket被异常关闭

AT+QMTCLOSE

该命令用于为MQTT关闭客户端与服务器之间的会话连接。

命令类型 语法 响应
测试命令 AT+QMTCLOSE=? +QMTCLOSE: (支持的 <clientID> 列表)
OK
设置命令 AT+QMTCLOSE=<clientID> OK
+QMTCLOSE: <clientID>,<result>
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<result> 整型。命令执行结果。
-1 执行失败
0 执行成功

AT+QMTCONN

该命令用于在MQTT客户端与服务器之间建立MQTT连接。

命令类型 语法 响应
测试命令 AT+QMTCONN=? +QMTCONN: (支持的 <clientID> 列表),"client_identity","username","password"
OK
查询命令 AT+QMTCONN? 返回现存所有连接状态:
[+QMTCONN: <clientID>,<state>]
[...]
OK
设置命令 AT+QMTCONN=<clientID>,<client_identity>,<username>,<password> OK
+QMTCONN: <clientID>,<result>[,<response_code>]
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<client_identity> 字符串类型。客户端标识符。
<username> 字符串类型。客户端对应的用户名。
<password> 字符串类型。客户端对应的密码。
<state> 整型。MQTT连接的状态。
1 初始化
2 正在连接
3 已连接
4 正在断开连接
<result> 整型。命令执行结果。
0 发送CONNECT消息成功,并且收到CONNECTACK消息
1 发送CONNECT消息成功,但在规定的响应时间内,没有收到CONNECTACK消息
2 发送CONNECT消息失败
<response_code> 整型。连接状态返回码。
0 接受连接
1 拒绝连接:不接受的协议版本
2 拒绝连接:标识符被拒绝
3 拒绝连接:服务器不可用
4 拒绝连接:用户名或密码错误
5 拒绝连接:未授权

AT+QMTDISC

该命令用于断开MQTT客户端与服务器之间的连接。

命令类型 语法 响应
测试命令 AT+QMTDISC=? +QMTDISC: (支持的 <clientID> 列表)
OK
设置命令 AT+QMTDISC=<clientID> OK
+QMTDISC: <clientID>,<result>
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<result> 整型。命令执行结果。
-1 执行失败
0 执行成功

AT+QMTSUB

该命令用于订阅MQTT服务器发布的主题消息。

命令类型 语法 响应
测试命令 AT+QMTSUB=? +QMTSUB: (支持的 <clientID> 列表),(支持的 <msgID> 列表),"topic",(支持的 <qos> 列表)
OK
设置命令 AT+QMTSUB=<clientID>,<msgID>,<topic1>,<qos1>[,<topic2>,<qos2>[,..]] OK
+QMTSUB: <clientID>,<msgID>,<result>[,<value>]
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<msgID> 整型。SUBSCRIBE消息的标识。范围:1 ~ 65535。
<topic> 字符串类型。订阅的主题。
<qos> 整型。<topic> 的QoS级别。
0 至多发送一次
1 至少发送一次
2 只发送一次
<result> 整型。命令执行结果。
0 发送SUBSCRIBE消息成功,并且收到SUBACK消息
1 发送SUBSCRIBE消息成功,但在规定的响应时间内,没有收到SUBACK消息,执行SUBSCRIBE消息重传机制
2 发送SUBSCRIBE消息失败
<value> 整型。
<result> 为 0 时,表示SUBACK消息回复的QoS。
<result> 为 1 时,表示SUBSCRIBE消息的重传次数。
<result> 为 2 时,这个参数没有意义,此字段为空。

备注

当前支持一次最多订阅5个主题。

AT+QMTUNS

该命令用于取消订阅MQTT服务器发布的主题消息。客户端可以向服务器发送UNSUBSCRIBE消息来取消已订阅的主题。

命令类型 语法 响应
测试命令 AT+QMTUNS=? +QMTUNS: (支持的 <clientID> 列表),(支持的 <msgID> 列表),"topic"
OK
设置命令 AT+QMTUNS=<clientID>,<msgID>,<topic1>[,<topic2>[,..]] OK
+QMTUNS: <clientID>,<msgID>,<result>
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<msgID> 整型。UNSUBSCRIBE消息的标识。范围:1 ~ 65535。
<topic> 字符串类型。取消订阅的主题。
<result> 整型。命令执行结果。
0 发送UNSUBSCRIBE消息成功,并且收到UNSUBACK消息
1 发送UNSUBSCRIBE消息成功,但在规定的响应时间内,没有收到UNSUBACK消息,执行UNSUBSCRIBE消息重传机制
2 发送UNSUBSCRIBE消息失败

备注

当前支持一次最多取消订阅5个主题。

AT+QMTPUB

该命令用于通过MQTT服务器发布消息。

命令类型 语法 响应
测试命令 AT+QMTPUB=? +QMTPUB: (支持的 <clientID> 列表),(支持的 <msgID> 列表),(支持的 <QoS> 列表),(支持的 <retain> 列表),"topic",(支持的 <payload_length> 列表),"payload"
OK
设置命令 AT+QMTPUB=<clientID>,<msgID>,<QoS>,<retain>,<topic>,<payload_length>,<payload> OK
+QMTPUB: <clientID>,<msgID>,<result>[,<value>]
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<msgID> 整型。PUBLISH消息的标识。范围:0 ~ 65535。
当QoS等于0时,<msgID>必须等于0;
当QoS大于0时,<msgID>必须大于0。
<QoS> 整型。发布消息的QoS级别。
0 至多发送一次
1 至少发送一次
2 只发送一次
<retain> 整型。MQTT客户端意外断开后,服务器是否永久保存已发布的消息。
0 清除,不永久保存
1 永久保存
<topic> 字符串类型。待发布的主题消息。
<payload_length> 整型。待发布消息的长度。范围:1 ~ 1500;单位:字节。
<payload> 字符串类型。待发布的消息。
<result> 整型。命令执行结果。
0 发送PUBLISH消息成功,并且收到ACK消息
1 发送PUBLISH消息成功,但在规定的响应时间内,没有收到ACK消息,执行PUBLISH消息重传机制
2 发送PUBLISH消息失败
<value> 整型。
<result> 为 1 时,表示PUBLISH消息的重传次数;
<result> 为 0 或 2 时,此参数没有意义,此字段为空。

AT+QMTPUBRAW

该命令用于通过MQTT服务器发布十六进制数据。

命令类型 语法 响应
测试命令 AT+QMTPUBRAW=? +QMTPUBRAW: (支持的 <clientID> 列表),(支持的 <msgID> 列表),(支持的 <QoS> 列表),(支持的 <retain> 列表),"topic",(支持的 <payload_length> 列表)
OK
设置命令 AT+QMTPUBRAW=<clientID>,<msgID>,<QoS>,<retain>,<topic>,<payload_length> >
在收到 > 字符后,用户需在10秒内输入 <payload>,超时会报错退出。
OK
+QMTPUB: <clientID>,<msgID>,<result>[,<value>]
or
ERROR

最大响应时间:10000毫秒

特性说明:-

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<msgID> 整型。PUBLISH消息的标识。范围:0 ~ 65535。
当QoS等于0时,<msgID>必须等于0;
当QoS大于0时,<msgID>必须大于0。
<QoS> 整型。发布消息的QoS级别。
0 至多发送一次
1 至少发送一次
2 只发送一次
<retain> 整型。MQTT客户端意外断开后,服务器是否永久保存已发布的消息。
0 清除,不永久保存
1 永久保存
<topic> 字符串类型。待发布的主题消息。
<payload_length> 整型。待发布消息的长度。范围:1 ~ 1500;单位:字节。
<payload> 十六进制类型。待发布的消息。
<result> 整型。命令执行结果。
0 发送PUBLISH消息成功,并且收到ACK消息
1 发送PUBLISH消息成功,但在规定的响应时间内,没有收到ACK消息,执行PUBLISH消息重传机制
2 发送PUBLISH消息失败
<value> 整型。
<result> 为 1 时,表示PUBLISH消息的重传次数;
<result> 为 0 或 2 时,此参数没有意义,此字段为空。

AT+QMTRECV

该命令用于从存储缓存中读取消息,服务器上报消息均会存储到此缓存中。

命令类型 语法 响应
测试命令 AT+QMTRECV=? OK
查询命令 AT+QMTRECV? [+QMTRECV: <clientID>,<store_status4>,<store_status3>,<store_status2>,<store_status1>,<store_status0>]
[...]
OK
设置命令 AT+QMTRECV=<clientID>[,<storeID>] 若省略可选参数,则读取指定客户端的所有缓存的消息:
[+QMTRECV: <clientID>,<msgID>,<topic>,<payload_len>,<payload>]
[...]
OK
若指定可选参数,则读取指定客户端指定 <storeID> 的消息:
+QMTRECV: <clientID>,<msgID>,<topic>,<payload_len>,<payload>
OK

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<storeID> 整型。消息缓存的ID。范围:0 ~ 4。
<store_status4> 整型。对应storeID4有没有缓存消息。
0 没有缓存消息
1 有缓存消息
<store_status3> 整型。对应storeID3有没有缓存消息。
0 没有缓存消息
1 有缓存消息
<store_status2> 整型。对应storeID2有没有缓存消息。
0 没有缓存消息
1 有缓存消息
<store_status1> 整型。对应storeID1有没有缓存消息。
0 没有缓存消息
1 有缓存消息
<store_status0> 整型。对应storeID0有没有缓存消息。
0 没有缓存消息
1 有缓存消息
<msgID> 整型。PUBLISH消息的标识。范围:0 ~ 65535。
当QoS等于0时,<msgID>必须等于0;
当QoS大于0时,<msgID>必须大于0。
<topic> 字符串类型。服务器发布的主题。
<payload_len> 整型。接收到的消息长度。
<payload> 字符串类型。接收到的消息。

HTTP(S)相关AT命令详解

HTTP(S)请求包含HTTP(S)会话的建立和HTTP(S)报文的交互,因此HTTP(S)请求的最大响应时间由HTTP(S)会话建立的时间和HTTP(S)报文交互的时间来决定。模块支持TCP三次握手的最大超时为120秒。SSL握手的超时由<negotiate_time>决定(默认值为120秒)。HTTP(S)请求发送后,等待响应的时间为<wait_response_time>(默认为60秒)。

AT+QHTTPCFG

该命令用于配置HTTP(S)客户端参数。

命令类型 语法 响应
测试命令 AT+QHTTPCFG=? +QHTTPCFG: "url",<url_string>
+QHTTPCFG: "header",<hname>,<hvalue>
+QHTTPCFG: "auth",<username>,<password>
+QHTTPCFG: "response/output",(支持的 <output_mode> 列表)
+QHTTPCFG: "response/header",(支持的 <save_header> 列表)
+QHTTPCFG: "response/interval",(支持的 <interval> 列表)
+QHTTPCFG: "sslctxid",(支持的 <SSL_ctxID> 列表)
OK
设置命令 AT+QHTTPCFG="url"[,<url_string>] 若省略可选参数,则查询当前访问的URL:
+QHTTPCFG: "url",<url_string>
OK
若指定可选参数,则配置待访问的URL:
OK
or
ERROR
设置命令 AT+QHTTPCFG="header"[,<hname>[,<hvalue>]] 若省略可选参数,则查询当前配置:
[+QHTTPCFG: "header",<hname>,<hvalue>]
[...]
OK
若指定可选参数 <hname>,省略可选参数 <hvalue>,则删除对应的头信息:
OK
若指定所有可选参数,则配置自定义头信息:
OK
or
ERROR
设置命令 AT+QHTTPCFG="auth"[,<username>[,<password>]] 若省略可选参数,则查询当前设置:
+QHTTPCFG: "auth",<username>,<password>
OK
若指定可选参数,则配置基本认证参数:
OK
or
ERROR
设置命令 AT+QHTTPCFG="response/output"[,<output_mode>] 若省略可选参数,则查询当前配置:
+QHTTPCFG: "response/output",<output_mode>
OK
若指定可选参数,则配置响应数据的输出方式:
OK
or
ERROR
设置命令 AT+QHTTPCFG="response/header"[,<save_header>] 若省略可选参数,则查询当前设置:
+QHTTPCFG: "response/header",<save_header>
OK
若指定可选参数,则配置保留或不保留响应头信息:
OK
or
ERROR
设置命令 AT+QHTTPCFG="response/interval"[,<interval>] 若省略可选参数,则查询当前设置:
+QHTTPCFG: "response/interval",<interval>
OK
若指定可选参数,则配置HTTP数据以URC方式上报的输出间隔:
OK
or
ERROR
设置命令 AT+QHTTPCFG="sslctxid"[,<SSL_ctxID>] 若省略可选参数,则查询当前配置:
+QHTTPCFG: "sslctxid",<SSL_ctxID>
OK
若指定可选参数,则配置HTTP(S)会话使用的SSL上下文ID:
OK
or
ERROR

最大响应时间:300毫秒

特性说明:该命令立即生效;参数配置自动保存。

参数

参数 描述
<url_string> 字符串类型。待访问的URL。未配置时,该参数显示为空字符串。
<hname> 字符串类型。HTTP(S)头信息的名称。未配置时,该参数显示为空字符串。
<hvalue> 字符串类型。HTTP(S)头信息的值。未配置时,该参数显示为空字符串。
<username> 字符串类型。HTTP(S)基本认证的用户名。未配置时,该参数显示为空字符串。
<password> 字符串类型。HTTP(S)基本认证的密码。未配置时,该参数显示为空字符串。
<output_mode> 整型。响应数据的输出方式。
0 响应数据通过AT+QHTTPREAD读取
1 响应数据以URC形式直接上报(详情可参考+QHTTPURC: "recv"。)
<save_header> 整型。是否保留响应头信息。
0 不保留
1 保留
<interval> 整型。HTTP信息输出间隔。范围:0 ~ 4;单位:秒。
<SSL_ctxID> 整型。SSL上下文ID。范围:0 ~ 5。

AT+QHTTPGET

该命令用于向HTTP(S)服务器发送GET请求。如果HTTP(S) GET请求发送成功,GET的结果以+QHTTPGET: <result>[,<status_code>[,<content_length>]]方式上报至MCU。

命令类型 语法 响应
测试命令 AT+QHTTPGET=? +QHTTPGET: (支持的 <wait_response_time> 列表)
OK
设置命令/执行命令 AT+QHTTPGET[=<wait_response_time>] OK
+QHTTPGET: <result>[,<status_code>[,<content_length>]]
or
ERROR

最大响应时间:-

特性说明:-

参数

参数 描述
<wait_response_time> 整型。发送GET请求后,等待服务器响应的时间。范围:10 ~ 65535;默认值:10;单位:秒。
<result> 整型。GET请求发送结果。详见结果码
0 成功
其他 失败
<status_code> 整型。HTTP(S)状态码。详见结果码
<content_length> 整型。GET请求消息体的长度。

AT+QHTTPPOST

该命令用于向HTTP(S)服务器发送POST请求。如果HTTP(S) POST请求发送成功,POST的结果以+QHTTPPOST: <result>[,<status_code>[,<content_length>]]方式上报至MCU。

命令类型 语法 响应
测试命令 AT+QHTTPPOST=? +QHTTPPOST: (支持的 <body_length> 列表),(支持的 <body_wait_interval> 列表),(支持的 <wait_response_time> 列表)[,<name>[,<file_name>[,<content_type>]]]
OK
设置命令 AT+QHTTPPOST=<body_length>[,<body_wait_interval>[,<wait_response_time>]] 非Form-data形式文件:
CONNECT
输入消息主体,达到 <body_length> 的长度后退出数据模式
OK
+QHTTPPOST: <result>[,<status_code>[,<content_length>]]
or
ERROR
设置命令 AT+QHTTPPOST=<body_length>,<body_wait_interval>,<wait_response_time>,<name>[,<file_name>[,<content_type>]] Form-data形式文件:
CONNECT
输入消息主体,达到 <body_length> 的长度后退出数据模式
OK
+QHTTPPOST: <result>[,<status_code>[,<content_length>]]
or
ERROR

最大响应时间:-

特性说明:-

参数

参数 描述
<body_length> 整型。POST数据的长度。范围:1 ~ 102400;单位:字节。
<body_wait_interval> 整型。消息主体输入的最大等待时间。范围:1 ~ 65535;默认值:60;单位:秒。
<wait_response_time> 整型。模块内部发送POST请求后,等待服务器响应的时间。范围:10 ~ 65535;默认值:10;单位:秒。
<name> 字符串类型。Form-data名称。
<file_name> 字符串类型。数据上传至HTTP(S)服务器后存储的文件名。
<content_type> 字符串类型。信息媒体类型。
<result> 整型。POST请求发送结果。详见结果码
0 成功
其他 失败
<status_code> 整型。HTTP(S)状态码。详见结果码
<content_length> 整型。POST请求体的长度。

AT+QHTTPPUT

该命令用于向HTTP(S)服务器发送PUT请求。如果HTTP(S) PUT请求发送成功,PUT的结果以+QHTTPPUT: <result>[,<status_code>[,<content_length>]]方式上报至MCU。

命令类型 语法 响应
测试命令 AT+QHTTPPUT=? +QHTTPPUT: (支持的 <body_length> 列表),(支持的 <body_wait_interval> 列表),(支持的 <wait_response_time> 列表)
OK
设置命令 AT+QHTTPPUT=<body_length>[,<body_wait_interval>[,<wait_response_time>]] CONNECT
输入消息主体,达到 <body_length> 的长度后退出数据模式
OK
+QHTTPPUT: <result>[,<status_code>[,<content_length>]]
or
ERROR

最大响应时间:-

特性说明:-

参数

参数 描述
<body_length> 整型。PUT数据的长度。范围:1 ~ 102400;单位:字节。
<body_wait_interval> 整型。消息主体输入的最大等待时间。范围:1 ~ 65535;默认值:60;单位:秒。
<wait_response_time> 整型。模块内部发送PUT请求后,等待服务器响应的时间。范围:10 ~ 65535;默认值:10;单位:秒。
<result> 整型。PUT请求发送结果。详见结果码
0 成功
其他 失败
<status_code> 整型。HTTP(S)状态码。详见结果码
<content_length> 整型。PUT请求体的长度。

AT+QHTTPREAD

该命令用于读取HTTP(S)请求的响应信息。若HTTP(S)请求响应成功,且AT+QHTTPCFG="response/output",0设置响应数据的输出方式为通过AT命令读取,可通过该命令读取响应数据。

命令类型 语法 响应
测试命令 AT+QHTTPREAD=? +QHTTPREAD: (支持的 <wait_response_interval> 列表)
OK
设置命令/执行命令 AT+QHTTPREAD[=<wait_response_interval>] CONNECT
<data>
OK
+QHTTPREAD: <result>
or
ERROR

最大响应时间:-

特性说明:-

参数

参数 描述
<wait_response_interval> 整型。模块串口等待响应信息的最大时间。范围:60 ~ 65535;默认值:60;单位:秒。
<result> 整型。响应信息的读取结果。
0 成功
其他 失败
<data> 字符串类型(无双引号)。读取到的数据。

DNS相关AT命令详解

AT+QIDNSGIP

该命令用于通过域名获取IP地址。查询DNS之前,Host应首先连接Wi-Fi。命令执行结果通过如下URC上报:

  • 若命令执行成功(<err>=0),则上报:
+QIURC: "dnsgip",<err>,<IP_count>,<DNS_ttl>
+QIURC: "dnsgip",<hostIPaddr>
[+QIURC: "dnsgip",<hostIPaddr>]
[...]
  • 若命令执行失败(<err>=-1),则上报:+QIURC: "dnsgip",<err>
命令类型 语法 响应
测试命令 AT+QIDNSGIP=? +QIDNSGIP: <hostname>
OK
设置命令 AT+QIDNSGIP=<hostname> OK
or
ERROR

最大响应时间:受网络状态影响,最大响应时间60秒。

特性说明:-

参数

参数 描述
<hostname> 字符串类型。域名。
<err> 错误码。
0 执行成功
-1 执行失败
<IP_count> 整型。域名对应的IP地址数量。
<DNS_ttl> 整型。DNS的TTL值;单位:秒。
<hostIPaddr> 字符串类型。IP地址。

NTP相关AT命令详解

AT+QNTP

该命令用于通过NTP服务器同步本地时间(UTC+8)。

命令类型 语法 响应
测试命令 AT+QNTP=? +QNTP: <server>,(支持的 <port> 列表)
OK
设置命令/执行命令 AT+QNTP[=<server>[,<port>]] 若同步成功:
OK
+QNTP: <err>,<time>
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<server> 字符串类型(含双引号)。NTP服务器的IP地址或域名。最大长度:50字节。若省略 <server> 参数,则直接通过默认NTP服务器同步时间;默认地址:"ntp.aliyun.com";若指定 <server> 参数,则配置NTP服务器的域名或IP地址。
<port> 整型。NTP服务器端口号。范围:1 ~ 65535;默认值:123。若省略 <port> 参数,则通过默认端口号123同步时间;若指定 <port> 参数,则通过配置端口号同步时间。
<time> 字符串类型。从NTP服务器上同步的本地时间(UTC+8)。
格式:"YYYY/MM/DD,hh:mm:ss",用于表示年(YYYY)、月(MM)、日(DD)、时(hh)、分(mm)和秒(ss)。
<err> 错误码;详情请参考结果码

AT+QTIME

该命令用于通过NTP服务器获取Unix时间戳。

命令类型 语法 响应
查询命令 AT+QTIME? +QTIME: <time>
OK
or
+QTIME: timeout
OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<time> 整型。获取的Unix时间戳。从1970年1月1日00:00:00(UTC时间)开始所经过的秒数。

备注

  1. 执行该命令前需先连接网络。
  2. 该命令3秒内只能执行一次。

GPIO相关AT命令详解

AT+QGPIOCFG

该命令用于配置GPIO。

命令类型 语法 响应
测试命令 AT+QGPIOCFG=? +QGPIOCFG: <mode>,<pin>,<dir>,<pull>,<drv>/<val>
OK
or
ERROR
设置命令 AT+QGPIOCFG=1,<pin>,<dir>,<pull>,<drv> OK
or
ERROR
设置命令 AT+QGPIOCFG=2,<pin> +QGPIOCFG: <val>
OK
or
ERROR
设置命令 AT+QGPIOCFG=3,<pin>,<val> OK
or
ERROR

最大响应时间:300毫秒

特性说明:-

参数

参数 描述
<mode> 整型。命令模式。
1 配置GPIO
2 查询GPIO电平状态
3 设置GPIO电平
<pin> 整型。模块的GPIO引脚号。
<dir> 整型。GPIO的输入与输出。
0 输入
1 输出
<pull> 整型。引脚上下拉方向(仅GPIO引脚为输入信号时有效)。
0 不操作
1 下拉
2 保持悬空
3 上拉
<drv> 整型。GPIO驱动电流。
0 5 mA
1 10 mA
2 15 mA
3 20 mA
<val> 整型。GPIO电平。
0 低电平
1 高电平

相关URC描述

Wi-Fi相关URC详解

+QSTASTAT

URC 描述
+QSTASTAT:<event> 当STA状态发生变化时上报该URC。

参数

参数 描述
<event> 字符串类型(无双引号)。STA状态发生变化时上报的事件。
WLAN DISCONNECTED STA断开连接
WLAN_CONNECTED STA建立连接
GOT_IP STA获取到IP
SCAN_NO_AP STA没有扫描到AP
AP_CONNECT STA连接到AP(AP模式)
AP_DISCONNECT STA断开与AP的连接(AP模式)

BLE相关URC详解

+QBLESTAT

URC 描述
+QBLESTAT:<event> 当BLE状态发生变化时上报该URC。

参数

参数 描述
<event> 字符串类型(无双引号)。BLE状态发生变化时上报的事件。
NOINIT 未初始化事件
INIT 初始化事件
ADVERTISING 广播事件
NOADVERTISING 无广播事件
CONNECTED 连接事件
DISCONNECTED 断开连接事件

+QBLEMTU

URC 描述
+QBLEMTU:<MTU_value> 当BLE MTU数值变化时上报该URC。

参数

参数 描述
<MTU_value> 整型。最大传输单元值。范围:23 ~ 512;单位:字节。

+QBLEINFO

当BLE作为中心设备连接其他设备成功时,上报URC已连接设备的句柄和特征指UUID。

URC 描述
+QBLEINFO: <handle> <UUID> 当BLE为中心设备连接成功时上报该URC。

参数

参数 描述
<handle> 整型。已连接设备的句柄。范围:0 ~ 255。
<UUID> 整型。已连接设备的特征值UUID。长度:2字节或16字节。

+QBLERECV

URC 描述
+QBLERECV:<peer_role>,<UUID>,<Length>\r\n<data>\r\n 模块接收到数据时上报该URC。

参数

参数 描述
<peer_role> 整型。模块连接的对端设备角色。
0 对端设备角色为中心设备
1 对端设备角色为外围设备
<UUID> 整型。特征值UUID。范围:0000 ~ ffff。
<Length> 整型。接收到的数据长度。单位:字节。
<data> 字符串类型(无双引号)。接收到的数据。

+QBLEPEERINFO

当BLE作为外围设备连接其它设备成功后收到的对端消息提示。

URC 描述
+QBLEPEERINFO:<conn_idx>,<peer_role>,<BLE_addr> 当BLE为外围设备连接成功时上报该URC。

参数

参数 描述
<conn_idx> 整型。建立BLE连接时,模块自动分配的连接索引。默认值:0。
<peer_role> 整型。BLE连接的对端设备的角色。
0 中心设备
1 外围设备
<BLE_addr> 字符串类型。对端设备地址。48位地址以十六进制数串表示,如58D391010203。

TCP/UDP相关URC详解

+QIOPEN

执行AT+QIOPEN打开Socket服务,通过该URC上报打开结果。

URC 描述
+QIOPEN: <socketID>,<err> Socket服务打开结果。

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<err> 整型。结果码。请参考结果码

+QIURC: "recv"

Socket服务接收数据后上报该URC指示数据。

URC 描述
+QIURC: "recv",<socketID> 缓存模式下,接收数据的提示。当模块的接收缓存区中有数据时,模块不会主动上报新的URC,直到通过AT+QIRD命令将缓存区中的所有数据读取完毕。
+QIURC: "recv",<socketID>,<data_len><CR><LF><data> 直吐模式下,当 <service_type> 不等于 "UDP SERVICE" 时,接收数据的提示。
+QIURC: "recv",<socketID>,<data_len>,<remote_addr>,<remote_port><CR><LF><data> 直吐模式下,当 <service_type> 等于 "UDP SERVICE" 时,接收数据的提示。

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<data_len> 整型。数据长度。范围:1 ~ 1500。单位:字节。
<remote_addr> 字符串类型。数据的源地址。
<remote_port> 整型。数据的源端口。
<data> 字符串类型(无双引号)。接收到的数据。

+QIURC: "accept"

当模块通过AT+QICFG="accept/mode"设置手动接入时,接收连接请求时上报该URC。

URC 描述
+QIURC: "accept",<socketID> 手动接入方式下Socket服务连接请求提示。

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。

+QIURC: "closed"

TCP/UDP Socket连接被关闭时上报该URC,并且Socket服务状态显示关闭。

URC 描述
+QIURC: "closed",<socketID> Socket服务连接被断开的提示。

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。

+QIURC: "incoming"

当模块通过AT+QICFG="accept/mode"设置自动接入时,接收连接请求时上报该URC。

URC 描述
+QIURC: "incoming",<incoming_socketID>,<listener_socketID>,<remote_addr>,<remote_port> 自动接入方式下Socket服务远端连接请求提示。

参数

参数 描述
<incoming_socketID> 整型。接入连接的Socket连接号。范围:0 ~ 11。
<listener_socketID> 整型。监听Socket连接号。范围:0 ~ 11。
<remote_addr> 字符串类型。接入连接的源地址。
<remote_port> 整型。接入连接的源端口。

+QIURC: "incoming full"

在设置自动接受连接请求方式下,Socket服务连接已满时接收到新的连接请求,上报该URC并自动拒绝该连接请求。

URC 描述
+QIURC: "incoming full" 客户端连接请求已满。

NO CARRIER

URC 描述
NO CARRIER 透传连接异常断开。

SSL相关URC详解

+QSSLOPEN

执行AT+QSSLOPEN打开SSL客户端,通过该URC上报打开结果。

URC 描述
+QSSLOPEN: <socketID>,<err> SSL客户端打开结果。

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<err> 整型。结果码。请参考结果码

+QSSLURC: "recv"

SSL客户端接收数据后上报该URC指示数据。

URC 描述
+QSSLURC: "recv",<socketID> 缓存模式下接收数据时上报的URC。
+QSSLURC: "recv",<socketID>,<data_len><CR><LF><data> 直吐模式下,接收数据的提示。

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。
<data_len> 整型。接收到的数据长度。范围:1 ~ 1500;单位:字节。
<data> 字符串类型(无双引号)。接收的数据。

+QSSLURC: "closed"

SSL客户端连接被关闭时上报该URC,并且SSL客户端状态显示关闭。

URC 描述
+QSSLURC: "closed",<socketID> Socket服务连接被断开。

参数

参数 描述
<socketID> 整型。Socket ID。范围:0 ~ 11。

MQTT相关URC详解

+QMTRECV

MQTT客户端收到新消息后上报该URC。

URC 描述
+QMTRECV: <clientID>,<storeID> 缓存方式下(<recvmode>=1),收到新消息的提示。
+QMTRECV: <clientID>,<msgID>,<topic>,<payload_len>,<payload> 直吐方式下(<recvmode>=0),收到新消息的提示。

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<storeID> 整型。消息缓存的ID。范围:0 ~ 4。
<msgID> 整型。PUBLISH消息的标识。范围:0 ~ 65535。
<topic> 字符串类型。从MQTT服务器接收的主题。
<payload_len> 整型。MQTT接收到的消息长度。
<payload> 字符串类型。MQTT接收到的消息。

+QMTSTAT

MQTT客户端异常断开后上报该URC。

URC 描述
+QMTSTAT: <clientID>,<stat> 客户端异常断开。

参数

参数 描述
<clientID> 整型。MQTT客户端标识符。范围:0 ~ 5。
<stat> 整型。MQTT会话连接异常断开的原因。
1 MQTT会话连接被动关闭
2 由于PingReq消息超时,造成MQTT客户端关闭会话连接
3 由于Connect消息超时,造成MQTT客户端关闭会话连接
4 由于ConnACK中提示Connect不成功,造成MQTT客户端关闭会话连接

HTTP(S)相关URC详解

+QHTTPGET

通过AT+QHTTPGET发送HTTP(S) GET请求后,上报该URC提示GET请求发送结果。

URC 描述
+QHTTPGET: <result>[,<status_code>[,<content_length>]] GET请求发送结果。

参数

参数 描述
<result> 整型。GET请求发送结果。详见结果码
0 成功
其他 失败
<status_code> 整型。HTTP(S)状态码。详见结果码
<content_length> 整型。GET请求消息体的长度。

+QHTTPPOST

通过AT+QHTTPPOST发送HTTP(S) POST请求后,上报该URC提示POST请求发送结果。

URC 描述
+QHTTPPOST: <result>[,<status_code>[,<content_length>]] POST请求发送结果。

参数

参数 描述
<result> 整型。POST请求发送结果。详见结果码
0 成功
其他 失败
<status_code> 整型。HTTP(S)状态码。详见结果码
<content_length> 整型。POST请求体的长度。

+QHTTPPUT

通过AT+QHTTPPUT发送HTTP(S) PUT请求后,上报该URC提示PUT请求发送结果。

URC 描述
+QHTTPPUT: <result>[,<status_code>[,<content_length>]] PUT请求发送结果。

参数

参数 描述
<result> 整型。PUT请求发送结果。详见结果码
0 成功
其他 失败
<status_code> 整型。HTTP(S)状态码。详见结果码
<content_length> 整型。PUT请求体的长度。

+QHTTPREAD

通过AT+QHTTPREAD读取响应数据,上报该URC提示读取的结果。

URC 描述
+QHTTPREAD: <result> 响应数据的读取结果。

参数

参数 描述
<result> 整型。响应信息的读取结果。
0 成功
其他 失败

+QHTTPURC: "recv"

当选择使用URC方式输出响应数据时,HTTP(S)客户端收到响应数据时,上报该URC。

URC 描述
+QHTTPURC: "recv",<length><CR><LF><data> URC方式输出响应数据。

参数

参数 描述
<length> 整型。接收到的数据长度。
<data> 字符串类型(无双引号)。响应的数据。

DNS相关URC详解

+QIURC: "dnsgip"

URC 描述
+QIURC: "dnsgip",<err>[,<IP_count>,<DNS_ttl>] 通过域名获取IP地址结果。
+QIURC: "dnsgip",<hostIPaddr> 通过域名获取IP地址成功时,上报获取到的IP地址。

参数

参数 描述
<err> 错误码。
0 执行成功
-1 执行失败
<IP_count> 整型。域名对应的IP地址数量。
<DNS_ttl> 整型。DNS的TTL值;单位:秒。
<hostIPaddr> 字符串类型。IP地址。

举例

本章节以FC41D模块为例,介绍各功能相关AT命令使用示例。

Wi-Fi功能

AT+QSTAAPINFO=testssid,123456789 //设置模块为STA模式并连接AP热点。

OK

+QSTASTAT:WLAN_CONNECTED //网络连接成功。
+QSTASTAT:GOT_IP
AT+QSOFTAP=testap,12345678 //设置模块为AP模式。

OK

BLE功能

外围设备角色

建立连接过程中接受建立一个活跃的物理连接请求的LE设备定义为外围设备角色,外围设备角色在连接状态下的链路层中是从机角色。

配置模块为外围设备
AT+QBLEINIT=2 //模块为外围设备进行BLE初始化。

OK
AT+QBLENAME=QuecFC41D //设置BLE名称。

OK
AT+QBLEADDR? //查询并获取BLE设备地址。
+QBLEADDR:c8:47:8c:42:00:49

OK
AT+QBLEGATTSSRV=fff1 //创建BLE服务并设置服务UUID为fff1。

OK
AT+QBLEGATTSCHAR=fff2 //设置GATT特征值UUID为fff2。

OK
AT+QBLEGATTSCHAR=fff3 //设置GATT特征值UUID为fff3。

OK
AT+QBLEADVPARAM=150,150 //设置BLE广播参数。

OK
AT+QBLEADVSTART //开启BLE广播。

OK
nRF Connect连接
  1. 点击"SCAN"扫描外围设备,在扫描结果中选择"QuecFC41D"设备并点击"CONNECT"进行连接,如下图所示:

    扫描结果

  2. 连接成功后显示"CONNECTED",在"CLIENT"会显示已添加的UUID。如下图所示:

    连接成功

nRF Connect给模块发送数据
  1. 选择一个可以编辑的特征值,并点击向上的箭头,如下图所示:

    编辑特征值

  2. 在对话框中选择数据格式TEXT,输入需要发送的数据,然后点击"SEND"进行发送,如下图所示:

    发送数据

  3. 发送成功后,在QCOM串口工具中收到设备发送的数据。

    from phone
    
模块给nRF Connect发送数据
  1. 打开UUID 0xFFF3的通知功能,使用QCOM串口工具发送数据:

    AT+QBLEGATTSNTFY=fff3,from fc41d
    
    OK
    
  2. nRF Connect UUID 0xFFF3显示接收的数据,如下图所示:

    0xFFF3显示的接收数据

中心设备角色

建立连接过程中发起建立活跃物理连接请求的LE设备定义为中心设备角色,中心设备角色在连接状态下的链路层中是主机角色。

配置模块为中心设备
AT+QBLEINIT=1 //模块为中心设备进行BLE初始化。

OK
AT+QBLESCAN=1 //打开BLE扫描。

OK

+QBLESCAN:HTV33,1,90d4c4c51a65
AT+QBLESCAN=0 //关闭BLE扫描。

OK
AT+QBLECONN=1,90d4c4c51a65 //连接外围设备。

OK
+QBLESTAT:CONNECTED
+QBLEMTU:<512>
+QBLEINFO:3 2a05
+QBLEINFO:22 2a00
+QBLEINFO:24 2a01
+QBLEINFO:26 2aa6
+QBLEINFO:42 fff2
nRF Connect配置
服务配置
  1. 打开nRF Connect,点击"Configure GATT server",如下图所示:

    服务配置

  2. 添加一个名为"FC41D"的配置,设置Service UUID为0xFFF1,设置Characteristic UUID为0xFFF2,如下图所示:

    配置相关UUID值

广播配置
  1. 选择"ADVERTISER",点击右下角加号,如下图所示:

    添加广播

  2. 在"Display name"中输入"FC41D",在"Options"选项中勾选"Connectable",然后点击"OK",如下图所示:

    广播配置

  3. 广播配置完成,开始广播。此外,用户可以手动设置播放时长,如下图所示:

    手动设置播放时长-1
    手动设置播放时长-2

nRF Connect给模块发送数据
  1. 选择一个可以编辑的特征值,并点击向上的箭头,如下图所示:

    编辑特征值

  2. 在对话框中选择数据格式TEXT,输入需要发送的数据,然后点击"SEND"进行发送,如下图所示:

    发送数据

  3. 发送成功后,在QCOM串口工具中收到设备发送的数据:

    from phone
    
模块给nRF Connect发送数据
  1. 打开UUID 0xFFF2的通知功能,使用QCOM串口工具发送数据:

    AT+QBLEGATTCWR=fff2,from fc41dr
    
    OK
    
  2. nRF Connect UUID 0xFFF2显示接收的数据,如下图所示:

    0xFFF2显示的接收数据

蓝牙配网

蓝牙配网准备工作

准备两个模块,分别为模块A和模块B。将模块A配置为外围设备,模块B配置为中心设备,然后将模块A连接至模块B。

配置模块A为外围设备配网模式
AT+QBLENAME=Quec_FC41D //设置模块名称。

OK
AT+QBLEINIT=3 //模块为外围设备进行蓝牙配网。

OK
配置模块B为中心设备

打开QCOM工具,选择"COM Port",点击"Open Port",然后重置FC41D模块。

AT+QBLEINIT=1 //模块为中心设备进行BLE初始化。

OK
AT+QBLESCAN=1 //打开BLE扫描。

OK

+QBLESCAN:Quec_FC41D,0,bcd10cf0fb80
AT+QBLESCAN=0 //关闭BLE扫描。

OK
AT+QBLECONN=0,bcd10cf0fb80 //连接外围设备。

OK
蓝牙配网

模块B通过AT+QBLEGATTCWR=<UUID>,<data>配置Wi-Fi。<data>配置为Wi-Fi相关AT命令,若配置的AT命令中有多个参数,需在","前加上"\"。例如:AT+QBLEGATTCWR=<UUID>,AT+QSTAAPINFO=<SSID>\,<pwd>

AT+QBLECFGMTU? //查询BLE最大传输单元。

+QBLEMTU:<512>

OK
AT+QBLEGATTCWR=ff01,AT+QWSCAN //通过BLE发送AT+QWSCAN。

OK

+QWSCAN:"Quectel-Customer-2.4G",WPA2_MIXED_PSK,32,f0:9b:b8:32:94:b0,9
+QWSCAN:"Quectel-HF-2.4G",UNKNOWN,32,f0:9b:b8:32:94:b2,9
+QWSCAN:"Quectel-HF",UNKNOWN,32,f0:9b:b8:32:94:b3,9
+QWSCAN:"ST_ShortRange",WPA2_AES_PSK,29,e0:d4:62:13:93:30,6
+QWSCAN:"hellowr",WPA2_AES_PSK,26,90:bd:e6:e3:66:9e,6
+QWSCAN:"Quectel-HF",UNKNOWN,21,f0:9b:b8:33:18:b3,13
+QWSCAN:"Quectel-HF-2.4G",UNKNOWN,23,f0:9b:b8:33:21:f2,1

OK
AT+QBLEGATTCWR=ff01,AT+QSTAAPINFO=Quectel-SH\,*******
//通过BLE连接AP热点。

OK
AT+QSTAAPINFO=Quectel-SH,*******

OK

+QSTASTAT:WLAN_CONNECTED
+QSTASTAT:GOT_IP

TCP/UDP功能

透传模式

以下为打开/关闭透传模式下TCP/UDP客户端相关示例。

AT+QIOPEN=0,"TCP","192.0.2.2",8252,2020,2 //打开TCP客户端。

CONNECT

//输入数据
+++ //退出透传模式。

OK
ATO //再次进入透传模式。

CONNECT
//输入数据
+++ //退出透传模式。

OK
AT+QICLOSE=0 //关闭TCP客户端。

OK

+QIURC: "closed",0

以下为透传模式下TCP/UDP客户端异常断开时的相关示例。

AT+QIOPEN=0,"TCP","192.0.2.2",8252,2020,2 //打开TCP客户端。

CONNECT
//输入数据
NO CARRIER //连接被异常被断开。

非透传模式

下面的例子,展示了如何通过命令方式读取TCP/UDP数据。

AT+QIOPEN=0,"TCP","192.0.2.2",8252,2020,0 //打开TCP客户端,收到数据以命令方式读取。

OK

+QIOPEN: 0,0
AT+QISEND=0,10,"1234567890"

+QISEND: 10

OK

+QIURC: "recv",0 //收到新数据的提示。
AT+QIRD=0,10 //读取新数据。

+QIRD: 10

0123456789

OK
AT+QICLOSE=0 //关闭TCP客户端。

OK

+QIURC: "closed",0
AT+QIOPEN=1,"UDP SERVICE","192.0.2.2",8252,2020,0 //建立UDP服务,收到数据以命令方式读取。

OK

+QIOPEN: 1,0
AT+QISEND=1,10,"1234567890","192.0.2.2",8252

+QISEND: 10

OK

+QIURC: "recv",1 //收到新数据的提示。
AT+QIRD=1,10 //读取新数据。

+QIRD: 10,"192.0.2.2",8252

0123456789

OK
AT+QICLOSE=1 //关闭UDP服务。

OK

+QIURC: "closed",1

以下为通过URC方式上报TCP/UDP收到新数据的相关示例。

AT+QIOPEN=0,"TCP","192.0.2.2",8252,2020,1 //打开TCP客户端,收到新数据以URC方式上报。

OK

+QIOPEN: 0,0
AT+QISEND=0,10,"1234567890"

+QISEND: 10

OK

+QIURC: "recv",0,10 //收到新数据的提示。

0123456789
AT+QICLOSE=0 //关闭TCP客户端。

OK

+QIURC: "closed",0
AT+QIOPEN=1,"UDP SERVICE","192.0.2.2",8252,2020,1 //建立UDP服务,收到新数据以URC方式上报。

OK

+QIOPEN: 1,0
AT+QISEND=1,10,"1234567890","192.0.2.2",8252

+QISEND: 10

OK

+QIURC: "recv",1,10, "192.0.2.2",8252 //收到新数据的提示。

0123456789
AT+QICLOSE=1 //关闭UDP服务。

OK

+QIURC: "closed",1

SSL功能

以下为SSL单向认证时,通过URC上报进行数据的收发的示例。

AT+QSSLCFG="verify",1,1 //设置为单向认证。

OK
AT+QSSLCFG="verify",1 //查询设置是否成功。

+QSSLCFG: "verify",1,1

OK
AT+QSSLCERT="CA",2,1657 //上传CA证书。

CONNECT

-----BEGIN CERTIFICATE-----
MIIE5TCCA02gAwIBAgIJAP5uWtPRe+IxMA0GCSqGSIb3DQEBCwUAMIGHMQswCQYD
VQQGEwJDTjELMAkGA1UECAwCQUgxCzAJBgNVBAcMAkhGMRwwGgYDVQQKDBNEZWZh
dWx0IENvbXBhbnkgTHRkMRgwFgYDVQQDDA8yMjAuMTgwLjIzOS4yMTIxJjAkBgkq
hkiG9w0BCQEWF2VkZGllLnpoYW5nQHF1ZWN0ZWwuY29tMCAXDTIxMDEyNzAzMzk0
M1oYDzIxMjEwMTAzMDMzOTQzWjCBhzELMAkGA1UEBhMCQ04xCzAJBgNVBAgMAkFI
MQswCQYDVQQHDAJIRjEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDEYMBYG
A1UEAwwPMjIwLjE4MC4yMzkuMjEyMSYwJAYJKoZIhvcNAQkBFhdlZGRpZS56aGFu
Z0BxdWVjdGVsLmNvbTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBANf3
w0ep+Sv4qDjhafwc3wiaGdzwAXOsRgfGgBEGYL5MuPbpzjERo21yHae6Tx19DIUt
g6hgW5N/bvDqXLbEMChy9b8aNl62+Y6O35Tya2hoz4XXQkrPkRXvlP2eonjPMfQB
Yu4wtAfNKPa10MJF8qjFI7WWBpcQMpoQvt/SekoD6IyxgRu8ApjtmJicvvWu3BqW
W93MZqLhSFf57pKLQEhgskpl/gb+rLiUwObMTRM948J04NoYBx1jwMZLNEFs6os6
91J8B5oHlgQAsgcXjoXORxncgt2d/fZyr9NjVevc/GIkcbfVAAWohFCQmjpgLESW
iTPaRlLyeLLjTb+WrSOKosinVH+1R8ozfBnkzO+tf9lpBzdP9QCDYzNQeU4Xp0wJ
8Neo5tA4tioDEZjkbsHL+bVvssqOwfupR9b03Z2ZLfgEzs3TwYbPB7ULJQrdqe9x
QtpaFSsDeyKJ6CR8yEHz5d0lypPeRLCjZGb49Yo3FKhMdzP+ZMT+Ku001cr4GwID
AQABo1AwTjAdBgNVHQ4EFgQU4FfBsWrgpoGtvuF+3XN9kbUx0yUwHwYDVR0jBBgw
FoAU4FfBsWrgpoGtvuF+3XN9kbUx0yUwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B
AQsFAAOCAYEAqfVX0LhhxYZ/KsC9jhWYHgmYggVcsTa7AtZsNKW79TLmz98iWdfM
wpi44rwbn1Xek5pDH/rimaJuwxcX8Q4cFHqeQJStRkcuU6CgyurVBpjGWRv5qt3W
nJc/z92x3TPzW1VJv5rXj4pzX9N4hlAHGGzFBm+VMAexS006/dksGa9uEKE/2A0+
9W/V9YbcjhejdENiRAvJB4J0QsOrNUjsH5bPEa3CxdXbKOQzGjJtS7f0BH38Fmyi
C+Cui8U0c+BwRGY3HXL7ANhCe0vdUbUGCG2L6byRvf1TIkuGpi0RxtQfEF3sTDH5
jAot50rJhbckQyLH0xkIOQ9qmU/gbt/wgoZ9AzUVIyh0RsyWo19BGz2DpsuYNBXD
4jqL4NMqsyGRq5YUTrJlIi9PVUp176Ec79xSffvUbitiq9fMmxuhsRbkP4piM1TE
D5oXKPme86RvR1/foRqAdbJg5RPYdah3LdOlAE2HePVy6b0xQ5dcCHaqHmR2SVlY
m7TQs6tfvfhy
-----END CERTIFICATE-----

OK //上传完成。
AT+QSSLOPEN=1,1,"192.0.2.0",12000 //建立SSL连接。

OK

+QSSLOPEN: 1,0
AT+QSSLSTATE //查看连接状态。

+QSSLSTATE: 1,"SSL CLIENT","192.0.2.0",12000,6601,2

OK
AT+QISWTMD=1,1 //切换数据访问模式为直吐模式。

OK

AT+QSSLSEND=1,6,"123456" //发送数据。
+QSSLSEND: 6

OK

+QSSLURC: "recv",1,6 //URC上报接收到的服务器数据。

123456
AT+QSSLCERT="CA",0 //删除证书。

OK
AT+QSSLCLOSE=1,1 //关闭SSL连接。

OK

+QSSLURC: "closed",1

MQTT功能

AT+QMTCFG="version",1,4 //配置MQTT协议版本为V4。

OK
AT+QMTOPEN=1,"192.0.2.0",8306 //与MQTT服务器建立会话连接。

OK

+QMTOPEN: 1,0
AT+QMTCONN=1,"client1","test","test" //建立MQTT连接。

OK

+QMTCONN: 1,0,0
AT+QMTSUB=1,1,"quectel",1 //订阅"quectel"主题的消息。

OK

+QMTSUB: 1,1,0,1
//直吐方式
AT+QMTPUB=1,1,1,0,"quectel",3,"123" //发布主题为"quectel"的消息。

OK

+QMTPUB: 1,1,0

+QMTRECV: 1,1,"quectel",3,"123" //接收到主题为"quectel"的消息。
//发送十六进制消息
AT+QMTPUBRAW=1,1,1,0,"quectel",6
>
d0 01 02 03 f4 f5 //接收到>后发送十六进制数据。

OK

+QMTPUB: 1,1,0

+QMTRECV: 1,1,"quectel",6,"d0 01 02 03 f4 f5" //接收到主题为"quectel"的十六进制消息。
//缓存方式
AT+QMTCFG="recv/mode",1,1

OK
AT+QMTPUB=1,1,1,0,"quectel",4,"3132" //发布主题为"quectel"的消息。

OK

+QMTPUB: 1,1,0

+QMTRECV: 1,0
AT+QMTRECV=1,0

+QMTRECV: 1,1,"quectel",4,"3132"

OK
AT+QMTPUBRAW=1,1,1,0,"quectel",6
>
d0 01 02 03 f4 f5 //接收到>后发送十六进制数据。

OK

+QMTPUB: 1,1,0
+QMTRECV: 1,1
AT+QMTRECV=1,1

+QMTRECV: 1,2,"quectel",6,"d0 01 02 03 f4 f5"

OK
AT+QMTUNS=1,1,"quectel" //取消订阅"quectel"主题的消息。

OK

+QMTUNS: 1,1,0
AT+QMTDISC=1 //断开MQTT连接。

OK

+QMTDISC: 1,0

HTTP(S)功能

//发送HTTP(S) GET请求的示例
//第一步:设置URL
AT+QHTTPCFG="url","http://www.example.com"

OK
//第二步:发送GET请求
AT+QHTTPGET=120 //打开网页。

OK

+QHTTPGET: 0,200
//第三步:读取响应数据
AT+QHTTPREAD=60 //读取响应数据。

CONNECT

<html>
<head>
    <script>
        location.replace(location.href.replace("https://","http://"));
    </script>
</head>
<body>
<noscript><meta http-equiv="refresh" content="0;url=http://www.example.com/">
......................
OK

+QHTTPREAD: 0
//发送HTTP(S) POST请求的示例。
//第一步:设置URL
AT+QHTTPCFG="url","http://example/study_log/"

OK
//第二步:发送POST请求
AT+QHTTPPOST=1024,120,120,"file","test.txt","text/plain"
//POST方式上传Form-data形 式文件。

CONNECT
//输入文件内容,达到<body_length>后退出数据模式。

OK

+QHTTPPOST: 0,200,1538
//第三步:读取响应数据
AT+QHTTPREAD=60 //读取响应数据。

CONNECT

<html>
<head>
......................
OK

+QHTTPREAD: 0
//HTTP(S) PUT的例子
//第一步:设置URL
AT+QHTTPCFG="url","http://example/test.txt"

OK
//第二步:发送PUT请求
AT+QHTTPPUT=1024,120,120 //PUT方式上传文件。

CONNECT
//输入文件内容,达到<body_length>后退出数据模式

OK

+QHTTPPUT: 0,200,1538
//第三步:读取响应数据
AT+QHTTPREAD=60 //读取响应数据。

CONNECT

<html>
<head>
......................
OK

+QHTTPREAD: 0
//自定义Header的例子
//通过自定义Header: Range: bytes=x-x,实现HTTP断点下载的功能
AT+QHTTPCFG="header","Range","bytes=0-511"

OK
AT+QHTTPCFG="url","http://example.txt"

OK
AT+QHTTPGET=60

OK

+QHTTPGET: 0,200,512
AT+QHTTPREAD=60 //读取响应数据。

CONNECT
//数据

OK

+QHTTPREAD: 0

GPIO功能

AT+QGPI0CFG=?

+QGPIOCFG:<mode>,<pin>,<dir>,<pul>,<drv>/<val>

OK
AT+QGPI0CFG=1,22,1,0,3 //配置引脚22为输出,驱动电流20 mA。

OK
AT+QGPIOCFG=2,22 //查询引脚22电平状态。

+QGPIOCFG: 0

OK
AT+QGPI0CFG=3,22,1 //将引脚22拉高。

OK

结果码

TCP/UDP/SSL结果码:

结果码 英文描述 中文描述
0 Operation success 操作成功
550 Invalid parameter 参数无效
551 Unknown error 未知错误
552 Memory not enough 内存不足
553 Socket ID has been used Socket ID被占用
554 Socket ID not exist Socket ID不存在
555 Socket allocate failed Socket分配失败
556 Operation not allowed 操作不允许
557 Operation not supported 操作不支持
558 No network 网络异常
559 No certificate 未认证
560 Operation busy 操作繁忙
561 Operation timeout 操作超时
562 Socket write failed Socket写失败
563 Socket read failed Socket读失败

HTTP(S)结果码:

结果码 英文描述 中文描述
0 Operation success 操作成功
1 Invalid parameter 参数无效
2 Unknown error 未知错误
3 Memory not enough 内存不足
4 Socket failure Socket异常
5 Operation not supported 操作不支持
6 Operation not allowed 操作不允许
7 No network 没有联网
8 Lack of SSL Cert 缺少SSL证书
9 Response timeout 等待响应超时
10 Body wait timeout 等待输入HTTP(S)消息主体超时

HTTP(S)状态码:

状态码 英文描述 中文描述
200 OK 操作成功
204 No Content 请求成功但无返回内容
301 Moved Permanently 资源永久重定向
302 Found 资源临时重定向
400 Bad Request 错误请求
401 Unauthorized 未认证或认证失败
403 Forbidden 权限不足
404 Not Found 资源不存在
500 Internal Server Error 服务器内部未知错误
502 Bad Gateway 网关服务器收到无效响应
504 Gateway Timeout 网关未及时获取后端响应

附录

术语缩写:

缩写 英文全称 中文全称
ACK Acknowledgement 确认消息
AP Access Point 接入点
BLE Bluetooth Low Energy 蓝牙低功耗
BSSID Basic Service Set Identifier 基本服务集标识符
DHCP Dynamic Host Configuration Protocol 动态主机设置协议
DNS Domain Name Server 域名系统(服务)协议
GATT Generic Attribute Profile 通用属性协议
GPIO General Purpose Input/Output 通用输入输出
MAC Medium Access Control 媒体访问控制
MQTT Message Queuing Telemetry Transport 消息队列遥测传输
MTU Maximum Transmission Unit 最大传输单元
HTTP Hyper Text Transfer Protocol 超文本传输协议
HTTPS Hypertext Transfer Protocol Secure 超文本传输安全协议
ID Mostly refers to Identifier in terms of software 软件中多数指"标识符"
IP Internet Protocol 网际互连协议
NTP Network Time Protocol 网络时间协议
OTA Over-the-Air Techology 空中下载技术
PSK Pre-Shared Key 预共享密钥
QoS Quality of Service 服务质量
SNI Server Name Indication 服务器名称显示
STA Station 站点
SSID Service Set Identifier 服务集标识符
SSL Secure Sockets Layer 安全套接层
TA Terminal Adapter 终端适配器
TCP Transmission Control Protocol 传输控制协议
TLS Transport Layer Security 传输层安全(协议)
TTL Time To Live 存活时间
UDP User Datagram Protocol 用户数据报协议
URC Unsolicited Result Code 非请求结果码
UTC Coordinated Universal Time 协调世界时
UUID Universally Unique Identifier 通用唯一识别码