ESP8266 AT命令速查

2015年8月19日 7422点热度 0人点赞 0条评论

[text]
3.2. 基础AT指令
3.2.1 测试AT
语法规则:
命令类型 语法 返回和说明
执行命令 AT OK

3.3. WiFi功能AT指令
3.3.1 选择WiFi应用模式:AT+CWMODE
语法规则:
命令类型 语法 返回和说明
设置命令 AT+CWMODE = <mode> OK
此指令需重启后生效(AT+RST)
查询命令 AT+CWMODE? +CWMODE:<mode>

OK
当前处于哪种模式?
测试命令 AT+CWMODE? +CWMODE:(<mode>取值列表)

OK
当前可支持哪些模式?

参数定义:
参数 定义 取值 对取值的说明
<mode> WiFi应用模式 1 Station模式
2 AP模式
3 AP+Station模式

3.3.2 列出当前可用接入点:AT+CWLAP
语法规则:
命令类型 语法 返回和说明
执行命令 AT+CWLAP +CWLAP: <ecn>,<ssid>,<rssi>[,<mode>]

OK
此指令返回AP列表

参数定义:
参数 定义 取值 对取值的说明
<ecn> 加密方式 0 OPEN
1 WEP
2 WPA_PSK
3 WPA2_PSK
4 WPA_WPA2_PSK
<ssid> 接入点名称 字符串参数
<rssi> 信号强度
<mode> 连接模式 0 手动连接
1 自动连接

3.3.3 加入接入点:AT+CWJAP
语法规则:
命令类型 语法 返回和说明
设置命令 AT+CWJAP=<ssid>,<pwd>
OK 或 ERROR
加入该AP成功则返回OK,失败则返回ERROR
查询命令 AT+CWJAP? +CWJAP:<ssid>

OK
返回当前选择的AP

参数定义:
参数 定义 取值 对取值的说明
<ssid> 接入点名称 字符串型
<pwd> 密码 字符串型,最长64字节,ASCII编码
3.3.4 退出接入点:AT+CWQAP
语法规则:
命令类型 语法 返回和说明
执行命令 AT+CWQAP OK
表示成功退出该AP
测试命令 AT+CWQAP=? OK
查询该命令是否支持

3.3.5 设置AP模式下的参数:AT+CWSAP
语法规则:
命令类型 语法 返回和说明
设置命令 AT+CWSAP=<ssid>,<pwd>,<chl>, <ecn> OK
设置参数成功
查询命令 AT+CWSAP? OK
查询当前AP参数

参数定义:
参数 定义 取值 对取值的说明
<ecn> 加密方式 0 OPEN
1 WEP
2 WPA_PSK
3 WPA2_PSK
4 WPA_WPA2_PSK
<ssid> 接入点名称 字符串参数
<pwd> 密码 字符串型,最长64字节,ASCII编码
<chl> 通道号

3.4. TCPIP AT指令
3.4.1 建立TCP/UDP连接:AT+CIPSTART
语法规则:
命令类型 语法 返回和说明
设置命令 单 路 连 接 (+CIPMUX=0)时:

AT+CIPSTART=<type>,<addr>,<port>
多路连接(+CIPMUX=1)时:

AT+CIPSTART=<id>,<type>,<addr>,<port> 如果格式正确,返回:
OK

否则返回:
+CME ERROR: invalid input value

连接成功,返回:
CONNECT OK (CPIMUX=0)
<id>, CONNECT OK (CIPMUX=1)

如果连接已经存在,返回:
ALREADY CONNECT

连接失败返回:
CONNECT FAIL (CIPMUX=0)
<id>, CONNECT FAIL (CIPMUX=1)

参数定义:
参数 定义 取值 对取值的说明
<id> Link No. 0~4 表示连接序号
0号连接可client或server连接,其他id只能用于连接远程server
<type> 连接类型 “TCP”/”UDP”
<addr> 远程服务器IP地址 字符串型
<port> 远程服务器端口号

3.4.2 获得TCP/UDP连接状态:AT+CIPSTATUS
语法规则:
命令类型 语法 返回和说明
执行命令 AT+CIPSTATUS 如果是单路连接(AT+CIPMUX=0),返回:
OK

STATE: <sl_state>
如果是多路连接 (AT+CIPMUX=1),返回:
OK

STATE:<ml_state>
如果配置为服务器:
STATE:IP STATUS
S: <sid>,<port>,<server state>
C:<cid>, <TCP/UDP>, <IP address>, <port>, <client state>
测试命令 AT+CIPSTATUS=? 返回:
OK

参数定义:
参数 定义 取值 对取值的说明
<sl_state>

单连接状态

