# 指令详细
本文将详细描述每个AT指令的语法格式,功能及使用。若无特别说明,某指令仅适用于Wi-Fi模式。
所有指令均为立即生效,无需特殊指令进行保存,AT指令可以通过超级终端等串口调试程序进行输入,也可以通过编程输入。
#AT指令格式
AT+
指令采用基于ASCII码的命令行,格式如下:
#说明
- a)<>:表示必须包含的部分
- b)[]:表示可选的部分
#命令格式
AT+<CMD>[op][para-1,para-2,para-3,......]\r
a) AT+:
命令消息前缀
b) CMD:
指令字符串
c) [op]:
指令操作符。可以是:
- "=": 表示参数设置,或查询指定参数
- "?": 表示查询系统参数
- "无": 表示执行指令
- "=?": 表示查询用户设置的参数
d) [para-n]:
表示设置的参数值,或指定查询的参数
e) \r
:回车结束符,ASCII码0x0d
#回应消息格式
[\r\n][+CMD:][para-1,para-2,para-3,......]\r\n<STATUS>\r\n
a)\r:
:回车结束符,ASCII码:0x0d
b)\n
:换行符,ASCII码:0x0a
c)[+CMD:]
:相应的命令字符串
d)[para-n]
:查询时返回的参数
e)[STATUS]
:指令执行成功与否,有两种情况:
OK
:表示正确执行;ERROR
:表示执行出错。
#EVENT格式
EVENT描述当前Wi-Fi/BT功能和网络连接状态,例如:STA、AP连接状态,TCP、UDP连接情况,RFCOMM的连接情况等。
事件消息格式:
\r\n+<TYPE>:[para-1,para-2,para-2,...,para-n]\r\n
<TYPE>
:事件类型,包括:WEVENT,表示WiFi功能通知;CIPEVENT,表示网络连接通知,BTEVENT表示BT/RFCOMM的连接通知(仅EMW3239支持)。[para-n]
:事件参数,详见“EVENT事件通知”小节\r
:回车符,ASCII码0x0d\n
:换行符,ASCII码0x0a
#基础版AT指令
具体指令及返回的消息格式,请参考上节中“AT指令格式”。
以下指令介绍中,不再添加重复的格式内容,如:\r\n
#一、系统AT指令
序号 | 命令 | 功能 |
1 | (opens new window)AT+FWVER | 查询固件版本号 |
2 | (opens new window)AT+SYSTIME | 查询系统运行时间 |
3 | (opens new window)AT+MEMFREE | 查询系统剩余存储空间大小 |
4 | (opens new window)AT+FACTORY | 恢复模组出厂设置 |
5 | (opens new window)AT+REBOOT | 重启模组 |
6 | (opens new window)AT+FLASHLOCK | 关闭或打开Flash锁 |
7 | (opens new window)AT+WEVENT | 打开或关闭事件消息通知(通知前缀:+WEVENT) |
8 | (opens new window)AT+CIPEVENT | 打开或关闭事件消息通知(前缀:+CIPEVENT) |
9 | (opens new window)AT+STANDBY | 进入睡眠模式 |
#AT+FWVER
功能:查询固件版本号。
指令: | AT+FWVER? |
HEX: | 41 54 2B 46 57 56 45 52 3F 0D |
响应: | +FWVER:<fwver> |
参数: | fwver:固件版本号 |
#AT+SYSTIME
功能:查询系统运行时间。
指令: | AT+SYSTIME? |
HEX: | 41 54 2B 53 59 53 54 49 4D 45 0D |
响应: | +SYSTIME:<systime> |
OK | |
参数: | systime:系统运行时间,单位:毫秒(ms) |
#AT+MEMFREE
功能:查询系统剩余空间大小。
指令: | AT+MEMFREE? |
HEX: | 41 54 2B 4D 45 4D 46 52 45 45 3F 0D |
响应: | +MEMFREE:<storage> |
OK | |
参数: | storage:存储空间大小,单位:字节(Byte) |
#AT+FACTORY
功能:恢复模块出厂设置。
指令: | AT+FACTORY |
HEX: | 41 54 2B 46 41 43 54 4F 52 59 0D |
响应: | OK |
参数: | 无 |
说明: | 立即重启,生效 |
#AT+REBOOT
功能:重启模块。
指令: | AT+REBOOT |
HEX: | 41 54 2B 52 45 42 4F 4F 54 0D |
响应: | OK |
参数: | 无 |
#AT+FLASHLOCK
功能:FLASH锁指令
查询指令: | AT+FLASHLOCK? |
HEX: | 41 54 2B 46 4C 41 53 48 4C 4F 43 4B 3F 0D |
响应: | +FLASHLOCK:<mode> |
OK | |
参数: | 请参考设置指令参数 |
设置指令: | AT+FLASHLOCK=<mode> |
响应: | OK |
参数: | mode:ON:开启;OFF:关闭;开启FLASHLOCK后,参数将不再保存 |
#AT+WEVENT
功能:开启或关闭以+WEVENT为前缀的事件消息通知。
查询指令: | AT+WEVENT? |
HEX: | 41 54 2B 57 45 56 45 4E 54 3F 0D |
响应: | +WEVENT=<state> |
OK | |
参数: | 请参考设置指令参数 |
设置指令: | AT+WEVENT=<state> |
响应: | OK |
参数: | state:ON,表示开启通知功能;OFF,表示关闭通知功能。 |
说明: | 立即生效。 |
#AT+CIPEVENT
功能:开启或关闭以+CIPEVENT为前缀的事件消息通知。
查询指令: | AT+CIPEVENT? |
HEX: | 41 54 2B 43 49 50 45 56 45 4E 54 3F 0D |
响应: | +CIPEVENT=<state> |
OK | |
参数: | 请参考设置指令参数 |
设置指令: | AT+CIPEVENT=<state> |
响应: | OK |
参数: | state:ON,表示开启CIPEVENT通知功能;OFF,表示关闭CIPEVENT通知功能。 |
说明: | 立即生效。注意:用户若采用“透传工作模式,必须首先关闭该事件通知功能。 |
#AT+STANDBY
功能:进入模块休眠工作模式,需STANDBY管脚唤醒,可参考相应型号模块的数据手册管脚定义内容。
查询指令: | AT+STANDBY |
HEX: | 41 54 2B 53 54 41 4E 44 42 59 0D |
响应: | OK |
参数: | 无 |
说明: | 立即生效。必须使用STANDBY管脚进行唤醒后,才能响应AT指令。 |
#AT+HOSTNAME
功能:设置模块在路由器下显示的名字,最长32字节,A270版本增加。
查询指令: | AT+HOSTNAME=? |
HEX: | 41 54 2B 48 4F 53 54 4E 41 4D 45 3D 3F 0D |
响应: | +HOSTNAME:<hostname> |
OK | |
参数: | 请参考设置指令参数 |
设置指令: | AT+HOSTNAME=<hostname> |
响应: | OK |
参数: | hostname是不超过32字节的字符串,用于在路由器后台显示的名称。 |
说明: | 连接WiFi前配置生效。 |
#AT+WIFILED
功能:配置WiFi连接状态的LED指示灯的IO。
查询指令: | AT+WIFILED=? |
响应: | +WIFILED:OFF 或者+WIFILED:<数字> |
OK | |
参数: | 请参考设置指令参数 |
设置指令: | AT+WIFILED=<IO> |
响应: | OK |
参数: | IO是一个数字,如果IO小于0就表示关闭WiFi LED功能,WiFi状态不会通过IO指示。 如果是大于0的一个数字,则打开WiFi LED功能。比如对于emc3080来说这里配置为AT+WIFILED=12,表示PA_12脚用于指示WiFi连接状态。 当Station连接成功,则PA_12输出高电平;当Station断开,则PA_12输出低电平。 |
说明: | WiFi连接状态的指示。 |
#AT+TCPIPLED
功能:配置TCPIP连接状态的LED指示灯的IO。
查询指令: | AT+TCPIPLED=? |
响应: | +TCPIPLED:OFF 或者+TCPIPLED:<数字> |
OK | |
参数: | 请参考设置指令参数 |
设置指令: | AT+TCPIPLED=<IO> |
响应: | OK |
参数: | IO是一个数字,如果IO小于0就表示关闭TCPIP LED功能,TCPIP状态不会通过IO指示。 如果是大于0的一个数字,则打开TCPIP LED功能。比如对于emc3080来说这里配置为AT+TCPIPLED=13,表示PA_13脚用于指示TCPIP的连接状态。 TCPIP一共可以创建5条连接,这里用于指示配置为TCP_CLIENT,SSL_CLIENT和TCP_SERVER的状态,不关心UDP的状态。只要5条连接有任意一条连接建立成功,就输出高电平;如果所有的连接都没有建立连接,则输出低电平。TCP_SERVER至少有一个Client则视为有建立连接。 |
说明: | TCPIP连接状态的指示。 |
#二、UART管理指令
序号 | 命令 | 描述 |
1 | (opens new window)AT+UART | 查询/设置UART串口参数 |
2 | (opens new window)AT+UARTFOMAT | 查询/设置UART自动触发长度和触发时间 |
3 | (opens new window)AT+UARTE | 查询/设置UART串口回显状态 |
#AT+UART
功能:查询/设置串口参数。
查询指令: | AT+UART? |
HEX: | 41 54 2B 55 41 52 54 3F 0D |
响应: | +UART:<baud_rate>,<data_bits>,<stop_bit>,<parity>,<flow_control>] |
OK | |
参数: | 请参考设置指令参数 |
设置指令: | AT+UART=<baud_rate>,<data_bits>,<stop_bit>,<parity>,<flow_control> |
响应: | OK |
参数: | band_rate:波特率,可以是:4800,9600,14400,19200,38400,57600,115200,230400,460800,921600bps |
data_bits:数据位,可以是:7,8 | |
stop_bit:停止位,可以是:1,2 | |
parity:校验位,可以是:NONE:无校验;ODD:奇校验; EVEN:偶校验 | |
flow_control:流控,可以是:NONE:无流控; CTS:使能CTS流控; RCS:使能RTS流控; CTSRTS:使能CTSRTS流控 | |
说明: | 重启生效 |
#AT+UARTFOMAT
功能:查询/设置自动成帧触发长度和触发时间(Wi-Fi/BT均支持)
查询指令: | AT+UARTFOMAT? |
HEX: | 41 54 2B 55 41 52 54 46 4F 4D 41 54 3F 0D |
响应: | +UARTFOMAT:<length>,<time> |
OK | |
参数: | 请参考设置指令参数 |
设置指令: | AT+UARTFOMAT=<length>,<time> |
响应: | OK |
参数: | length:自动成帧触发长度,单位:Byte, 范围:1-1024,默认:1024。 |
time:自动成帧触发时间,单位:ms, 范围:50-500,默认:100。 | |
说明: | 在命令控制模式下,自动成帧触发长度的最小值是65,立即生效。 |
#AT+UARTE
功能:查询/设置串口指令是否开启回显功能。
查询指令: | AT+UARTE? |
HEX: | 41 54 2B 55 41 52 54 45 3F 0D |
响应: | UARTE:<option> |
OK | |
参数: | 请参考设置指令参数 |
设置指令: | AT+UARTE=<option> |
响应: | OK |
参数: | option:ON,表示开启回显功能;OFF,表示关闭回显功能。 |
说明: | 立即生效。 |
#三、WiFi管理指令
序号 | 命令 | 描述 |
1 | (opens new window)AT+WFVER | 查询射频固件版本号 |
2 | (opens new window)AT+WMAC | 查询MAC地址 |
3 | (opens new window)AT+WSCANOPT | 查询/设置WiFi扫描类型 |
4 | (opens new window)AT+WSCAN | 启动WiFi扫描功能 |
5 | (opens new window)AT+WDHCP | 查询/设置是否使能DHCP功能 |
6 | (opens new window)AT+WSAPIP | 查询/设置Soft_AP模式的IP地址,子网掩码和网关 |
7 | (opens new window)AT+WSAP | 查询/设置Soft_AP模式的名称和密码,并启动AP |
8 | (opens new window)AT+WSAPQ | 关闭AP |
9 | (opens new window)AT+WSAPS | 查询当前AP状态 |
10 | (opens new window)AT+WJAPIP | 查询/设置Station模式的IP地址,子网掩码和网关 |
11 | (opens new window)AT+WJAP | 查询/设置Station模式AP名称和密码,并连接AP |
12 | (opens new window)AT+WJAPQ | 断开AP的连接 |
13 | (opens new window)AT+WJAPS | 查询当前Station连接状态 |
#AT+WFVER
功能:查询射频驱动版本
指令: | AT+WFVER? |
HEX: | 41 54 2B 57 46 56 45 52 3F 0D |
响应: | +WFVER:<fver> |
OK | |
参数: | fver:射频固件版本 |
说明: | 立即生效。 |
#AT+WMAC
功能:查询模块MAC地址
指令: | AT+WMAC? |
HEX: | 41 54 2B 57 4D 41 43 3F 0D |
响应: | +WMAC:<mac> |
OK | |
参数: | mac:模块的MAC地址 |
说明: | MAC地址格式:XX:XX:XX:XX:XX:XX。立即生效。 |
#AT+WSCANOPT
功能:查询/设置WiFi扫描类型
查询指令: | AT+WSCANOPT?\r |
HEX: | 41 54 2B 57 53 43 41 4E 4F 50 54 3F 0D |
响应: | +WSCANOPT:<option> |
OK | |
参数: | 请参考设置指令参数说明。 |
设置指令: | AT+WSCANOPT=<option> |
响应: | OK |
参数: | option:0,表示normal,普通扫描;1,表示advanced,高级扫描。 |
说明: | 普通扫描结果仅包含ssid和信号强度,高级扫描结果包含ssid,bssid,加密方式,信道和信号强度。立即生效。 |
#AT+WSCAN
功能:扫描指定ssid的或所有的AP
扫描指定ssid的AP | AT+WSCAN=<ssid> |
HEX: | 41 54 2B 57 53 43 41 4E 3D <指定SSID的HEX>0D |
响应: | 若扫描类型为普通扫描,即:option=0,返回:+WSCAN:<number>\r\n<ssid>,<rssi> |
若扫描类型为高级扫描,即:option=1,返回:+WSCAN:<number>\r\n<ssid>,<bssid>,<en>,<channe>,<rssi> | |
参数: | 请参考扫描所有AP指令参数。 |
扫描所有AP: | AT+WSCAN |
响应: | +WSCAN:<number> |
<ssid>,[bssid],[en],[channe],<rssi> | |
参数: | number:扫描到的AP的数目。普通扫描和高级扫描均打印该参数。 |
ssid:扫描到的AP的ssid。普通扫描和高级扫描均打印该参数 | |
bssid:扫描到的AP的bssid。当高级扫描时,打印该参数。 | |
en:扫描到的AP的加密方式。当高级扫描时,打印该参数。 | |
channel:扫描到的AP的信道。当高级扫描时,打印该参数。 | |
rssi:扫描到的AP的信号强度 | |
说明 | 立即生效。 |
#AT+WDHCP
功能:查询/设置是否开启DHCP功能
查询指令: | AT+WDHCP? |
HEX: | 41 54 2B 57 44 48 43 50 3F 0D |
响应: | +WDHCP:<option> |
参数: | 请参考设置指令参数 |
设置指令: | AT+WDHCP=<option> |
响应: | OK |
参数: | option:ON,表示启动DHCP功能;OFF,表示关闭DHCP功能 |
说明: | 立即生效 |
#AT+WSAPIP
功能:查询/设置模块在Soft_AP模式时的IP地址
查询状态只有在SoftAP有启动才会返回。
查询状态: | AT+WSAPIP? |
HEX: | 41 54 2B 57 53 50 49 50 3F 0D |
响应: | +WSAPIP:<ip>,<netmask>,<gateway> |
参数: | 请参考设置指令参数 |
查询配置是直接返回配置的IP地址。
查询配置: | AT+WSAPIP=? |
HEX: | 41 54 2B 57 53 50 49 50 3D 3F 0D |
响应: | +WSAPIP:<ip>,<netmask> |
参数: | 请参考设置指令参数 |
设置指令: | AT+WSAPIP=<ip>[,<netmask>,<gateway>] |
响应: | OK |
参数: | ip:Soft_AP的IP地址 |
netmask:子网掩码 | |
gateway:网关地址 | |
说明: | 立即生效。模块出厂各参数默认为0。 |
#AT+WSAP
功能:查询/设置Soft_AP的名称及密码,并启动。
查询指令: | AT+WSAP=? |
HEX: | 41 54 2B 57 53 41 50 3F 0D |
响应: | +WSAP:<ssid>,<key> |
参数: | 请参考设置指令参数 |
设置指令: | AT+WSAP=<ssid>,<key> |
响应: | OK |
参数: | ssid:Soft_AP的ssid名称,最大32位。 |
key:Soft_AP的密码,最大64位。当长度小于8位时,加密方式:OPEN。大于8位时,加密方式:WPA。 | |
说明: | 立即生效。模块出厂参数默认均为0。 |
#AT+WSAPQ
功能:关闭当前的Soft_AP模式。
指令: | AT+WSAPQ |
HEX: | 41 54 2B 57 53 41 50 51 |
响应: | OK |
参数: | 无 |
说明: | 立即生效。 |
#AT+WSAPS
功能:查看当前Soft_AP的启动状态。
指令: | AT+WSAPS |
HEX: | 41 54 2B 57 53 41 50 53 |
响应: | +WSAPS:<state> |
参数: | state:AP_UP,表示成功创建Soft_AP;AP_DOWN,表示该Soft_AP已关闭。 |
说明: | 立即生效。 |
#AT+WJAPIP
功能:查询/设置模块在Station模式时的IP地址。
查询状态指令只有在WiFi连接成功且Station有IP地址才会返回。
查询状态: | AT+WJAPIP? |
HEX: | 41 54 2B 57 4A 41 50 49 50 3F 0D |
响应: | +WJAPIP:<ip>,<network>,<gateway>,<dns> |
参数: | 请参考设置指令参数 |
查询配置指令是直接返回配置的IP地址,不一定是当前Station的IP地址。
查询配置: | AT+WJAPIP=? |
HEX: | 41 54 2B 57 4A 41 50 49 50 3D 3F 0D |
响应: | +WJAPIP:<ip>,<network>,<gateway>,<dns> |
参数: | 请参考设置指令参数 |
设置指令: | AT+WJAPIP=<ip>,<network>,<gateway>[,<dns>] |
响应: | OK |
参数: | ip:模块做Station时的IP地址 |
network:子网掩码 | |
gateway:网关地址 | |
dns:域名 | |
说明: | 模块重启生效。当模块未成功连接AP时,各参数默认为0。 |
#AT+WJAP
功能:查询已设置的,在Station模式,要接入的AP的名称和密码。
查询指令: | AT+WJAP=? |
HEX: | 41 54 2B 57 4A 41 50 3D 3F 0D |
响应: | +WJAP:<ssid>,<key> |
参数: | ssid:Station模式要接入的AP名称 |
key:Station模式要接入的AP密码 |
功能:查询当前WiFi连接状态,包括:接入的AP的SSID,MAC地址,通道号,信号强度。
查询指令: | AT+WJAP? |
HEX: | 41 54 2B 57 4A 41 50 3F 0D |
响应: | +WJAP:<ssid>,<bssid>,<channel>,<rssi> |
参数: | ssid:已连接的AP的ssid |
bssid:已连接的AP的MAC地址 | |
channel:已连接的AP的信道号 | |
rssi:已连接的AP的信号强度 | |
说明 | 当模块未成功连接AP时,各参数默认为0。 |
功能:设置Station模式要接入的AP的名称和密码。
设置指令: | AT+WJAP=<ssid>,<key> |
响应: | OK |
参数: | ssid:Station模式要接入的AP名称 |
key:Station模式要接入的AP密码 | |
说明: | 立即生效。 |
#AT+WJAPQ
功能:关闭当前的Station模式
指令: | AT+WJAPQ |
HEX: | 41 54 2B 57 4A 41 50 51 |
响应: | OK |
参数: | 无 |
说明: | 立即生效。 |
#AT+WJAPS
功能:查看当前Station模式的连接状态
指令: | AT+WJAPS |
HEX: | 41 54 2B 57 4A 41 50 53 0D |
响应: | +WJAPS:<state> |
参数: | state:STATION_UP,表示成功连接AP;STATION_DOWN,表示连接AP失败;CONNECTING,表示正在连接中。 |
注意:当未连接成功时,返回错误码。0:代表正常;1:代表密码错误;2:代表找不到SSID;3:代表未知的错误;-30代表当前连接WiFi信号的SSID未找到 | |
说明: | 立即生效。 |
#四、TCP和UDP通信指令
序号 | 指令 | 功能 |
1 | (opens new window)AT+SSLCERTGET | 获取SSL证书 |
2 | (opens new window)AT+SSLCERTSET | 设置SSL证书 |
3 | (opens new window)AT+CIPDOMAIN | 域名解析 |
4 | (opens new window)AT+CIPAUTOCONN | 查询/设置指定id连接是否为自动连接 |
5 | (opens new window)AT+CIPSSLOPT | 设置指定id连接的ssl参数 |
6 | (opens new window)AT+CIPSTART | 启动一个指定id的连接 |
7 | (opens new window)AT+CIPSTOP | 断开一个指定id的连接 |
8 | (opens new window)AT+CIPSTATUS | 查询指定id的连接状态 |
9 | (opens new window)AT+CIPSEND | 通过串口向指定id的连接发送数据 |
10 | (opens new window)AT+CIPSENDRAW | 指令模式跳转至透传模式 |
11 | (opens new window)AT+CIPRECV | 接收WiFi数据至用户串口 |
12 | (opens new window)AT+CIPRECVCFG | 查询/设置WiFi数据发送至用户串口,通过指令模式,还是透传模式 |
#AT+SSLCERTGET
功能:获取SSL证书类型。
指令: | AT+SSLCERTGET=<type> |
响应: | +SSLCERTGET:cert |
OK | |
参数: | type:0,代表根证书;1,代表客户端证书;2,代表私钥;3,代表证书吊销列表 |
说明: | 立即生效。 |
#AT+SSLCERTSET
功能:设置SSL证书类型。
指令: | AT+SSLCERTSET=<type> |
响应: | > |
参数: | type:0,代表根证书;1,代表客户端证书;2,代表私钥;3,代表证书吊销列表 |
说明: | 立即生效。返回>后,传递证书文件,在证书末尾追加Ctrl+Z(ASCII码是0x1A,不属于证书的一部分),作为证书传递结束符。 |
#AT+CIPDOMAIN
功能:域名解析。
指令: | AT+CIPDOMAIN=<domain> |
响应: | +CIPDOMAIN:<number> |
<ip> | |
参数: | number:IP地址的个数 |
ip:IP地址 | |
说明: | 立即生效。 |
#AT+CIPAUTOCONN
功能:查询/设置指定id连接是否为自动连接。
查询指令: | AT+CIPAUTOCONN=<id> |
响应: | +CIPAUTOCONN:<option> |
OK | |
参数: | 请参考设置指令参数 |
设置指令: | AT+CIPAUTOCONN=<id>,<option> |
响应: | OK |
参数: | id:指定连接的id号 |
option:0,表示关闭自动连接;1,表示开启自动连接。 | |
说明: | 立即生效。出厂默认为1。 |
#AT+CIPSSLOPT
功能:设置指定id连接的SSL参数。
设置指令: | AT+CIPSSLOPT=<id>,<isSSLRoot>,<isSSLClient>[,isSSLCrl] |
响应: | OK |
参数: | id:指定连接的id号 |
isSSLRoot:0,不验证根证书;1,验证根根证书 | |
isSSLClient:0,不验证客户端证书;1,验证客户端证书 | |
isSSLCrl:0,不验证证书吊销列表;1,验证证书吊销列表 |
#AT+CIPSTART
功能:启动一个连接
指令: | AT+CIPSTART=<id>,<type>,[domain],[remote_port],[local_port] |
响应: | OK |
参数: | id:指定连接的id号,范围:0-4,即最多可创建5个连接。 |
tpye:连接类型,包括:tcp_server,tcp_client,ssl_client,udp_broadcast,udp_unicast。分别如下: | |
---1.当type为tcp_server时,参数为:id,tcp_server,local_port; | |
---2.当type为tcp_client时,参数为:id,tcp_client,domain,remote_port[,local_port]; | |
---3.当type为ssl_client时,参数为:id,ssl_client,domain,remote_port[,local_port]; | |
---4.当type为udp_broadcast时,参数为:id,udp_broadcast,domain,remote_port,local_port; | |
---5.当type为udp_unicast时,参数为:id,udp_unicast,domain,remote_port,local_port。 | |
domain:目标服务器的IP或域名。当type为tcp_server时,不需要该参数。 | |
remote_port:远程端口。 | |
local_port:本地端口。当type为tcp_client或ssl_client时,该参数为指定本地端口 | |
说明: | 立即生效。注意:当前id的连接,如果不是关闭状态,再次设置并连接时,无法成功执行,返回:ERROR。更改任何一个id的参数前,必须要手动关闭,即执行指令:AT+CIPSTOP=id\r,才能正确设置并连接。 |
#AT+CIPSTOP
功能:断开一个指定id的连接。
指令: | AT+CIPSTOP=<id>[,<remote_port>] |
响应: | OK |
参数: | id:指定连接的id号。 |
说明: | 立即生效。 |
#AT+CIPSTATUS
功能:查询指定id的连接状态。
指令: | AT+CIPSTATUS=<id> |
响应: | +CIPSTATUS:<type>,<status> |
参数: | type:指定id的连接类型,包括:tcp_server,tcp_client,udp_broadcast,udp_unicast,ssl_client。 |
status:start,初始化;connecting,正在连接;connected,已经连接;disconnected,断开连接;close,停止连接 | |
说明: | 立即生效。 对于tcp_server,status的定义有点不一样。如果tcp_server关闭,则status返回时close;如果tcp_server打开,status用于返回当前所有client的数量和每个client的IP地址,端口号和server的端口号。 比如一个端口为1000的tcp_server下面没有client连接,则输出为:+CIPSTATUS:tcp_server,0 如果有一个连接,且对方的IP地址是192.168.1.100,端口是50001,则输出为: +CIPSTATUS:tcp_server,1 192.168.1.100,50001,1000 |
#AT+CIPSEND
功能:发送WiFi数据至用户串口。
指令: | AT+CIPSEND=<id>[,<remote_port>],<data_length>\r<data> |
响应: | +OK |
参数: | id:指定id的连接。 |
remote_port:连接的远程端口号。仅模块做tcpserver时需要指定远程端口号,其它socket类型不需指定。 | |
data_length:数据长度。单位:byte字节。 | |
data:数据内容。 | |
说明: | 立即生效。 |
示例: | AT+CIPSEND=0,54590,9\r123456789 |
AT+CIPSEND=1,9\r123456789 |
#AT+CIPSENDRAW
功能:由AT指令模式跳转至透传模式。
指令: | AT+CIPSENDRAW |
响应: | OK |
参数: | 无 |
说明: | 立即生效。 |
退出透传模式请输入+++ |
#AT+CIPRECV
功能:接收WiFi数据至用户串口。
指令: | AT+CIPRECV=<id>,<port>,<len> |
响应: | +CIPRECV=<len>,<data> |
OK | |
参数: | id:指定id号的连接 |
port:指定连接的远程端口号 | |
len:指定的数据接收长度,单位:byte字节 | |
data:数据 | |
说明: | 立即生效。 |
#AT+CIPRECVCFG
功能:查询/设置WiFi数据发送至用户串口的配置参数。
查询指令: | AT+CIPRECVCFG? |
响应: | +CIPRECVCFG:<recvmode> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+CIPRECVCFG=<recvmode> |
响应: | OK |
参数: | recvmode:0,表示cmd指令模式,需通过指令AT+CIPRECV接收;1,表示raw透传模式,表示自动接收。 |
说明: | 立即生效。 |
#AT+CIPCFGSAVE
功能:查询/设置是否保持TCPIP的参数,默认ON。
查询指令: | AT+CIPCFGSAVE=? |
响应: | +CIPCFGSAVE:<ON/OFF> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+CIPCFGSAVE=<ON/OFF> |
响应: | OK |
参数: | ON:打开参数保存,后面配置的CIP指令都会保存到Flash,重启会恢复。 OFF:关闭参数保持,之前的所有CIP参数会被清除,后续的配置指令也不会保存,重启后不会启动CIP。 |
说明: | 立即生效。 |
#五、MQTT通信指令
序号 | 指令 | 功能 |
1 | (opens new window)AT+MQTTAUTH | 查询/设置MQTT用户授权信息 |
2 | (opens new window)AT+MQTTSOCK | 查询/设置MQTTsocket信息 |
3 | (opens new window)AT+MQTTCAVERIFY | 查询/设置MQTT证书认证使能状态 |
4 | (opens new window)AT+MQTTSSL | 查询/设置MQTTSSL使能状态 |
5 | (opens new window)AT+MQTTCID | 查询/设置MQTT客户端标识符 |
6 | (opens new window)AT+MQTTKEEPALIVE | 查询/设置MQTT心跳周期 |
7 | (opens new window)AT+MQTTRECONN | 查询/设置MQTT自动重连使能状态 |
8 | (opens new window)AT+MQTTAUTOSTART | 查询/设置MQTT上电自动连接使能状态 |
9 | (opens new window)AT+MQTTEVENT | 查询/设置MQTT事件推送使能状态 |
10 | (opens new window)AT+MQTTSTART | 启动MQTT服务 |
11 | (opens new window)AT+MQTTSUB | 查询/设置MQTT订阅信息 |
12 | (opens new window)AT+MQTTPUB | 查询/设置MQTT发布信息 |
13 | (opens new window)AT+MQTTSEND | MQTT发布数据 |
14 | (opens new window)AT+MQTTUNSUB | MQTT取消订阅 |
15 | (opens new window)AT+MQTTSTATUS | 查询MQTT状态 |
16 | (opens new window)AT+MQTTCLOSE | 关闭MQTT服务 |
#AT+MQTTAUTH
功能:查询/设置MQTT用户授权信息。
查询指令: | AT+MQTTAUTH=? |
响应: | +MQTTAUTH:<UserName>,<PassWord> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+MQTTAUTH=<UserName>,<PassWord> |
响应: | OK |
参数: | UserName:用户名 |
PassWord:密码 | |
说明: | 立即生效。 |
#AT+MQTTSOCK
功能:查询/设置MQTTsocket信息。
查询指令: | AT+MQTTSOCK=? |
响应: | +MQTTSOCK:<Host>,<Port> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+MQTTSOCK=<Host>,<Port> |
响应: | OK |
参数: | Host:远程URL |
Port:远程端口 | |
说明: | 立即生效。 |
#AT+MQTTCAVERIFY
功能:查询/设置MQTT证书认证使能状态。
查询指令: | AT+MQTTCAVERIFY=? |
响应: | +MQTTCAVERIFY:<Status1>,<Status2> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+MQTTCAVERIFY=<Status1>,<Status2> |
响应: | OK |
参数: | Status1:是否使能服务器根证书验证,ON:使能,OFF:关闭。 |
Status2:是否使能验证客户端证书验证,ON:使能,OFF:关闭。 | |
说明: | 立即生效。 |
#AT+MQTTSSL
功能:查询/设置MQTTSSL使能状态。
查询指令: | AT+MQTTSSL=? |
响应: | +MQTTSSL:<Status> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+MQTTSSL=<Status> |
响应: | OK |
参数: | Status:是否使能SSL加密,ON:使能,OFF:关闭。 |
说明: | 立即生效。 |
#AT+MQTTCID
功能:查询/设置MQTT客户端标识符。
查询指令: | AT+MQTTCID=? |
响应: | +MQTTCID:<ClientID> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+MQTTCID=<ClientID> |
响应: | OK |
参数: | ClientID:客户端标识符。 |
说明: | 立即生效。 |
#AT+MQTTKEEPALIVE
功能:查询/设置MQTT心跳周期。
查询指令: | AT+MQTTKEEPALIVE=? |
响应: | +MQTTKEEPALIVE:<Period> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+MQTTKEEPALIVE=<Period> |
响应: | OK |
参数: | Period:心跳周期,单位:s(秒)。 |
说明: | 立即生效。 |
#AT+MQTTRECONN
功能:查询/设置MQTT自动重连使能状态。
查询指令: | AT+MQTTRECONN=? |
响应: | +MQTTRECONN:<Status> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+MQTTRECONN=<Status> |
响应: | OK |
参数: | Status:是否使能自动重连。ON:使能,OFF:关闭。 |
说明: | 立即生效。 |
#AT+MQTTAUTOSTART
功能:查询/设置MQTT上电自动连接使能状态。
查询指令: | AT+MQTTAUTOSTART=? |
响应: | +MQTTAUTOSTART:<Status> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+MQTTAUTOSTART=<Status> |
响应: | OK |
参数: | Status:是否使能上电自动连接,ON:使能,OFF:关闭。 |
说明: | 立即生效。在设置参数前发送该指令,ON表示保存参数,OFF表示不保存参数。 |
#AT+MQTTEVENT
功能:查询/设置MQTT事件推送使能状态。
查询指令: | AT+MQTTEVENT=? |
响应: | +MQTTEVENT:<Status> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+MQTTEVENT=<Status> |
响应: | OK |
参数: | Status:是否使能事件推送。ON使能;OFF关闭。 |
说明: | 立即生效。开启此功能后,所有MQTT的事件,模块会通过串口主动输出,格式如下: +MQTTEVENT:<result>。 |
result参数说明详见AT+MQTTSTATUS指令。 |
#AT+MQTTSTART
功能:启动MQTT服务。
执行指令: | AT+MQTTSTART |
响应: | OK |
参数: | 无 |
说明: | 立即生效。 |
#AT+MQTTSUB
功能:查询/设置MQTT订阅信息。
查询指令: | AT+MQTTSUB=? |
响应: | +MQTTSUB:<sub_num> |
<id_0>,<Topic_0>,<QoS_0> | |
... | |
<id_n>,<Topic_n>,<QoS_n> | |
OK | |
参数: | sub_num:查询到的主题列表数,最大为6 |
其余参数参考设置指令。 | |
说明: | 立即生效。 |
设置指令: | AT+MQTTSUB=<id>,<Topic>,<QoS> |
响应: | OK |
参数: | id:为每一个主题分配的id号,取值范围0-5。 |
Topic:订阅的主题。 | |
QoS:订阅主题的QoS,取值范围:0-2。 | |
说明: | 立即生效。 |
#通配符订阅
AT+MQTTSUB命令参数的Topic的最后2个字符为'/#',则被视为通配符订阅。
对于通配符订阅,当接收到服务器发过来的订阅消息后,模组通过MQTT EVENT事件返回数据给MCU时的内容会有所不同。
默认接收到订阅消息的事件为:+MQTTRECV:id,length,data
其中id是这里订阅时使用的id号。
而通配符订阅,返回的事件内容为:+MQTTRECV:#,topic,length,data
因为第一个参数是字符‘#’,表示这是通过通配符订阅的消息,第二个参数是实际的topic,第三个参数是消息的字节数,第四个参数是消息内容。
#AT+MQTTPUB
功能:查询/设置MQTT发布信息。
查询指令: | AT+MQTTPUB=? |
响应: | +MQTTPUB:<Topic>,<QoS> |
OK | |
参数: | 请参考设置指令参数。 |
说明: | 立即生效。 |
设置指令: | AT+MQTTPUB=<Topic>,<QoS> |
响应: | OK |
参数: | Topic:发布信息的主题。 |
QoS:发布信息的QoS,范围:0-2。 | |
说明: | 立即生效。本主题仅用于设置topic和QoS,使用AT+MQTTSEND=<len>指令发布数据。向不同的Topic发布数据前,需先调用AT+MQTTPUB=<Topic>,<QoS>指令,更换相应的Topic和QoS。 |
#AT+MQTTSEND
功能:MQTT发布数据
执行指令: | AT+MQTTSEND=<len> |
响应: | > |
参数: | len:发布数据的字节长度。 |
说明: | 立即生效。收到>后,需向模块发送指定长度的数据,模块会向远端发布数据。 |
#AT+MQTTUNSUB
功能:MQTT取消订阅
执行指令: | AT+MQTTUNSUB=<id> |
响应: | OK |
参数: | id:取消订阅的主题对应的id号 |
说明: | 立即生效。 |
#AT+MQTTSTATUS
功能:查询MQTT状态。
查询指令: | AT+MQTTSTATUS=<action>[,id>] |
响应: | +MQTTSTATUS:<result> |
OK | |
参数: | action:客户端相对于远端的行为,包括3类:connect,subscribe,publish。 |
id:可选参数,当action的值为subscribe时,需指定id号 | |
result:返回的状态结果。根据不同的action值,总共包括下面各种不同的结果 | |
1.action的值为connect时,返回: | |
——CONNECT,SUCCESS 连接成功 | |
——CONNECT,INIT_ERROR 初始化错误 | |
——CONNECT,FAIL 连接失败 | |
——CONNECT,RECONNECTING正在连接 | |
——CLOSE,SUCCESS 关闭成功 | |
——CLOSE,FAIL 关闭失败 | |
2.action的值为subscribe时,返回: | |
——SUBSCRIBE,SUCCESS 订阅成功 | |
——SUBSCRIBE,FAIL 订阅失败 | |
——UNSUBSCRIBE,SUCCESS 取消订阅成功 | |
——UNSUBSCRIBE,FAIL 取消订阅失败 | |
3.action的值为publish时,返回: | |
——PUBLISH,SUCCESS 发布成功 | |
——PUBLISH,FAIL 发布失败 | |
说明: | 立即生效。 |
#AT+MQTTCLOSE
功能:关闭MQTT服务
执行指令: | AT+MQTTCLOSE |
响应: | OK |
参数: | 无 |
说明: | 立即生效。 |
#MQTT EVENT事件
MQTT连接的建立、关闭,消息的发布、订阅,无论成功与否,都会产生EVENT事件,详见本文末尾“EVENT事件”。
#六、配网管理指令
序号 | 指令 | 功能 |
1 | (opens new window)AT+SMARTSTART | 设置配网方式,并启动 |
2 | (opens new window)AT+SMARTSTOP | 停止设置的配网方式 |
#AT+SMARTSTART
功能:设置配网方式:Easylink或Airkiss,并启动配网。
执行指令: | AT+SMARTSTART=<type> |
响应: | OK |
+SMARTEVENT:SUCCESS 配网成功 | |
+SMARTEVENT:FAIL 配网失败 | |
参数: | type:整数类型。 |
2:Airkiss配网; | |
3:EasylinkAWS配网。 | |
4:Easylink+Airkiss融合配网; | |
5:SoftAP配网(只支持IOS最新版EasylinkAPP)。 流程参考《Softap 配网协议》 | |
6:BLE配网(只有combo模组支持) 流程参考:《Combo模组蓝牙配网协议》。 | |
说明: | 立即生效。 BLE配网从A266版本起,去掉广播包的local name字段,由scan response里面通知自己的名字,这个名字随着device name配置(AT+BNAME (opens new window)),默认为MX。 |
#AT+SMARTSTOP
功能:停止设置的配网方式。
执行指令: | AT+SMARTSTOP=<type> |
响应: | OK |
参数: | type:1:表示Easylink配网;2:表示Airkiss配网;3:表示EasylinkAWS配网。 |
说明: | 立即生效。注意:参数3:EasylinkAWS配网,该指令不适用与AlinkV3阿里直连AT固件。 |
#AT+SMARTCFG
功能:设置Airkiss配网参数。
设置指令: | AT+SMARTCFG=<device_id>,<original_id> |
响应: | OK |
参数: | device_id:字符串,微信注册时后台提供。 |
original_id:字符串,微信注册时后台提供。 | |
说明: | 立即生效。 |
#七、SNTP时间同步指令
#AT+SNTPCFG
功能:设置NTP域名。
设置指令: | AT+SNTPCFG=<time_zone>[,<domain1>[,<domian2>]] |
响应: | OK |
参数: | time_zone:时区,如北京:+8 |
domain1:NTP服务器域名1 | |
domian2:NTP服务器域名2 | |
说明: | 立即生效。 |
#AT+SNTPTIME
功能:获取NTP时间。
执行指令: | AT+SNTPTIME |
响应: | +SNTPTIME:<time> |
OK | |
参数: | time:形如 2017-09-05T13:34:35.063568,表示:当前SNTP时间为2017年9月5日13点34分35秒63568微秒。 |
说明: | 立即生效。 |
#AT+RTCGET
功能:获取NTP时间。
执行指令: | AT+RTCGET |
响应: | +RTCGET:<time> |
OK | |
参数: | time:形如2017-09-05T13:34:35.063568,表示:当前RTC时间为2017年9月5日13点34分35秒63568微秒。 |
说明: | 立即生效。 |
#八、HTTP文件下载指令
#AT+FILELOADHEADER
功能:设置HTTP下载的文件时发送的HTTP请求的额外的header信息,比如配置:Accept-Encoding: gzip。
设置指令: | AT+FILELOADHEADER=<len>\r<header> |
响应: | OK |
参数: | len:header包含的字节数 |
说明: | header的字节数一定要和len的值匹配,这个参数不会保存到Flash,重启会丢失。如果需要配置header,则需要先调用这个指令设置,再调用AT+FILELOAD去发起HTTP下载。如果要删除之前配置的header,则设置len=0。 |
#AT+FILELOAD
功能:设置HTTP下载的文件的URL和模式。
设置指令: | AT+FILELOAD=<mode>,<URL> |
响应: | OK |
参数: | mode:模式,0=主动模式,1=被动模式 |
URL:HTTP下载文件的完整URL | |
说明: | 接收到命令就立即建立HTTP连接。 主动模式:接收到的文件数据直接使用HTTP的event通知给MCU,通知HTTP文件数据的串口数据包格式如下: \r\n+FILELOADEVENT:<total_len>,<download_len>,<data_len\r\n<data"> <p id=" ua7900cc5"="" class="ne-p" style="text-align: left>\r\n其中,total_len是文件的总长度,download_len是已下载的长度,data_len是这一次event通知的数据的长度,data就是二进制数据。 被动模式:需要通过AT+FILELOADR指令读取。 |
#AT+FILELOADR
功能:读取HTTP下载的文件数据,仅用于被动模式。
设置指令: | AT+FILELOADR=<data_len> |
响应: | \r\n+FILELOADEVENT:<total_len>,<download_len>,<data_len\r\n<data"> <p id=" ub296a892"="" class="ne-p" style="text-align: left>\r\n其中,total_len是文件的总长度,download_len是已下载的长度,data_len是这一次event通知的数据的长度,data就是二进制数据。 |
参数: | data_len:本次HTTP读取的文件字节数,1到2048字节。 |
说明: | 立即返回,如果当前接收到的字节数不足,则返回已接收到的字节数。 |
#AT+FILELOADQ
功能:退出HTTP文件下载。
设置指令: | AT+FILELOADQ |
响应: | OK |
参数: | 无 |
说明: | 退出当前正在下载文件的任务。 |
#九、HTTP传输指令
#AT+HTTPSV
功能:配置需要连接的HTTP服务器的地址
设置指令: | AT+HTTPSV=<domain>,<port>,<is_ssl> |
响应: | OK |
参数:
| domain: http服务器的域名或IP地址 |
port: http服务器的端口 | |
is_ssl:是否使用ssl,0=不使用,1=使用 | |
说明: | 立即返回,保存http服务器地址参数,不连接。 |
#AT+HTTPREQ
功能:配置HTTP使用的method
设置指令: | AT+HTTPREQ=<method> |
响应: | OK |
参数:
| method:只能设置POST或者GET。 |
说明: | 立即返回,保存http method,不连接。 |
#AT+HTTPPATH
功能:配置HTTP请求的路径
设置指令: | AT+HTTPPATH=<path> |
响应: | OK |
参数:
| path:是一个字符串,不包含域名 |
说明: | 立即返回,保存http path,不连接。 |
#AT+HTTPTIMEOUT
功能:配置HTTP等待回复的超时时间
设置指令: | AT+HTTPTIMEOUT=<timeout> |
响应: | OK |
参数:
| timeout:1到30的一个数字,表示最长等待回复的时间是1到30秒的一个时间,默认10秒。 |
说明: | 立即返回,保存http timeout,不连接。 |
#AT+HTTPHEADER
功能:配置HTTP请求时发送的HTTP header的内容
设置指令: | AT+HTTPHEADER=<header>或者AT+HTTPHEADER=<len>\r\n<header> |
响应: | OK |
参数:
| 参数有2种格式: 1、直接是一个字符串,用于发起HTTP请求时,头部填充的内容。这种方式header不等你包含换行符。 2、len是一个数字,是实际需要传输的header字符串的字节数;然后在接收到这个指令以后,模组会输出一个等待输入符">",后面len个字节为header的实际字符内容。这种方式header可以是任意的字符。 |
说明: | 立即返回,保存参数,不连接。 如果不配置,默认的header内容为:"Accept:text/html\r\nAccept-Language:zh-CN\r\nUser-Agent:Mozilla/5.0\r\nConnection: Keep-Alive\r\n" |
#AT+HTTPSEND
功能:发起HTTP请求
设置指令: | AT+HTTPSEND=<len>\r\n<data> |
响应: | OK |
参数:
| len: 后面data的字节数。len>=0。 data:实际要发送给服务器的数据。 每执行一次这个指令,就会向HTTP发起一条连接请求,data会当做HTTP的body内容发送给服务器,如果len=0就没有body。 HTTP服务器返回的数据会以+HTTPEVENT事件的方式返回。返回的事件会以多个EVENT的形式返回,每包包含一部分内容。 EVENT格式为"\r\n+HTTPEVENT:<len>\r\n<data...> 其中len是data的字节数,data是实际的HTTP返回的内容。所有的HTTPEVENT的data合并到一起就构成了一个完整的HTTP数据。 |
说明: | 阻塞返回,收到完整的HTTP回复,或者HTTP超时。 |
#AT+HTTPSENDRAW
功能: 进入HTTP透传模式
设置指令 | AT+HTTPSENDRAW |
响应 | +OK |
说明 | 立即生效。 |
说明 | HTTP透传模式下,串口每接收到一帧数据,就会打包成一个HTTP请求同服务器通讯,并把服务器的回复数据直接通过串口输出。 |
说明 | 退出HTTP透传,请输入+++ |
#**十、EMC系列蓝牙AT配网指令**
BLE 指令列表
序号 | 指令 | 功能 |
1 | (opens new window)AT+BNAME | 查询/设置 BLE名称 |
2 | AT+BMAC | 查询BLE的MAC地址 |
3 | (opens new window)AT+BLE | 开启或关闭BLE功能 |
4 | (opens new window)AT+BSTATUS | 查询BLE的状态 |
5 | (opens new window)AT+BSEND | 指令模式时发送数据 |
6 | AT+BENDRAW | 蓝牙透传模式 |
7 | AT+BSENDNK | 指令模式时发送数据无返回 |
8 | (opens new window)AT+BSERVUUID | 查询/设置 服务的uuid |
9 | (opens new window)AT+BRXUUID | 查询/设置 接收的uuid |
10 | (opens new window)AT+BTXUUID | 查询/设置 发送的uuid |
11 | AT+BEVENT | 设置/查询监听BLE事件 |
12 | AT+BINQ | 开始扫描 |
13 | AT+BSINQ | 停止扫描 |
14 | AT+BCONN | 连接到从设备 |
15 | AT+BROLE | 查询/设置BLE角色 |
16 | AT+BKEY | 设置/查询BLE配对密码 |
#AT+BNAME
功能:查询/设置 BLE名称
查询指令: | AT+BNAME? |
响应: | +BNAME:<name> |
设置指令: | AT+BNAME=<name> |
响应: | OK |
说明: | 最多可设置16个字节,超过16个字节返回ERROR。 |
#AT+BMAC
功能:查询BLE的MAC地址
查询指令: | AT+BMAC? |
响应: | +BMAC:<mac> |
参数: | mac:设备的MAC地址,格式为 xx:xx:xx:xx:xx:xx |
#AT+BLE
功能:查询/设置 开启或关闭BLE功能
设置指令: | AT+BLE=<state> |
响应: | OK |
响应: | AT+BLE? |
参数: | state: 开关状态 |
| |
|
#AT+BSTATUS
功能:查询BLE的状态
查询指令: | AT+BSTATUS? |
响应 | +BSTATUS:<status> |
参数 | status: |
| |
|
#AT+BMTU
功能:查询BLE的MTU
查询指令: | AT+BMTU? |
响应 | +BMTU:<MTU> |
参数 | MTU: 是BLE的MTU的值,默认是185,当有BLE连接建立以后,返回同remote端协商后的MTU的值。AT+BSEND能发送的最大数据长度不能超过MTU的值。 |
#AT+BSEND
功能: 指令模式时发送数据
设置指令 | AT+BSEND=<length>\r<data> |
响应 | +OK |
参数 | length:将要发送的数据长度 |
说明 | 当用户收到 |
#AT+BSENDRAW
功能: 进入蓝牙透传模式
设置指令 | AT+BSENDRAW |
响应 | +OK |
说明 | 立即生效 |
说明 | 退出蓝牙透传,请输入+++ |
#AT+BSENDNK
功能: 指令模式时发送数据无返回
设置指令 | AT+BSEND=<length>\r<data> |
响应 | 无响应 |
参数 | length:将要发送的数据长度 |
说明 | 发送指定长度数据,无OK返回 |
#AT+BSERVUUID
功能:查询/设置 服务的uuid
设置指令 | AT+BSERVUUID=<uuid> |
响应 | +OK |
查询指令 | AT+BSERVUUID? |
响应 | +BSERVUUID:<uuid> |
参数 |
|
#AT+BRXUUID
功能:查询/设置 接收的uuid
设置指令 | AT+BRXUUID=<uuid> |
响应 | +OK |
查询指令 | AT+BRXUUID? |
响应 | +BRXUUID:<uuid> |
|
#AT+BTXUUID
功能:查询/设置 发送的uuid
设置指令 | AT+BTXUUID=<uuid> |
响应 | +OK |
查询指令 | AT+BTXUUID? |
响应 | +BTXUUID:<uuid> |
参数 |
|
#AT+BROLE
功能:查询/设置 BLE主从
设置指令 | AT+BROLE=<role> |
响应 | +OK |
查询指令 | AT+BROLE? |
响应 | +BROLE:<role> |
参数 |
|
#AT+BINQ
功能:扫描从设备
执行指令: | AT+BINQ=<scan_type>,<string> |
响应: | OK |
参数: | scan_type:0=scanbyserviceuuid,string=uuidhexstring. scan_ytpe:1=scanbydevicename,string=devicename. +BEVENT:SCAN,<Num>,<MAC>,Num:序号。MAC:扫描到的设备的MAC。 |
#AT+BSINQ
功能:停止扫描
执行指令: | AT+BSINQ |
响应: | OK |
参数: | 无 |
#AT+BCONN
功能:连接从设备
设置指令 | AT+BCONN=<Num> |
响应 | +OK |
参数 |
|
#AT+BEVENT
功能:设置/查询监听BLE事件
设置指令 | AT+BEVENT=<state> |
响应 | +OK |
查询指令 | AT+BEVENT? |
参数 | state : |
| |
|
#AT+BKEY
功能:设置/查询BLE配对密码
设置指令 | AT+BKEY=<enable>,<key> |
响应 | +OK |
查询指令 | AT+BKEY? 如果打开了配对密钥,则返回:+BLEKEY:123456 如果没有打开配对密钥,则返回:+BLEKEY:OFF |
参数 | enable : 0=关闭配对密钥;1=打开配对密钥 |
key:如果打开配对密钥,则必须输入key,合法范围是0到999999 |
#EVENT事件通知
根据不同的功能,EVENT 事件通知包括:
+BEVENT 起始的: 代表与 BLE
通信相关事件消息
序号 | BLE 通知 | BLE 通信状态 |
1 | +BEVENT:CONNECTION,ON | 与主机连接成功 |
2 | +BEVENT:CONNECTION,OFF | 与主机连接断开 |
3 | +BEVENT: DATA ,<length> ,<data> | 接收主机透传数据 |
4 | +BEVENT:SCAN,<Num>,<MAC> | 扫描从设备结果 |
#十一、以太网透传指令
注:该以太网指令,仅EMW3080系列支持。
序号 | 指令 | 功能 |
1 | (opens new window)AT+ENETRAWMODE | 设置/查询以太网透传模式状态 |
2 | (opens new window)AT+ENETRAWSEND | 发送以太网数据 |
#AT+ENETRAWMODE
功能:设置/查询以太网透传模式状态
查询指令: | AT+ENETRAWMODE? |
响应: | +ENETRAWMODE:<mode> |
OK | |
参数: | 请参考设置指令参数 |
设置指令: | AT+ENETRAWMODE=<mode> |
响应: | OK |
参数: | mode:ON:开启;OFF:关闭;开始以太网透传模式后,TCP/IP相关功能将失效 |
说明: | 立即生效。 |
#AT+ENETRAWSEND
功能:发送以太网数据
指令: | AT+ENETRAWSEND=<data_length> |
响应: | > 等待输入指定长度的date数据,1分钟内输入有效。 |
参数: | data_length:数据长度。单位:byte字节。 |
说明: | 立即生效。 |
#十二、固件OTA指令
wifi固件ota指令
序号 | 指令 | 功能 |
1 | AT+URLOTA | wifi模组更新固件 |
#AT+URLOTA
功能:wifi模组更新固件
设置指令: | AT+URLOTA=<url of ota bin> |
响应: | OK |
+OTAEVENT:SUCCESS 表示OTA成功 | |
+OTAEVENT: FAIL 表示OTA失败 | |
参数: | url of ota bin:需更新文件的完整URL |
说明: | 可更新至低版本,也可更新至高版本。且OTA过程必须保证持续联网不断开,否则可能导致更新失败。OTA成功后,设备自动重启。 |
下述指令暂停使用
注意:所有型号的模组自ATv2.0.3版本后AT固件支持通过AT指令实现在线OTA功能(注意:直连阿里ilop飞燕平台固件除外,其OTA功能实现请查看具体说明文档)。
#AT+OTACHECK
功能:查询云端AT固件版本号。
查询指令: | AT+OTACHECK |
响应: | +OTACHECK:<version> |
+OK | |
参数: | version:云端的所有ota固件的版本号。形如:fog_v3_AT_v2.0.4。 |
说明: | 模块首先需要开启STATION模式,并成功连接至AP,才能执行该指令。 |
注意: | AT2.x固件,自v2.0.3开始支持远程联网OTA功能。 |
#AT+OTASTART
功能:更新指定版本号的AT固件。
更新指令: | AT+OTASTART=<version> |
响应: | +OK |
+OTAEVENT:START表示开始OTA过程。 | |
+OTAEVENT:SUCCESS表示OTA成功。 | |
参数: | version:云端的所有ota固件的版本号。形如:fog_v3_AT_v2.0.4。 |
说明 | 用户可根据需要更新指定版本号的固件,可更新至低版本,也可更新至高版本。且OTA过程必须保证持续联网不断开,否则可能导致更新失败。该过程大概持续几秒到10秒左右。OTA成功后,设备自动重启。 |
#十三、电源管理指令
#AT+WLPC
功能:查询/设置WiFi低功耗
查询指令: | AT+WLPC=? |
41 54 2B 574C5043 3F 0D | |
响应: | +WLPC=<mode> |
OK | |
参数: |
|
设置指令: | AT+WLPC=<mode> |
响应: | OK |
参数: |
|
说明: | 立即生效,状态掉电保存。 |
#EVENT事件通知
根据不同的功能,EVENT事件通知包括:
- +WEVNET 起始的: 代表与WiFi功能相关的事件消息。
- +CIPEVENT起始的: 代表与网络连接功能相关的事件消息。
- +MQTTEVENT起始的: 代表与MQTT通信相关的事件消息。
- +BTEVENT 起始的: 代表与经典蓝牙透传相关的事件消息。
- +ENETEVENT起始的: 代表与以太网功能相关的时间消息。
- +OTA 起始的: 代表与OTA过程相关的事件消息。
- +ILOP 起始的: 代表与ILOP连接状态相关的事件消息。
- +GOME 起始的: 代表与GOME连接状态相关的事件消息。
序号 | 事件消息 | 描述 |
一类 | WiFi通知 | WiFi状态 |
1 | +WEVENT:AP_UP | Soft_AP创建成功 |
2 | +WEVENT:AP_DOWN | Soft_AP创建失败 |
3 | +WEVENT:STATION_UP | STATION连接成功 |
4 | +WEVENT:STATION_DOWN | STATION连接失败 |
二类 | 网络通知 | 网络连接状态 |
1 | +CIPEVENT:id,SERVER,CONNECTED | 成功连接到指定id链接的TCP服务器 |
2 | +CIPEVENT:id,SERVER,DISCONNECTED | 与链接号为id的TCP服务器断开连接 |
3 | +CIPEVENT:id,SERVER,CLOSED | 成功停止指定id链接的TCP服务器 |
4 | +CIPEVENT:CLIENT,CONNECTED,ip,port | 成功连接到该ip地址和port端口的TCP客户端 |
5 | +CIPEVENT:CLIENT,CLOSED,ip,port | 成功停止该ip地址和port端口的TCP客户端 |
6 | +CIPEVENT:id,UDP,CONNECTED | UDP连接成功 |
7 | +CIPEVENT:id,UDP,CLOSED | UDP连接失败 |
8 | +CIPEVENT:SOCKET,id,len,data | 标识网络数据来源 |
9 | +CIPEVENT:UDP_BROADCAST,ip,port,id,len,data | UDP广播数据来源及信息,从ATv2.0.3版本开始支持。 |
三类 | MQTT通知 | MQTT通信状态 |
1 | +MQTTEVENT:CONNECT,SUCCESS | 与MQTT服务器连接成功 |
2 | +MQTTEVENT:CONNECT,INIT_ERROR | 与MQTT服务器连接初始化出错 |
3 | +MQTTEVENT:CONNECT,FAIL | 与MQTT服务器连接失败 |
4 | +MQTTEVENT:CONNECT,RECONNECTING | 与MQTT服务器重新连接中 |
5 | +MQTTEVENT:CLOSE,SUCCESS | MQTT通信关闭成功 |
6 | +MQTTEVENT:CLOSE,FAIL | MQTT通信关闭失败 |
7 | +MQTTEVENT:SUBSCRIBE,SUCCESS | MQTT订阅成功 |
8 | +MQTTEVENT:SBUSCRIBE,FAIL | MQTT订阅失败 |
9 | +MQTTEVENT:UNSUBSCRIBE,SUCCESS | MQTT取消订阅成功 |
10 | +MQTTEVENT:UNSUBSCRIBE,FAIL | MQTT取消订阅失败 |
11 | +MQTTEVENT:PUBLISH,SUCCESS | MQTT发布成功 |
12 | +MQTTEVENT:PUBLISH,FAIL | MQTT发布失败 |
13 | +MQTTRECV:id,length,data | 收到之前订阅过的MQTT消息
|
+MQTTRECV:#,topic,length,data | 收到之前订阅的通配符MQTT消息
| |
四类 | BT通知 | BT通信状态 |
1 | +BTEVENT:CONNECTION,ON | 与RFCOMM远端主机连接成功 |
2 | +BTEVENT:CONNECTION,OFF | 与RFCOMM远端主机断开连接 |
3 | +BTEVENT:DATA,length | 收到RFCOMM远端主机透传的数据 |
五类 | 以太网透传通知 | 以太网透传事件 |
1 | +ENETEVENT:len,data | 标识以太网透传数据 |
六类 | OTA通知 | OTA状态 |
1 | +OTAEVENT:START | 开始OTA固件更新过程 |
2 | +OTAEVENT:SUCCESS | OTA固件更新成功 |
七类 | HTTP通知 | |
1 | +HTTPEVENT:<len>\r\n<data...> | data:服务器返回的HTTP数据,len:data的字节数 |
END.