ESP8266 无线wifi AT 指令操作详解

Posted 闰土小蒋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESP8266 无线wifi AT 指令操作详解相关的知识,希望对你有一定的参考价值。

分享一下 ESP8266 无线wifi AT 的常见指令操作详解,按照官方说明整理,如有问题请私信,再次修改。

指令集分为:

  1. 基础 AT 命令、
  2. Wifi 功能 AT 命令、
  3. TCP/IP 工具箱 AT 命令等。

指令分类

  1. 测试命令 :“该命令用于查询设置命令或内部程序设置的参数以及其取值范围”
  2. 查询命令 :“该命令用于返回参数的当前值”
  3. 设置命令 :“该命令用于设置用户自定义的参数值”
  4. 执行命令:“该命令用于执行受模块内部程序控制的变参数不可变的功能”

注意:
1)不是每条 AT 指令都具备上述 4 类命令。
2)后文指令中[ ]内数据为缺省值,不必填写或可能不显示。
3)波特率 115200。
4)参数为字符串的,需要加上双引号。例如:AT+CWSAP=“ESP_756190”,“20130826”,1,4

基础 AT 命令、

  1. AT 测试 AT 响应 OK
  2. AT+RST 重启模块 响应 OK
  3. AT+GMR 查看版本信息 响应 8 位版本号

wifi 功能指令

  1. AT+CWMODE (选择 WIFI 应用模式 )

    说明
    	此指令需重启后生效(AT+RST)。
    		指令参数<mode>:
    		1 - Station 模式;
    		2 - AP 模式;
    		3 – AP + Station 共存模式。     	  
    		示例:AT+CWMODE=1,AT+CWMODE? 获取当前模式
    
  2. AT+CWJAP (加入 AP)

    说明
    	指令参数:
    	<ssid>字符串参数,接入点名称
    	<pwd>字符串参数,密码最长 64 字节 ASCII
    示例:AT+CWJAP="wifi_name","1231456",需要连接的wifi 名称和密码
    
  3. AT+CWLAP 列出当前可用 AP

    说明
    响应参数说明:
    		<ecn>0 OPEN
    		 1 WEP
    		 2 WPA_PSK
    		 3 WPA2_PSK
    		4 WPA_WPA2_PSK
    		<ssid>字符串参数,接入点名称
    		<rssi>信号强度	
    示例:AT+CWLAP		
    响应
    	成功,返回AP列表
    	+ CWLAP: <ecn>,<ssid>,<rssi>
    	OK
    	或者
    	失败,返回
    	ERROR
    
  4. AT+CWQAP (退出与 AP 的连接 )

    说明
    	响应参数说明:
    	<ecn>0 OPEN
    	 1 WEP
    	 2 WPA_PSK
    	 3 WPA2_PSK
    	4 WPA_WPA2_PSK
    	<ssid>字符串参数,接入点名称
    	<rssi>信号强度
    示例:AT+CWQAP=?	
    响应
    	成功,返回AP列表
    	+ CWLAP: <ecn>,<ssid>,<rssi>
    	OK
    	或者
    	失败,返回
    	ERROR
    
  5. AT+CWSAP (设置 AP 模式下的参数)

    说明
    	指令参数:
    	<ssid>字符串参数,接入点名称
    	<pwd>字符串参数,密码最长 64 字节
    	ASCII
    	<chl>通道号
    	<ecn>加密方式
    	0 OPEN
    	1 WEP
    	2 WPA_PSK
    	3 WPA2_PSK
    	4 WPA_WPA2_PSK
    示例:AT+CWSAP="8266","12345678",6,4  (该模块的名称和链接密码,通道和加密方式) 
    响应 
    	返回当前 AP 参数+CWSAP:<ssid>,<pwd>,<chl>,<ecn>
    
  6. AT+ CWLIF (查看已接入设备的 IP)

    说明 <ip addr> : 已接入设备的 IP 地址
    示例:AT+ CWLIF
    响应 <ip addr>
    	OK
    

TCP/IP 指令
8. AT+CIPSTATUS (获得连接状态 )

