PC版本的服务器客户端模拟器记得以管理员身份运行,本节使用固件可从百度云下载,<这里,密码:ojoi>
AP模式就仅仅相当于路由器功能可以发出信号。 当然我们知道路由器不仅仅能发出信号,当然可以接受信号的,所以就有了STA模式的基站功能就是接受信号。
接受完信号是不是还能广播出去呢?当然可以了!所以就有了AP+STA模式的工作方式
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模式生效
Step3
AT+CIPMUX=1 //启动多连接
多路连接
多个客户端连接。
ESP8266
最多允许5个
客户端进行连接,每个客户端根据连接先后顺序对应分配id 0~4
通信方式呢是TCP/UDP通信。
UDP
Server
和Client
TCP
快TCP
Server
和Client
AT+CIFSR
查看模块IP注意:
Step4
AT+CIPSERVER=1,8080 //模块开启服务器模式,端口号8080
远程主机地址AT+CIFSR
指令查看一下。
模块的自身ip地址是192.168.4.1
创建PC以及手机版的客户端
再次提醒一下,务必连接到
ESP8266
产生的WIFI客户端才能成功连接到服务器
客户端连接成功的ID
号貌似在这个版本中不显示,怎么知道它的ID
呢?
可以这样用客户端给服务器发信息,服务器接收到的信息中就包含ID
了
客户端向服务器发字符没有限制呢!
服务器怎么向客户端发送信息呢?(记得这里把“加回车换行”这个选项给去掉)
先发送
AT+CIPSEND=×,× //第一个×是对应的ID号,第二个×是对应的字符个数
注意对应的字符个数问题,如果个数少了就不发,个数多了就只发前对应的个数。总结为:少不多退
手机端也连进去
注意:连之前先连入8266的WIFI
手机端发送123
此时由于操作时间有点长,电脑端断了,又重新连了。手机端的ID变为0,后来连入的电脑端ID为1
先来道开胃菜,单连接模式,这之前务必先办好两件事情:
务必
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地址,因每个新建的TCPsever的IP地址不相同,需把刚才的对应的IP更新
单发通信指令
AT+CIPSEND=× //对应的就是个数了
正式佳肴,多路连接
步骤
看多路连接(首先提醒一下一个模块可以做到
5路连接
)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!