ESP8266-AT固件之AP模式

来源:互联网 发布:中世纪2 原版优化 编辑:程序博客网 时间:2024/06/13 01:04

首先得知道ESP8266的三种工作方式

AP模式
STA模式
AP+STA模式

可以这样来形象的理解三个工作模式

AP模式就仅仅相当于路由器功能可以发出信号。 当然我们知道路由器不仅仅能发出信号,当然可以接受信号的,所以就有了STA模式的基站功能就是接受信号。

接受完信号是不是还能广播出去呢?当然可以了!!所以就有了AP+STA模式的工作方式

进行AP模式的配置前提当然是得刷AT固件了,可参见这篇文章
NodeMCU之AT固件与NodeMCU固件任意刷

然后,让我们开始我们的表演吧!

ESP8266做服务器,PC做客户端

Step1

AT+CWMODE=2 //配置ESP8266模块为AP模式(即路由器模式,可以发出WiFi)

出现 no change的字样也无所谓,只要再用AT+CWMODE? 看一下是不是处于AP模式就OK

模式:AT+CWMODE=?    //响应返回当前可支持哪些模式AT+CWMODE?     //响应当前处于哪种模式AT+CWMODE=2   //1-Station 模式,2-AP 模式,3-AP 兼 Station 模式

Step2

AT+RST  //重启模块使AT+CWMODE=2模式生效

这里写图片描述

这里写图片描述
对应ESP8266的WiFi打开

Step3

AT+CIPMUX=1 //启动多连接

这里写图片描述

所谓的多路连接:多个客户端连接。ESP8266**最多允许5个客户端进行连接,每个客户端根据连接先后顺序对应分配**id 0~4

通信方式呢?没错就是有名的TCP/UDP通信

UDP:分为接收端和发送端。面向无连接的通信。速度较TCP快。
向 “指定的IP” 和“指定的端口”发数据
到 “指定的电脑”和“指定的软件”下

TCP:分为服务端和客户端。面向有连接的通信。速度较UDP慢。
TCP Client = TCP客服端 = TCP客户端
需要配置远程主机地址(服务器IP地址及端口)。
ESP8266做服务器时,IP固定为192.168.4.1
不放心可通过AT+CIFSR查看模块IP

注意:

TCP连接通信的时候,相应设备必须处于同一个网络中,即处于同一个局域网中!!!!
AP模式下ESP8266做服务端时就是,手机和电脑必须连在ESP8266的WiFi

Step4

AT+CIPSERVER=1,8080 //模块开启服务器模式,端口号8080

这里写图片描述这里写图片描述

远程主机地址为什么是192.168.4.1

你可以发送AT+CIFSR指令查看一下模块的自身ip地址

这里写图片描述
这里写图片描述

以上就是利用AT固件中创建ESP8266服务器的过程
接下来演示创建PC以及手机版的客户端。

再次提醒一下,务必连接到ESP8266产生的WIFI客户端才能成功连接到服务器

这里写图片描述
这里写图片描述
客户端连接成功的ID号貌似在这个版本中不显示,怎么知道它的ID呢?可以这样
用客户端给服务器发信息,服务器接收到的信息中就包含ID了
这里写图片描述

(貌似客户端向服务器发字符没有限制呢!)

服务器怎么向客户端发送信息呢?(记得这里把“加回车换行”这个选项给去掉)
先发送

AT+CIPSEND=×,× //第一个×是对应的ID号,第二个×是对应的字符个数

这里写图片描述

注意对应的字符个数问题,如果个数少了就不发,个数多了就只发前对应的个数。总结为:少补多退

这里写图片描述
这里写图片描述

手机端也连进去

注意:连之前先连入8266的WIFI
手机端发送123

这里写图片描述

电脑端发送456
这里写图片描述

此时由于操作时间有点长,电脑端断了,又重新连了。手机端的ID变为0,后来连入的电脑端ID为1

ESP8266做客户端,PC做服务器

接下来才是正是的好戏。。。

先来道开胃菜,单连接模式

模块的指令配置咱从头再来
这之前务必先办好两件事情:

务必

1. AP模式下PC连接ESP8266的WiFi。
2. 关闭防火墙
关闭防火墙的方法:最快捷的cmd+R->services.msc->windows firewall ->双击后自动改为禁用
注意,如果出来什么警告的话记得选择允许!!!

为了安全,玩完之后一定要记得重新把防火墙开启!!!

步骤:

1,还是设置模块的工作模式为ap模式AT+CWMODE=2

2,复位一下AT+RST

3,发送AT+CIPMUX=0 启动单连接,

4,AT+CIPSTART=”TCP”,”192.168.4.100”,8080
TCP说明是tcp连接,如果写udp就是udp连接
192.168.4.100连接的ip地址,电脑的ip,端口号8080

再注意

关于这个IP地址的事情,要特别注意一下。当你打开网络调试助手的,选择TCP Server后会自动出来IP地址,因每个新建的TCP sever的IP地址不相同,需把刚才的对应的IP更新

这里写图片描述

这里写图片描述

单发通信指令

这里写图片描述

AT+CIPSEND=× //对应的就是个数了

这里写图片描述

最后再来一下服务器往客户端发!!!
这里写图片描述

正式佳肴,多路连接

步骤

看多路连接(首先提醒一下一个模块可以做到四路连接)

1,还是设置模块的工作模式为ap模式AT+CWMODE=2

2,复位一下AT+RST

3,发送AT+CIPMUX=1 启动多连接

4,AT+CIPSTART=0,”TCP”,”192.168.4.2”,8080

5, AT+CIPSEND=0,20

6,随便打些东西

7,发送

这里写图片描述

是否真的像API文档一样ID只有0~4?试一下5就知道

这里写图片描述

不言而喻!!!

当服务器选择向客户端发的时候,因为是多发要选择相应的IP+port!
这里写图片描述

这里写图片描述

貌似又OVER了 哈哈哈哈~~~~666666666666666666

讲实话,弄这个的时候被防火墙坑惨了!!! OMG!!!

原创粉丝点击