说明
	响应值说明:
	<id>连接的 id 号 0-4
	<type>字符串参数,类型 TCP 或 UDP
	<addr>字符串参数,IP 地址
	<port>端口号
	<tetype>0:本模块做 client 的连接
	 1:本模块做 server 的连接
	示例:AT+CIPSTATUS=1,"TCP","192.168.0.105",1234,1
 响应
	返回当前模块的连接状态和连接参数。
	STATUS:<stat>+ CIPSTATUS:<id>,<type>,<addr>,<port>,<tetype>
	OK
  1. AT+CIPSTART (建立 TCP 连接或注册 UDP 端口号 )

    示例:AT+CIPSTART=2,“TCP”,“192.168.1.122”,8080//建立TCP连接
    响应
    	1) 单路链接:若设置 AT+CIPMUX=0+CIPSTART:(<type>取值列表),(<IP address>范围),(<port>范围)+CIPSTART:(<type>取值列表),(<domain name>范围),(<port>范围) 
    	OK
    	2)多路链接: 若设置 AT+CIPMUX=1+CIPSTART:(id),(<type>取值列表),(<IP address>范围),(<port>范围)+CIPSTART: (id), (<type>取值列表),(<domain name>范围),(<port>范 围)
    	
    	OK - 格式正确且连接成功
    	或者
    	ERROR – 失败
    	或者
    	ALREAY CONNECT - 连接已存在
    
  2. AT+CIPSEND (发送数据)

说明
	指令参数:<id>需要用于传输连接的 id 号<length>数字参数,表明发送数据的长度,最大为 2048
示例:AT+CIPSEND   (只在透传模式下有效),当输入单独一包”+++”返回指令模式。
设置指令:
		1)单路连接时(+CIPMUX=0)AT+CIPSEND=<length>
		2)多路连接时(+CIPMUX=1)AT+CIPSEND=<id>,<length>
响应
	响应返回指定长度的数据。收到指令后先换行返回”>”,然后开始接收串口数据,当数据长度满 length时发送数据。
	如果未建立连接或连接被断开,返回ERROR
	如果数据发送成功,返回 SEND OK
  1. AT+CIPCLOSE (关闭 TCP 或 UDP)
说明 
	指令参数:<id>需要关闭的连接 id 当 id 为 5 时关闭所有连接(开启server 后 id 为 5 无效)
示例:AT+CIPCLOSE=1
响应
	如果输入正确,返回OK
	如果没有该连接则,返回Link is not
  1. AT+CIFSR (获取本地 IP 地址 )
说明 
	AP 模式下该指令无效。
	响应返回:<IP address> - 本机当前 IP 地址(station)
	示例:AT+CIFSR
	+CIFSR:STAIP,"192.168.0.102"
	+CIFSR:STAMAC,"64:v3:ec:12:31:a6"
  1. AT+CIPMUX (启动多连接)
说明 
	只有当连接都断开后才能更改,如果开启过 server 需要重启模块。
		指令参数:<mode>
		0 单路连接模式
		1 多路连接模式
		查询命令:AT+CIPMUX?
		设置指令:AT+CIPMUX=<mode>
示例:AT+CIPMUX=1,AT+CIPMUX=0
响应
	OK
	如果已经处于连接状态则,返回Link is builded
  1. AT+CIPSERVER (配置为服务器)
说明 
	指令参数:<mode>
	0 关闭 server 模式
	1 开启 server 模式
	<port>端口号,缺省值为 333
	开启 server 后自动建立 server 监听
	当有 client 接入会自动按顺序占用一个连接
	AT+ CIPMUX=1 时才能开启服务器
示例:
	AT+CIPSERVER=1,8080//创建服务器
	AT+CIPSERVER=0,8080//关闭服务器
响应
	开启 server 后自动建立 server 监听
	OK
	关闭 server 需要重启
  1. AT+CIPMODE (设置模块传输模式)

    说明
    指令参数:
    0 – 非透传模式;
    1 – 透传模式
    示例 AT+ CIPMODE=0,AT+ CIPMODE=1
    响应 OK

  2. AT+CIPSTO (设置服务器超时时间)

    说明
    < time>: 0~28800 服务器超时时间,单位为 s
    示例:AT+ CIPSTO =1000

接收的数据
+IPD 接收到的数据

实际应用操作

  1. AT+CWMODE=1
  2. AT+CWJAP=“dajiating”,“xxxxxxx”
  3. AT+CIPSTART=“TCP”,“192.168.0.105”,1234
  4. AT+SAVETRANSLINK=1,“192.168.0.105”,1234,“TCP”

下面说一下ap,sta 模式的理解

以上是关于ESP8266 无线wifi AT 指令操作详解的主要内容,如果未能解决你的问题,请参考以下文章

十二高级篇WIFI模块-ESP8266

WIFI无线传输模块使用 ESP8266芯片方案接入云平台的方法

STM32天气数据获取

esp8266wifi模块怎么用

ESP8266 01S WIFI 网络

如何用esp8266作为随身wifi