ESP8266学习记录一


前言

从这周开始我开始学习ESP8266WIFI模块,并将我的学习经历记录下来供和我一样的初学者学习讨论。


一、ESP8266

ESP8266与HC-05蓝牙模块类似,都是一种串口转其他通信的模块,也就是说用这个模块我们不需要了解许多网络协议,仅仅靠串口通信就可以将我们的主控芯片连接到网络进行数据传输。
市面上有两种ESP8266模块,都是使用的同样的ESP8266芯片,只不过正点原子只引出了6个引脚,官方模块引出了8个引脚,如果我们不使用已经刷好的固件库(也就是不打算利用ESP8266芯片做一些控制)那么这两个模块没有太大使用区别。

市面上最主流的有两种版本,下面我会做简单的介绍。

正电原子模块

我是用正点原子开始学习的ESP8266,本来是想正点原子会有一些源代码和对应视频,但是找了半天只找到源代码和一个长达数十页的pdf,后来根据学长给的一个视频学习进度才有所进展。

这是我存在百度网盘的视频:配置正点原子ESP8266
提取码:ljt1

下面就是正点原子模块的实拍
在这里插入图片描述

在这里插入图片描述
从图片中我们不难看出,正点原子模块共有六个引脚

引脚功能
VCC3.3V或者5V
GND接地
TXD发送数据引脚
RXD接收数据引脚
IO_0复位(低电平有效)
RST用于进入固件烧写模式,低电平是烧写模式,高电平运行

这次使用中我并没有直接用单片机进行数据的传输,而是直接连接到电脑先大致了解一下该模块的工作方式,所以我采用的是USB-TTL芯片和它相连然后连接电脑。
具体连接方式为

正点原子模块USB-TTL
VCC5V
GNDGND
TXDRXD
RXDTXD

这里网上建议该模块连接5V作为电源,因为有博主在3.3V使用的时候偶尔会有丢失数据的情况,所以我们就直接使用5V供电。

官方模块

下面的图片就是官方模块的实拍
在这里插入图片描述
在这里插入图片描述
从图片中我们可以清楚的看到有8个引脚伸出

引脚功能
VCC3.3V或者5V
REST复位
CH_PD高电平工作,低电平模块供电关闭
UTXD发送数据(也可作为GPIO1)
URXD接收数据
GPIO0默认为WIFI状态STA
GPIO2没找到具体用处
GND接地

由于我们不对ESP8266的固件库进行修改,所以我们的连接方式和正点原子模块是差不多的,唯一的区别就是CH_PD引脚也需要接电源,原因可以从我上面给出的表格看到。

二、配置过程

首先给出需要用到的两个软件
XCOM串口调试助手 提取码:s2g7
网络调试助手 提取码:lp3g
下载安装好我们的软件后就进行我们硬件的连接
硬件连接依照第一部分的表格,将模块与USB-TTL进行连接,并将我们的USB连接到电脑。

1.初次问候

硬件连接之后我们就可以打开XCOM串口调试助手,串口波特率调整为115200,在对话框中输入AT并发送,如果我们的模块正常则会返回一个OK。
此时就代表我们和模块取得了第一次联系
这里如果返回的是十六进制数字,则需要我们将右列的16进制显示关闭。
在这里插入图片描述

2.连接WIFI

之后我们就需要将模块连接上WIFI,具体操作为
在对话框中发送:AT+CWJAP=“无线网名称”,"无线网密码"
例如我的手机热点名称为:我是彭于晏 密码为12345678
则发送 AT+CWJAP=“我是彭于晏”,"12345678"
给它一段反应的时间,他就会返回 WIFI CONNECTED

如果模块正常返回OK但是在连接WIFI时出现错误,可能是AT指令发送的有问题,仔细检查是否语句中使用的为英文符号,账户密码是否正确。

3.开启我们的简单服务器

现在我们先暂且疏远我们的ESP8266,把串口助手晾在一旁,打开另一个我上传的软件,网络调试助手。

这里电脑要和模块连接到同一个路由器

在这里插入图片描述
这里需要设置
协议类型为TCP Server

本地主机地址一般都是默认值不需要我们更改

本地主机端口为8080

之后点击打开。理想情况下会直接打开成功,但是我在使用的过程中就遇到了问题,总是显示bind()failed,后来查询后才明白是对应端口被占用,下面是我的解决方法。

开启网络调试助手方法一

首先按win+R打开运行
在这里插入图片描述
在对话框中输入cmd点击确定

之后在黑框中输入 netstat -ano
注意netstat后面是有一个空格的!

在这里插入图片描述

按回车就可以查询到我们的电脑各个端口的运行情况,找到8080端口,查看是什么程序在占用8080端口,例如下图我的8080端口就被 PID8584占用。
在这里插入图片描述
打开任务管理器,在详细信息中将该程序关闭。
在这里插入图片描述
关闭之后就可以开启8080端口了。
这里关闭的程序(Application Web Server)是上学期电路实验考试时附带的,现在咱也不敢删。

开启网络调试助手方法二

既然我们的8080端口被占用了,那我们就直接换一个端口进行使用,例如8082,8083等等等等,电脑端口数量很多,试一个不行还会有很多个,总会有没被使用的端口可以使用。
在这里插入图片描述
个人觉得第二个方法好,但是了解一下为什么打不开8080也是挺好的。

4.模块连接服务器

这里发送AT指令:AT+CIPSTART=“TCP”,“IP地址”,端口号
例如我的IP地址为192.168.1.110,端口使用的是8082,那我就发送
AT+CIPSTART=“TCP”,“192.168.1.110”,8082
在这里插入图片描述
图片上我第一次发送这个指令就失败了,因为用了中文符号,大家也应注意。
此时模块就连接上了我们电脑上开启的简单服务器。

5.开始通过WIFI与服务器通信

模块连接好服务器后,我们再发送一个AT指令将模块设置为透传模式

AT+CIPMODE=1 透传模式

之后发送开启透传
AT+CIPSEND 开启透传
在这里插入图片描述
当窗口返回>后,我们所发送的任何消息都会被认作为数据,现在就可以通过电脑的串口通信给模块数据,然后模块通过WIFI将数据发送给我们的简单服务器。

下面是我的自问自答
在这里插入图片描述
发送出去的消息在各自软件中是看不到的,只能看到接收到的消息

注意:这不是聊天软件,不要像我一样玩的停不下来

最后当我们想要退出数据传输模式时,我们需要在串口助手中发送三个加号,并取消勾选发送新行
在这里插入图片描述

总结

这篇文章主要描述该模块在STA模式下的工作流程,熟悉了工作方式后我们就可以尝试用单片机替代电脑进行串口数据传输,发送数据与接收数据。
下面是流程图
在这里插入图片描述
将来的串口通信将由单片机完成。

写在最后


本人小白一枚,这些仅仅是我个人的经验与认知,也许含有多处错误,希望读者给我指正。
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值