概述
一.ESP8266
ESP8266模块是一种串口转无线的芯片,一共有三种工作模式:STA、AP、STA+AP,而每种模式下又包括TCP服务器,TCP客户端,UDP三种子模式。
(一)串口无线AP模式
此模式下,模块作为无线 WIFI 热点,允许其他 WIFI 设备连接
到本模块,实现串口与其他设备之间的无线(WIFI)数据转换互传。该模式下,根据应用场景的不同,可以设置 3 个子模式:TCP 服务器、TCP 客户端,UDP。
(二)串口无线STA模式
此模式下,模块用于连接到无线网络,实现串口与其他设备之间的无线(WIFI)数据转换互传。该模式下,根据应用场景的不同,可以设置 3 个子模式:TCP 服务器、TCP 客户端,UDP。
(三)串口无线AP+STA模式
此模式下,模块既作无线 WIFI AP,又作无线 STA,
其他 WIFI 设备可以连接到该模块,模块也可以连接到其他无线网络,实现串口与其他设备之间的无线(WIFI)数据转换互传。该模式下,根据应用场景的不同,可以设置 9 个子模
式:(TCP 服务器、TCP 客户端,UDP)||(TCP 服务器、TCP 客户端,UDP)。
二.ESP8266与USB-TTL的连接
了解了ESP8266的几种工作模式,接下来就是ESP8266模块与USB转TTL模块的连接
特别注意:
(1)ESP8266最好用3.3V供电,5V供电容易使ESP8266模块发热。
(2)EN(CH_PD)引脚要接高电平,此引脚为高电平模式使能,低电平模块失能
(3)若是不通过USB转TTL模块供电,单独给ESP8266模块供电时,外接电源需要和USB-TTL模块共地,即把外接电源的地和USB_TTL的地连接在一起即可。
连接好之后,ESP8266模块红灯常亮,蓝灯闪烁两次即代表连接成功。本人在连接时就遇到了麻烦,反复确认连接是没有问题的,但红灯始终不亮,后来通过测试AT指令发现是可以的,所以我才确定自己的连接没有问题,是模块的电源指示灯坏了。所以当确定自己的连接没有问题时,可是试试AT指令是否正常,以此来断定是否模块的指示灯坏了。
三.ESP8266几种模式测试
此部分我们需要准备两个软件:串口调试助手和网络调试助手
串口调试助手的波特率设置为115200,8个数据位,1个停止位,无奇偶校验位
(一)STA模式下做TCP服务器
1.AT+CWMODE=1 //设置模式为STA模式(1为STA模式、2为AP模式、3为STA+AP模式)
2.AT+RST 重启模块
3.AT+CWJAP=“WIFI热点名称“,”密码” //(ESP8266与电脑或手机要连接统一WIFI)
4.AT+CIFSR //查看此WIFI分配给模块的IP地址
5.AT+CIPMUX=1 //设置多连接(0为单连接,1为多连接),只有设置为多连接的情况下才可以开启服务器
6.AT+CIPSERVRE=1,8080 //1为通道号,8080为端口号
此时,ESP8266模块配置完成,然后打开网络调试助手
协议类型选择TCP Client(TCP客户端),服务器IP地址则是第四步查询到的分配给模块的IP地址,服务器端口号是在第六步中自己设置的。最后点击连接,打开网络调试助手。此时就可以实现电脑与模块之间的通信了
如下图所示,由网络调试助手发送消息,在串口调试助手上可以接收到消息
同样,也可由串口助手向网络调试助手发送消息
特别注意:串口助手发送消息前要先发送指令 AT+CIPSEND=0,8 //0表示通道号,8表示通信字节数
并且每发送一条消息都要发送一遍此指令
(二)STA模式下做TCP客户端(透传模式)
1.AT+CWMODE=1
2.AT+RST
3.AT+CWJAP=“WIFI热点名称“,”密码”
4.AT+CIPMUX=0 //设置为单连接,透传模式只能用单连接
5.AT+CIPMODE=1 //设置为透传模式,1为透传模式,0为非透传模式
6.打开网络调试助手,协议类型选择TCP Server,此时的服务器IP地址是自动识别的,不需要更改,服务器端口号可自行选择,最后点击连接,打开网络调试助手。
7.AT+CIPSTART=“TCP”,“网络调试助手服务器分配给客户端的IP地址”,“网络调试助手上设置的服务器端口号”
8.AT+CIPSEND //进入透传模式
上述8步完成后,便可实现两者之间的通信
退出透传模式,只需发送由串口调试助手发送 +++ 即可
特别注意:一定要取消发送新行。(本人在调试时一直无法退出透传模式,最后发现是由于发送 +++时下面有太多空行导致无法退出,把空行全部删除后就成功退出了)
退出透传模式后可发现,串口助手发送消息网络调试助手接收不到了。此时再勾选上发送新行,就可继续发送AT指令了。
(三)AP模式下做TCP服务器
电脑或手机连接ESP8266模块发出的WiFi热点进行通信
1.AT+CWMODE=2
2.AT+RST
3.AT+CWSAP=“热点名称”,“热点密码,最长64位,最短为8位否则会加密失败”,通道号,加密方式
eg.AT+CWSAP=“HELLO”,“12345678”,1,4
4.AT+CIPAP? //查看模块的IP地址
或AT+CIPAP=“192.xxx.xxx.xxx” //自己给模块设置一个IP地址
5.AT+CIPMUX=1
6.AT+CIPSERVRE=1,8080 //1为通道号,8080为端口号
7.打开电脑或手机连接ESP8266模块产生的WIFI信号,打开网络调试助手,协议类型选择TCP Client(TCP客户端),IP地址为第四步中查询到的模块IP地址或者是自己设置的IP,服务器端口号为第六步设置的。
上述7步完成后两者之间即可进行通信。同样此种模式下,模块若要给电脑或手机发送信息,在发送信息前都要发送指令AT+CIPSEND=0,8
(四)AP模式下做TCP客户端(透传模式)
1.AT+CWMODE=2
2.AT+RST
3.AT+CWSAP=“热点名称”,“热点密码,最长64位,最短为8位否则会加密失败”,通道号,加密方式
4.AT+CIPMUX=0 //设置为单连接
5.AT+CIPMODE=1 //设置为透传模式
6.打开电脑或手机连接ESP8266模块产生的WIFI信号,打开网络调试助手,协议类型选择TCP Server,此时的服务器IP地址是自动识别的,服务器端口号可自行选择,最后点击连接
7.AT+CIPSTART=“TCP”,“网络调试助手服务器分配给客户端的IP地址”,“网络调试助手上设置的服务器端口号”
8.AT+CIPSEND //进入透传模式
手机或电脑连接上ESP8266模块产生的WIFI信号后,二者即可进行通信。
本人小白一个,文中如有错误还请见谅。
最后
以上就是敏感大象为你收集整理的ESP8266模块学习笔记(一)的全部内容,希望文章能够帮你解决ESP8266模块学习笔记(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复