esp8266 wifi模组入网案例

C语言编程 同时被 2 个专栏收录
56 篇文章 0 订阅
7 篇文章 0 订阅
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

 

  • 5
    点赞
  • 2
    评论
  • 29
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页

打赏

jinxueH专栏

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值