IP INITIAL 初始化
IP STATUS 获得本地 IP 状态
TCP CONNECTING/UDP CONNECTING TCP 连接中/UDP 端口注册中
CONNECT OK 连接建立成功
TCP CLOSING/UDP CLOSING 正在关闭 TCP 连接,正在注销 UDP 端口
<ml_state> 多链接状态 IP INITIAL 初始化
IP STATUS 获得本地 IP 状态
<sid> 服务器id 0~1 取值为0和1
<server state> 服务器状态 OPENING 正在打开
LISTENING 正在监听
CLOSING 正在关闭
<cid> 客户端id 0~4 取值为0,1,2,3,4
<IP address> IP 地址 - 字符串参数(字符串需要加引号)
<port> 服务器监听端口号 - 整数型
<client state> 客户端状态 CONNECTED 已连接
CLOSED 已关闭

3.4.3 启动多连接:AT+CIPMUX
语法规则:
命令类型 语法 返回和说明
设置命令 AT+CIPMUX=<mode>
OK

如果已经处于多连接模式,则返回
Link is builded
启动多连接成功
查询命令 AT+CIPMUX? +CIPMUX:<mode>

OK
查询当前是否处在多连接模式

参数定义:
参数 定义 取值 对取值的说明
<mode> 是否处在多连接模式 0 单连接模式
1 多连接模式

3.4.4 发送数据:AT+CIPSEND
语法规则:
命令类型 语法 返回和说明
设置命令 单 路 连 接 (+CIPMUX=0)时:
AT+CIPSEND=<length>
多路连接(+CIPMUX=1)时:
AT+CIPSEND=<id>,<length> 响应 模块收到指令后先换行返回”>”,然后开始接收串口数据,当数据长度满length时发送数据

如果未建立连接或连接被断开,返回ERROR如果数据发送成功,返回SEND OK

说明 发送指定长度的数据
测试指令 AT+CIPSEND? 响应 单路连接(AT+CIPMUX=0)返回:
+CIPSEND: <length>

OK
多路连接(AT+CIPMUX=1)返回:
+CIPSEND: <0-7>,<length>

OK
执行命令 AT+CIPSEND 说明 AT+CIPMODE=1并且作为客户端模式下,进入透传模式(需要支持硬件流控,否则大量数据情况下会丢数据)

模块收到指令后先换行返回”>”,然后会发送串口接收到的数据。

参数定义:
参数 定义 取值 对取值的说明
<length> 数据长度 单位:字节
<id> Link No. 0~4 连接序号

3.4.5 关闭TCP/UDP连接:AT+CIPCLOSE
语法规则:
命令类型 语法 返回和说明
设置命令 单路连接时

AT+CIPCLOSE=<id> 返回:
CLOSE OK
多路连接时

AT+CIPCLOSE=<n>[,<id>] 返回:
<n>,CLOSE OK
执行命令 AT+CIPCLOSE
如果关闭成功,返回:
CLOSE OK

如果关闭失败,返回:
ERROR
测试命令 AT+CIPCLOSE? 返回:
OK
注意事项  执行命令只对单链接有效,多链接模式下返回ERROR
 执行命令AT+CIPCLOSE 只有在TCP/UDP CONNECTING或CONNECT OK状态下才会关闭连接,否则会认为关闭失败返回ERROR
 单路连接模式下,关闭后的状态为IP CLOSE

参数定义:
参数 定义 取值 对取值的说明
<id> 关闭模式 0 慢关(缺省值)
1 快关
<n> Link No. 0~7 整数型,表示连接序号

3.4.6 获取本地IP地址:AT+CIFSR
语法规则:
命令类型 语法 响应和说明
执行命令 AT+CIFSR 响应 + CIFSR:<IP address>

OK
或者
ERROR
测试命令 AT+CIFSR=? 响应 OK

参数定义:
参数 定义 取值 对取值的说明
<IP address> 本机目前的IP地址(station)

3.4.7 配置为服务器:

3.4.8 选择TCPIP应用模式:AT+CIPMODE
语法规则:
命令类型 语法 返回
设置命令 AT+CIPMODE=<mode> OK
查询命令 AT+CIPMODE? +CIPMODE: <mode>

OK

参数定义:
参数 定义 取值 对取值的说明
<mode> TCPIP应用模式 0 非透明传输模式,缺省模式
1 透明传输模式

3.4.9 设置服务器主动断开的超时时间:AT+CIPSTO
命令类型 语法 返回和说明
设置命令 AT+CIPSTO=<server timeout > OK
查询命令 AT+CIPSTO? + CIPSTO:<server timeout>

OK

参数定义:
参数 定义 取值 对取值的说明
<server timeout > 用来设置服务器主动断开连接的超时时间 0~28800(s) 用本命令设置好超时时间后,服务器到时间就断开连接。

3.4.10 设置波特率:AT+CIOBAUD
语法规则:
命令类型 语法 返回和说明
设置命令 AT+CIOBAUD=<rate> 返回:
OK

默认波特率是9600

参数定义:
参数 定义 取值 对取值的说明
< rate > 波特率,
单位bps 0 自适应波特率
110
300
1200
2400
4800
9600
14400
19200
28800
38400
57600
115200
230400
460800
921600

[/text]

Dong Wang

Master student of computer science at Uppsala University in Sweden. My primary research interests are deep learning, computer vision, federated learning and internet-of-things.

文章评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据