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!!!
- ESP8266-AT固件之AP模式
- ESP8266-AT固件之STA模式
- 4. ESP8266固件的编译(NONOS SDK固件 AT固件)
- esp8266固件刷新
- ESP8266固件升级
- ESP8266--学习笔记(八)-由AT固件源码分析一
- ESP8266 无线网卡AP模式和station模式
- ESP8266的固件下载
- ESP8266-01 固件更新过程
- 编译ESP8266固件说明
- ESP8266 AP服务器设置
- ESP8266 透传模式 固件(含jcson版)烧录
- 使用AT指令配置ESP8266开启透传模式
- 6. ESP8266固件的下载
- micropython esp8266固件工具教程资源
- Android Ap 开发 设计模式第五篇:单件模式
- 2. ESP8266固件的编译(nodemcu固件)
- ESP8266 AT指令
- java环境变量设置
- 接口
- This dependency was not found: * !!vue-style-loader!css-loader? 解决方案
- 《嵌入式程序员应该知道的16个问题》
- JAVA数据结构和算法:第七章(树)
- ESP8266-AT固件之AP模式
- vue框架下的滚动条优化插件
- The Google File System : part1 ABSTRACT and INTRODUCTION
- 【技术】UML学习:类图
- MySQL InnoDB存储引擎中的锁
- Github开源Java项目(IJPay)上传到Maven Central 详细介绍
- HDU-1004(基础题)
- 软件测试面试必问问题
- PHP文件的锁定机制