1、 SimpleWiFi 指令使用手册指令使用手册 2013-06-30 1 AT+指令控制协议 如果用户仅使用无线模块的自动工作模式可以跳过本章内容。1.1 语法说明 本模块使用 AT+指令协议作为用户控制协议。AT+指令协议采用一套基于ascii 的命令行格式指令集,下面对其语法格式和处理流程进行描述。1.1.1 语法格式?格式说明:表示必须包含的部分:表示可选的部分?命令消息 AT+oppara1,para2,para3,para4 AT+:命令消息前缀 CMD:指令字符串 op:指令操作符,当命令需要带参数时,可以指定参数的操作类型,包括,=,参数/返回值前导符=!,在设置参数类命令中,
2、表示将修改同步至 flash=?,在设置参数类命令中,查询当前设置:回车,ascii 字符 0 x0d?响应消息+oppara1,para2,para3,para4+:响应消息前缀 RSP:响应字符串 OK 成功 ERR 失败:回车,ascii 字符 0 x0d:换行,ascii 字符 0 x0a?数据类型 String:字符串,以双引号包围,内容不含引号,如:this is a string Dec:十进制数字,如:10 Hex:16 进制数字,如:a Ip:ip 地址串,如:192.168.0.1 MAC:由 12 个 16 进制数字组成,如 001EE3A80102 1.1.1.1 处理
3、流程 AT+指令协议采用命令+响应的形式,绝大多数指令需要接收方在处理完成后返回响应消息,如果在前一个命令处理过程中,再次接收到新的命令,则将其静静丢弃,不返回任何消息,如下图所示。图 6-1 AT+指令处理流程 对于某些特殊命令,如 AT+SKSND、AT+SKRCV,需要在指令或响应详细后面传输二进制数据,此时,命令传输的接收方暂时进入透明传输状态,开始接收二进制数据流,直到接收到在命令或消息的字段中规定长度的数据或等待超时后,自动退出透明传输状态,其流程如下图所示。图 6-2 AT+指令特殊处理流程 1.1.1.2 格式范例 范例 1:返回成功消息 范例 2:返回错误消息 范例 3:使用
4、输入参数 范例 4:使用参数同步到 Flash 操作符 范例 5:使用查询操作符 1.1.1.3 错误代码 表 6-1 错误代码 值 含 义-1 无效的命令格式-2 命令不支持-3 无效的操作符 AT+ATPT=?+OK=500 AT+ATPT=!500+OK AT+UART=9600,1,1,0+OK AT+WJOIN+ERR=-10 AT+OK-4 无效的参数-5 操作不允许-6 内存不足-7 FLASH 错误-10 加入网络失败-11 无可用 socket-12 无效的 socket-13 Socket 连接失败-100 未定义错误 1.2 指令集 1.2.1 指令列表 表 6-2 AT
5、+指令列表 指令名称 用 途(null)空指令 ATLT 设置/查询数据自动组帧数据长度 ATM 设置/查询模块工作模式 ATPT 设置/查询数据自动组帧周期 ATRM 设置/查询自动工作模式下模块自动创建的 socket 连接信息 BSSID 设置/查询指定 AP 的 bssid 地址 CHL 设置/查询指定无线信道方式 CHLL 设置/查询无线信道列表 CMDM 设置/查询系统的默认命令模式 ENCRY 设置/查询无线网络安全模式 ENTM 进入串口透明传输模式 ESPT 设置/查询用于退出串口透明传输模式的逃逸时间 IOC 设置/查询模块通用 IO 的状态 KEY 设置/查询无线网络密钥
6、 LKSTT 查询网络连接状态 NIP 设置/查询本端 IP 地址 PASS 设置/查询系统密码 PMTF 将内存中所有参数更新到 Flash QMAC 查询物理地址 QVER 查询版本信息 RSTF 恢复出厂设置 SKCLS 关闭 Socket 连接 SKCT 创建 Socket 连接 SKRCV 通过 Socket 连接接收数据 SKSDF 设置默认发送 Socket 连接 SKSND 通过 Socket 连接发送数据 SKSTT 查询 Socket 连接状态 SSID 设置/查询无线网络名称 UART 设置/查询串口数据格式 WARC 设置/查询自动工作模式下的自动重试次数 WARM 设
7、置/查询无线漫游 WBGR 设置/查询无线网络 BG 模式和最大发射速率 WIOM 设置/查询模块通用 IO 的工作模式 WJOIN 加入/创建无线网络 WLEAV 断开无线网络 WPRT 设置/查询无线网络类型 WSCAN 扫描网络 Z 复位 1.2.2 网络控制类 1.2.2.1 AT+WJOIN 功能:功能:加入/创建无线网络。如果当前网络类型为 adhoc,且未检测到指定 ssid 的网络,则自动创建该网络。如果当前网络已经处于联网状态,则直接返回网络连接信息。格式:格式:AT+WJOIN+OK=,参数:参数:bssid:网络 BSSID,长度为 12 的十六进制数,格式为 001EE
8、3A34455 type:网络类型 表 6-3 网络类型 值 含 义 0 infra 网络 1 adhoc 网络 channel:信道号 b_encry:加密模式 表 6-4 加密模式 值 含 义 0 开放 1 加密 ssid:无线网络名称,132 个字符,双引号包围 rssi:网络信号强度,不含负号,单位 Db,即 50 表示信号强度为-50Db 1.2.2.2 AT+WLEAV 功能:功能:断开当前无线网络。格式:格式:AT+WLEAV+OK 参数:参数:无 1.2.2.3 AT+WSCAN 功能:功能:扫描无线网络,完成后返回。格式:格式:AT+WSCAN +OK=,参数:参数:同 AT
9、+WJOIN 1.2.2.4 AT+LKSTT 功能:功能:查询本端网络连接状态。格式:格式:AT+LKSTT+OK=status,ip,netmask,gateway,dns 参数:参数:status:连接状态 表 6-5 连接状态 值 含 义 0 断开 1 连接 ip:ip 地址,数据格式为192.168.1.22,不含引号 netmask:子网掩码,数据格式同 ip 地址 gateway:网关地址,数据格式同 ip 地址 dns:DNS 地址,数据格式同 ip 地址 1.2.2.5 AT+SKCT 功能:功能:建立 socket。在 client 模式,等待连接完成(成功或失败)后返回;
10、在 server模式下,创建完成后直接返回。格式:格式:AT+SKCT=protocol,cs,host_timeout,+OK=参数:参数:protocol:协议类型,表 6-6 协议类型 值 含 义 0 TCP 1 UDP cs:C/S 模式,表 6-7 CS 模式 值 含 义 0 Client 1 Server host_timeout:根据 protocol 及 cs,其含义分别如下 表 6-8 host_timeout cs protocol 含 义 0 X 目的服务器名称,可以输入域名或 ip 地址,如192.168.1.100或 1 0 TCP 连接超时时间,即连接到本服务器的客
11、户端超过本时间不发送任何数据后即被自动踢掉,有效取值范围 110000000,单位:秒,0表示永远不,缺省 120 秒 1 1 无意义 port:端口号 socket:socket 号 1.2.2.6 AT+SKSND 功能:功能:通过指定的 socket 发送数据,完成后返回。此命令使用二进制格式发送数据,用户应在接收到模块的响应消息(+OK)之后再开始发送原始数据。模块接收完指定长度的数据后自动结束数据传输阶段,并将数据发送到网络上,多余的数据将被丢弃。否则,模块在等待超时(1s)后,强制结束数据传输阶段并将已经接收到的数据发送到网络上。格式:格式:AT+SKSND=,+OK=data s
12、team 参数:参数:socket:socket 号 size:准备发送的数据长度,字节数 actualsize:允许发送的数据长度,字节数 data steam:原始数据 1.2.2.7 AT+SKRCV 功能:功能:读取指定 socket 的接收缓冲区中的数据,完成后返回。接收到此命令后,模块将在发送完成相应消息(+OK)后使用二进制格式传送指定长度数据。格式:格式:AT+SKRCV=,+OK=data stream 参数:参数:socket:socket 号 maxsize:可接收的最大数据长度 size:实际接收到的数据长度 data steam:原始数据 1.2.2.8 AT+SKS
13、TT 功能:功能:获取指定的 socket 状态,返回值的第一行表示的是用户指定的 socket 的状态信息,如果该 socket 类型为 TCP 服务器,那么从下一行开始每一行表示一个接入的 client 的 socket 状态。格式:格式:AT+SKSTT=+OK=,host,port,rx_data socket,status,host,port,rx_data .参数:参数:socket:socket 号 status:socket 状态 表 6-9 Socket 状态 值 含 义 0 断开 1 监听 2 连接 host:对端 ip 地址 port:对端端口号 rx_data:接收 b
14、uffer 中数据长度 1.2.2.9 AT+SKCLS 功能:功能:关闭指定的 socket。格式:格式:AT+SKCLS=+OK 参数:参数:socket:socket 号 1.2.2.10 AT+SKSDF 功能:功能:设置系统默认发送的 socket。当用户需要在命令模式下进入透明传输模式时,使用本命令可以指定将串口的透明数据发送的目的地。格式:格式:AT+SKSDF=+OK 参数:参数:socket:socket 号 1.2.3 系统控制类 1.2.3.1 AT+功能:功能:空指令。格式:格式:AT+OK 参数:参数:无 1.2.3.2 AT+Z 功能:功能:复位系统。格式:格式:A
15、T+Z+OK 参数:参数:无 1.2.3.3 AT+ENTM 功能:功能:串口进入透明传输模式。系统在透明传输模式下接收到符合触发条件的逃逸字符时退出此模式。格式:格式:AT+ENTM+OK 参数:参数:无 1.2.3.4 AT+RSTF 功能:功能:恢复 FLASH 中的出厂设置。恢复后的设置需系统重启后才能生效。格式:格式:AT+RSTF+OK 参数:参数:无 1.2.3.5 AT+PMTF 功能:功能:将保存在内存中的参数全部更新至 FLASH。格式:格式:AT+PMTF+OK 参数:参数:无 1.2.3.6 AT+QMAC 功能:功能:获取模块的物理地址。格式:格式:AT+QMAC+O
16、K=参数:参数:mac address:长度为 12 的十六进制数,格式为 001EE3A34455 1.2.3.7 AT+QVER 功能:功能:获取系统版本信息,包括硬件版本和固件版本。格式:格式:AT+QVER+OK=参数:参数:hard:硬件版本信息,字符串格式,如 H1.00.00.1029 firm:固件版本信息,字符串格式,如 F0.02.02 18:25:25 Jul 28 2010 1.2.4 参数设置类 1.2.4.1 AT+NIP 功能:功能:设置/查询本端 ip 地址。需要说明的是,当地址类型设置为 DHCP 时,使用本命令无法查询模块实际动态分配到的 IP 地址信息。查
17、询可以使用 AT+LKSTT命令。格式:格式:AT+NIP=!?type,ip,netmask,gateway,dns+OK=type,ip,netmask,gateway,dns 参数:参数:type:地址类型 表 6-11 地址类型 值 含 义 0 使用 DHCP 动态分配 1 使用静态 IP 地址 ip:ip 地址,数据格式为192.168.1.22,不含引号 netmask:子网掩码,数据格式同 ip 地址 gateway:网关地址,数据格式同 ip 地址号 dns:DNS 地址,数据格式同 ip 地址 1.2.4.2 AT+ATM 功能:功能:设置/查询模块工作模式。格式:格式:AT
18、+ATM=!?mode +OK=mode 参数:参数:mode:工作模式 表 6-12 工作模式 值 含 义 0 自动工作模式 1 命令工作模式 1.2.4.3 AT+ATRM 功能:功能:设置/查询自动工作模式下模块自动创建的 socket 连接信息。格式:格式:AT+ATRM=!?protocol,cs,host_timeout,port+OK=protocol,cs,host,port 注意:本指令也可以以下格式进行输入 AT+ATRM=!?protocol,cs,host,+OK=protocol,cs,host,port 参数:参数:protocol:协议类型,表 6-13 协议类型
19、 值 含 义 0 TCP 1 UDP cs:C/S 模式,表 6-14 CS 模式 值 含 义 0 Client 1 Server host_timeout:根据 protocol 及 cs,其含义分别如下 表 6-15 host_timeout cs protocol 含 义 0 X 目的服务器名称,可以输入域名或 ip 地址,如192.168.1.100或 1 0 TCP 连接超时时间,即连接到本服务器的客户端超过本时间不发送任何数据后即被自动踢掉,有效取值范围 110000000,单位:秒,0表示永远不,缺省 120 秒 1 1 无意义 port:端口号 remoteport:远程端口号
20、 LocalPortNum:本地端口号 1.2.4.4 AT+SSID 功能:功能:设置/查询无线网络名称,即 ssid。格式:格式:AT+SSID=!?ssid+OK=ssid 参数:参数:ssid:无线网络名称,132 个字符,双引号包围 1.2.4.5 AT+ENCRY 功能:功能:设置/查询无线网络安全模式。需要特别说明的是除了 OPEN 模式以外,其它安全模式都需要配合 AT+KEY 指令设置正确的网络密钥。格式:格式:AT+ENCRY=!?encry mode+OK=encry mode 参数:参数:encry mode:安全模式 表 6-16 安全模式 值 含 义 0 OPEN
21、1 WEP64 2 WEP128 3 WPA-PSK(TKIP)4 WPA-PSK(CCMP/AES)5 WPA2-PSK(TKIP)6 WPA2-PSK(CCMP/AES)1.2.4.6 AT+KEY 功能:功能:设置/查询网络密钥。需要说明的是,在使用本命令设置网络密钥之前必须首先使用 AT+ENCRY 命令设置网络安全模式。格式:格式:AT+KEY=!?format,index,key+OK=format,index,key 参数:参数:format:密钥格式 表 6-17 密钥格式 值 含 义 0 HEX 1 ASCII index:密钥索引号,14 用于 WEP 加密密钥,其它加密方
22、式固定为 0 key:密钥字符串,以双引号包围,根据不同的安全模式,密钥使用的长度与格式要求定义如下,表 6-18 密钥 安全模式 密钥格式 HEX ASCII WEP64 10 个 16 进制字符(注 1)5 个 ASCII 字符(注 2)WEP128 26 个 16 进制字符13 个 ASCII 字符 WPA-PSK(TKIP)64 个 16 进制字符863 个 ASCII 字符 WPA-PSK(CCMP/AES)64 个 16 进制字符863 个 ASCII 字符 WPA2-PSK(TKIP)64 个 16 进制字符863 个 ASCII 字符 WPA2-PSK(CCMP/AES)64
23、个 16 进制字符863 个 ASCII 字符 注 1:16 进制字符指 09、af(不区分大小写),如11223344dd 注 2:ASCII 字符指国际标准化组织(ISO)规定的标准 ASCII 字符集中的数字 09与字母 az(区分大小写),如14u6E 1.2.4.7 AT+BSSID 功能:功能:设置/查询指定 AP 的 bssid 地址。本设置仅在 infra 网络下有效。格式:格式:AT+BSSID=!?mode,bssid+OK=mode,bssid 参数:参数:mode:BSSID 模式 表 6-19 BSSID 模式 值 含 义 0 自动 1 指定 bssid:网络 BSS
24、ID,长度为 12 的十六进制数,格式为 001EE3A34455 1.2.4.8 AT+CHL 功能:功能:设置/查询指定无线信道方式。格式:格式:AT+CHL=!?mode,channel+OK=mode,channel 参数:参数:mode:信道模式 表 6-20 信道模式 值 含 义 0 自动 1 指定 channel:无线信道号,有效范围 114 1.2.4.9 AT+CHLL 功能:功能:设置/查询无线信道列表。无线信道列表参数用于规定模块的工作信道范围,不包含在列表中的信道将不会被扫描,合理的使用本参数,可以加快模块的扫描以及联网速度。格式:格式:AT+CHLL=!?channe
25、l list+OK=channel list 参数:参数:channel list:无线信道列表,采用 16 进制格式,从最低位开始,每一位表示一个信道,缺省为 3fff,表示 114 所有信道 1.2.4.10 AT+WPRT 功能:功能:设置/查询无线网络类型。格式:格式:AT+WPRT=!?type+OK=type 参数:参数:type:网络类型 表 6-21 网络类型 值 含 义 0 infra 网络 1 adhoc 网络 1.2.4.11 AT+WATC 功能:功能:设置/查询是否使能自动创建 adhoc 网络功能。本参数仅在无线网络类型设置为 adhoc 时有效,表示当加入网络失败
26、时是否自动创建同名的 adhoc 网络。格式:格式:AT+WATC=!?enable+OK=enable 参数:参数:enable:使能标志 表 6-22 使能标志 值 含 义 0 不使能 1 使能 1.2.4.12 AT+WARM 功能:功能:设置/查询是否使能无线网络漫游功能。格式:格式:AT+WARM=!?enable+OK=enable 参数:参数:enable:使能标志 表 6-23 使能标志 值 含 义 0 不使能 1 使能 1.2.4.13 AT+WARC 功能:功能:设置/查询无线网络断开或加网失败后的自动重试功能。本参数仅在自动工作模式下有效。格式:格式:AT+WARC=!?
27、count+OK=count 参数:参数:count:重试次数 表 6-24 重试次数 值 含 义 0 不重试 1254 重试次数 255 永远重试 1.2.4.14 AT+WBGR 功能:功能:设置/查询无线网络 BG 模式及最高发射速率。格式:格式:AT+WBGR=!?bg mode,max rate+OK=bg mode,max rate 参数:参数:bg mode:BG 模式 表 6-25 BG 模式 值 含 义 0 B/G 混合 1 B max rate:最高发送速率,在 B 模式下,仅 03 有效。表 6-26 最高发送速率 值 含 义 0 1 Mbps 1 2 Mbps 2 5.
28、5 Mbps 3 11 Mbps 4 6 Mbps 5 9 Mbps 6 12 Mbps 7 18 Mbps 8 24 Mbps 9 36 Mbps 10 48 Mbps 11 54 Mbps 1.2.4.15 AT+WIOM 功能:功能:设置/查询模块通用 IO 的工作模式。格式:格式:AT+WIOM=!?mode+OK=mode 参数:参数:mode:GPIO 工作模式 表 6-25 GPIO 工作模式 值 含 义 bit4-bit7 是否开启对应的 GPIO 功能 0 关闭 1 开启 对应关系如下:GPIO0bit4 GPIO1bit5 GPIO2bit6 GPIO3bit7 Bit0-
29、bit3 对应GPIO的输入输出工作模式 0输入 1输出 GPIO0bit0 GPIO1bit1 GPIO2bit2 GPIO3bit3 例子:比如控制 GPIO0 为输出模式,命令为 AT+WIOM=!11 比如控制 GPIO0 为输入模式,命令为 AT+WIOM=!10 比如控制 GPIO1 为输出模式,命令为 AT+WIOM=!22 比如控制 GPIO1 为输入模式,命令为 AT+WIOM=!20 比如控制 GPIO0 GPIO1 为输出模式,命令为 AT+WIOM=!33 比如控制 GPIO0 GPIO1 为输入模式,命令为 AT+WIOM=!30 1.2.4.16 AT+IOC 功能
30、:功能:设置/读取 GPIO 的状态,根据 WIOM 配置的 GPIO 的输入输出工作模式后,通过本条指令设置或者读取 GPIO 的状态 格式:格式:AT+IOC=ctrlstatus,gpiodata+OK=status 参数:参数:ctrlstatus:GPIO 工作模式 表 6-25 GPIO 工作模式 值 含 义 0 读入输入 GPIO 的状态 1 控制输出 GPIO 的状态 gpiodata:本次读入或者控制的 GPIO 管脚索引,注意每次只运行对一个 GPIO进行控制。表 6-26 gpiodata 工作模式 值 含 义 bit4-bit7 gpiodata 本次 GPIO 的索引
31、 对应关系如下:GPIO0bit4 GPIO1bit5 GPIO2bit6 GPIO3bit7 Bit0-bit3 本次 GPIO 的数据 0 低电平 1 高电平 GPIO0bit0 GPIO1bit1 GPIO2bit2 GPIO3bit3 例子:比如控制 GPIO0 为输出高电平,命令为 AT+IOC=1,11 比如控制 GPIO0 为输出低电平,命令为 AT+IOC=1,10 1.2.4.17 AT+UART 功能:功能:设置/查询 uart 接口数据格式。格式:格式:AT+UART=!?baud rate,data bit,stop bit,parity+OK=baud rate,da
32、ta bit,stop bit,parity 参数:参数:baud rate:波特率,有效值范围 1200115200,表 6-27 波特率 值 含 义 115200 115200 bps 57600 57600 bps 38400 38400 bps 19200 19200 bps 9600 9600 bps 4800 4800 bps 2400 2400 bps 1200 1200 bps data bit:数据位 表 6-28 数据位 值 含 义 0 8 位 1 7 位 stop bit:停止位 表 6-29 停止位 值 含 义 0 1 位 1 不支持 2 2 位 parity:校验 表
33、 6-30 校验 值 含 义 0 无校验 1 奇校验 2 偶校验 1.2.4.18 AT+ATLT 功能:功能:设置/查询数据自动组帧数据长度。本参数仅在串口透明传输模式下有效。格式:格式:AT+ATLT=!?length+OK=length 参数:参数:length:自动组帧长度,321024,单位字节 1.2.4.19 AT+ESPT 功能:功能:设置/查询逃逸时间。本参数用于退出串口透明传输模式。格式:格式:AT+ESPT=!?time+OK=time 参数:参数:time:逃逸时间,10010000ms,单位 ms,最小步长 100ms 1.2.4.20 AT+WEBS 功能:功能:设置/查询内置是否使能 WEB 管理服务器 格式:格式:AT+WEBS=!?enable,port+OK=enable,port 参数:参数:enable:使能标志 表 6-31 使能标志 值 含 义 0 不使能 1 使能 port:服务器端口号,缺省为 80 1.2.4.21 AT+PASS 功能:功能:设置/查询系统登录密码。格式:格式:AT+PASS=!?pass +OK=pass 参数:参数:pass:6 个 ASCII 字符