ESP8266可以配置三种模式:
station模式 : 0x01
soft-AP模式 : 0x02
soft-AP兼station模式 : 0x03
1、station模式
station模式可以连接其他的路由器,不能被其他的设备连接。
2、soft-AP模式
AccessPoint即网络接入点,可以看成是路由器模式,即可以让其他的WiFi设备连接本模块,但是模块自己就不能连接其他的路由器。
3、station+soft-AP模式
可以看成是station和soft-AP的混合模式,即模块本身自己可以连接其他的路由器也可以被其他的设备连接。这个模式是主要的使用模式,因为可以实现真正的路由器功能。
一、UDP模式
1、station-UDP模式下,esp8266模块作为客户端连接服务器对端(同一网段)
(1).设置客户端模式
AT+CWMODE_DEF=1 //station模式,只去接别人,不让别人接入
(2)需重启生效
AT+RST
(3)使能上电自动连接AP
AT+CWAUTOCONN=1
(4).连接路由器
AT+CWJAP_DEF="ZXAQ2","zxaq8888"(这里是电脑端wifi充当路由器)
(5).查看连接IP
AT+CIFSR (查看esp8266模块的IP地址) //在电脑端连接名为"ZXAQ2"的wifi后,建立IP地址为"192.168.0.184",端口号为 8080的服务器。并设置远程主机端口号为9000
(6)查看wifi信号强度
AT+CWJAP_DEF?
(7).连接UDP服务器
AT+CIPSTART="UDP","192.168.0.184",8080,9000,0 //单连接模式,多连接模式:AT+CIPMUX=1;AT+CIPSTART=1,"UDP","192.168.0.184",8080,9000,0
192.168.0.184是电脑 IP地址,8080表示目标(在此是电脑)UDP端口,9000表示本地端口( 即ESP8266),0表示远端不变)。
(8).开启透传模式
AT+CIPMODE=1(用该指令开启透传模式后,再通过串口调试助手给esp8266模块发送AT+CIPSEND就可以不限字节发送)
(9).开启透传准备模块与电脑进行互传数据
AT+CIPSEND // 注:该指令下开启透传模式,没有""SEND OK""返回。
(10).关闭透传模式
+++ //在透传模式中,若识别到单独的一包数据“+++”,则退出透传模式。+++后面加换行
AT+SAVETRANSLINK=0 //0取消开机透传,1保存开机进入透传模式
AT+CIPCLOSE //关闭UDP
2、softAP-UDP模式下,路由(局域网)和节点连接通信(同一网段)
(1)设置模式
AT+CWMODE=2 //配置为softAP模式
(2)需要重启生效
AT+RST
(3)esp8266 wifi模块建立一个“TCP_Server”路由,密码,通道,加密方式
AT+CWSAP_DEF="TCP_Server","12345678",5,4 //配置AP信息
(4)查询本机IP地址
AT+CIFSR //在电脑端连接名为"TCP_Server"的wifi后,建立IP地址为"192.168.4.2",端口号为8080的服务器。并设置远程主机端口号为9000
(5)开启UDP连接
AT+CIPSTART="UDP","192.168.4.2",8080,9000,0 //UDP模式,"192.168.4.2"为电脑端服务器的UDP地址,8080为电脑端服务器的端口号,9000为wifi 路由模块端口号
(6)发送数据到服务器端
AT+CIPSEND=10//发送10个字节的数据到服务器,若该指令为:AT+CIPSEND没有=10,则发送数据后无"SEND OK"
(7)关闭UDP
AT+CIPCLOSE
3、station+softAP兼容模式
兼容1、2两种配置方式
二、TCP模式
1、wifi模块作为TCP Server端配置(TCP模式下连接,有超时机制,超时了服务器会把客户端关掉,需要设置心跳时时保持连接或者重新连接)
(1)配置为softAP模式
AT+CWMODE=2
(2)需要重启才能生效
AT+RST
(3)配置AP信息
AT+CWSAP_DEF="ESP8266","12345678",5,4
(4)查询本模块的IP地址
AT+CIFSR //查询wifi模块IP地址。该指令配置完后,电脑端搜索名为“ESP8266”并连接它,用网络调试助手建立一个IP地址与刚刚查询出来的wifi IP在同一网段的IP,并设置端口号
(5)开启多连接
AT+CIPMUX=1 //开启多连接
(6)开启服务器
AT+CIPSERVER=1 //由wifi模块作为服务器
(7)给0号客户端发送信息
AT+CIPSEND=0,10 //给0号客户端发送10个字节长度的信息,若给1号客户端发送信息,则AT+CIPSEND=1,10
(7)关闭某一客户端连接
AT+CIPCLOSE=0 //多连接模式,可以将0号客户端关闭连接。AT+CIPCLOSE=1,关闭1号客户端的连接
(8)关闭服务器
AT+CIPSERER=0
2、wifi模块作为TCP Client端配置
(1)配置为Station模式
AT+CWMODE_DEF=1
(2)需要重启生效
AT+RST
(3)连接到AP
AT+CWJAP_DEF="ZXAQ2","zxaq8888" //在电脑端用网络调试助手建立一个IP为192.168.0.184,端口号为9999的服务器,并“打开”它
(4)查询本wifi模块IP地址
AT+CIFSR
(5)开启单连接
AT+CIPMUX=0
(6)连接到TCP服务器
AT+CIPSTART="TCP","192.168.0.184",9999 //电脑端作为服务器,当然也可以用两个wifi模块,一个充当服务器,一个充当客户端
(7)给服务器发送信息
AT+CIPSEND=10 //给服务器发送10个字节长度的信息或数据
(8)关闭客户端
AT+CIPCLOSE
(9)服务器一直开启的情况下再连接
AT+CIPSTART="TCP","192.168.0.184",9999
3、station+softAP兼容模式
兼容1、2两种配置方式
三、smartconfig智能配置
说明:使用两种方式进行配网,乐鑫ESP-Touch和微信Airkiss
准备ESP8266wifi模组,ESP-Touch APP
注意:手机与电脑需连接同一个wifi
方式一:ESP-Touch
(1)配置WIFI模组为Station模式并保存到flash
AT+CWMODE_DEF=1
(2)需重启生效
AT+RST
(3)使能上电自动连接AP(路由)
AT+CWAUTOCONN=1
(4)支持ESP-Touch和Airkiss智能配网
AT+CWSTARTSMART
(5)手机连上需要连接的AP(路由器),打开APP ESP-Touch输入密码,点击确定,等待配网成功,如下图:
图1 手机ESP-Touch APP
图2 esp8266wifi模组在串口调试助手打印wifi连接成功
(6)释放内存
AT+CWSTOPSMART //无论配网是否成功,都需要释放内存
(7)查询网络连接状态
AT+CIPSTATUS
(8)查看wifi信号强度
AT+CWJAP_DEF?
(9)开启多连接
AT+CIPMUX=1
(10)连接IP地址为:192.168.0.184,端口号为8000的服务器
AT+CIPSTART=0,"UDP","192.168.1.184",8000 //心跳包。第一次上电,终端设备先发数据给服务器,且客户端把端口号分配给服务器,服务器不能先发送数据给客户端
(11)连接IP地址为:192.168.0.184,端口号为8888的服务器
AT+CIPSTART=1,"UDP","192.168.1.184",8888 //数据包。第一次上电,终端设备先发数据给服务器,且客户端把端口号分配给服务器,服务器不能先发送数据给客户端
(12)wifi模块给端口号为8000的服务器发送数据
AT+CIPSEND=0,12 //给0号服务器发送12字节的数据,同时分配wifi端口号给服务器
给esp8266wifi模组发送"我是心跳包!"
(13)wifi模块给端口号为8888的服务器发送数据
AT+CIPSEND=1,12 //给1号服务器发送12字节的数据,同时分配wifi端口号给服务器
给esp8266wifi模组发送"我是数据包!"
(14)关闭0号服务器的连接
AT+CIPCLOSE=0
(15)关闭1号服务器的连接
AT+CIPCLOSE=1
方式二:打开微信,关注微信公众号“安信可科技”,可用WIFI设置来配置。
关注公众号:
图3 微信上搜索“安信可科技”公众号
图4 关注“安信可科技”公众号
关注“安信可科技”公众号成功!
(1)配置WIFI模组为Station模式并保存到flash
AT+CWMODE_DEF=1
(2)需重启生效
AT+RST
(3)使能上电自动连接AP(路由)
AT+CWAUTOCONN=1
(4)支持ESP-Touch和Airkiss智能配网
AT+CWSTARTSMART
(5)手机连上需要连接的AP(路由器),打开微信刚刚关注的“安信可科技”公众号,输入密码,点击确定,等待配网成功,如下图:
图5 手机一键给esp8266 wifi模组配网
图6 开始一键配网
输入要链接的路由器的wifi名称和密码,点击“连接”按钮:
图7 输入路由器密码
图8 手机一键给esp8266 wifi模组配网进行中
图9 esp8266wifi模组在串口调试助手打印wifi已连接成功
图10 手机和esp8266 wifi模组配网成功
一键配网到此就成功了,进行下面的配置!
(6)释放内存
AT+CWSTOPSMART //无论配网是否成功,都需要释放内存
(7)查询网络连接状态
AT+CIPSTATUS
(8)查看wifi信号强度
AT+CWJAP_DEF?
(9)开启多连接
AT+CIPMUX=1
(10)连接IP地址为:192.168.10.113,端口号为8000的服务器
AT+CIPSTART=0,"UDP","192.168.10.113",8000 //心跳包。第一次上电,终端设备先发数据给服务器,且客户端把端口号分配给服务器,服务器不能先发送数据给客户端
(11)连接IP地址为:192.168.10.113,端口号为8888的服务器
AT+CIPSTART=1,"UDP","192.168.10.113",8888 //数据包。第一次上电,终端设备先发数据给服务器,且客户端把端口号分配给服务器,服务器不能先发送数据给客户端
(12)wifi模块给端口号为8000的服务器发送数据
AT+CIPSEND=0,12 //给0号服务器发送12字节的数据,同时分配wifi端口号给服务器
给esp8266wifi模组发送"我是心跳包!"
(13)wifi模块给端口号为8888的服务器发送数据
AT+CIPSEND=1,12 //给1号服务器发送12字节的数据,同时分配wifi端口号给服务器
给esp8266wifi模组发送"我是数据包!"
(14)关闭0号服务器的连接
AT+CIPCLOSE=0
(15)关闭1号服务器的连接
AT+CIPCLOSE=1
博主提示:方式一和方式二是连接两个不同的wifi路由器。
还有一种智能配网,就是先实现手机一键配网,然后手机和设备自动连接,实现手机/平板控制设备,如智能插座,智能音箱等。
详细请看机智云,可以参考:https://blog.csdn.net/euxnijuoh/article/details/82116878
网络调试助手链接:
https://pan.baidu.com/s/1SwblKVH9tiuZGDac0JAkPw,密码:m4mu
ESP-Touch APP链接:
链接:https://pan.baidu.com/s/1AGEu57gQ_TrUBhXnfUF8tA 密码:k0ol