ESP8266实现无线通信:电脑与ESP8266的初次体验

目录

  • 一.需要的软件及硬件
  • 1.软件
  • 2.硬件
  • 二.ESP8266的使用
  • 1.ESP8266的介绍
  • 2.ESP8266进行初始AT指令的配置步骤
  • 三.所用软件安装分享
  • 一.需要的软件及硬件

    1.软件

    本次软件是需要串口调试助手,网络调试助手,KEIL5
                                下面图标依次排列

    2.硬件

    本次硬件是需要一个ESP8266模块,一个stm32f103c8t6芯片,一个USB转TTL模块

    二.ESP8266的使用

    1.ESP8266的介绍

    ESP8266是一个微小的且集成的国产WIFI模块,它有很多种型号,但是使用方法没什么太大的区别,也可以说没区别,有些看起来引脚比较多的ESP8266模块只是将这个芯片的IO口拓展出来了而已。还有一种原因就是它采用的是Micropython编程的ESP8266模块。因此,这里我就不深入去说每一种ESP8266模块了,因为用法几乎都差不多,这里我以下都是用的ESP8266-01S来叙述。
                    ESP8266-01图片(外形和01S的一样)

    2.ESP8266进行初始AT指令的配置步骤

    这里我就先演示ESP8266作为从机的通信配置,余下的作为主机的配置与这个从机配置都是一个道理,所以下面就先讲ESP8266作为从机的配置为例子。
    1.  我们先拿出一个USB转TTL(串口模块)模块,将ESP8266中RX与TX和串口模块的RX与TX相连,不要连接错误,要RX与对应的TX相连,然后ESP8266的GND与串口模块的GND相连,3V3与vcc相连。这里不知道什么原因,如果按照3V3接3V3就会在串口调试助手找不到串口号,只有连接到vcc上才能正常使用,可能是因为串口模块那里的3V3电压没有到达3.3V。这里最好不要接高于3.3V的电压,如果不确定你所用的ESP8266模块中是否有降压模块的话,还是不要用5V电压。
    2.  之后我们先打开串口调试助手,并且勾选发送新行,这样在发送一个数据时会在所发送的数据后面添加\n\r,这个\n\r在ESP8266那里检测相当于是接收一个完整数据的结束标志,所以,如果这里发送数据结尾不加\n\r,那么这条AT指令就不会得到响应。

    3.  在上一个步骤,我们将串口调试助手配置完成,然后我们开始第一步配置.
    我们先在串口调试助手发送AT,看ESP8266会不会返回一个OK,如果正常返回了一个OK那说明是可以正常工作的。而如果没有返回任何数据,那么就先检查一下串口线连接是否正确,还有线路是否连接良好,这样排除了信号接触不良的问题。然后再去排除看是不是串口调试助手勾选新行有没有勾选错误,最后如果这些都没有问题,就可以考虑是ESP8266损坏了,但是一般如果是新买的这个模块损坏的几率很小,这里我就不多叙述了。

    4.  随后我们发送AT+CWMODE=1,表示设置作为从机,当发送完,ESP8266同样返回一个OK。

    1.    在之后如果我们想电脑与ESP8266通信我们就需要将两个设备都连接到同一个WIFI上,那么我为了方便演示就开了一个手机热点,我们就先将电脑连接上这个热点,然后我们打开串口调试助手,发送AT+CWJAP=“Mi 11”,“12345678”,这里的Mi 11是想要连接的网络名称12345678是想要连接的网络密码,这里需要自行按照自己的意愿去更改一下网络名称和对应密码。同样接下来通过串口助手发送过去,不过这次返回的不仅仅是一个OK了,而是返回几句其它语句,这里如果操作正确的话,我们就可以打开手机查看连接设备上,看是否有一个开头名为ESP的设备连接,如果有就说明连接完成了。这里注意一点,就是连接网络之后,如果将ESP8266断电下次在上电,如果上次连接的网络还存在,那么ESP8266会主动连接这个网络,不用在进行AT指令让其连接,但是如果为了确保每次连接的准确性,还是每次都用AT指令连接最为保险

    6.     接下来我们要得到我们电脑的IP地址,我们可以点击电脑的WIFI页面,点击连接网络的网络属性,可以看到下面信息有一个IPv4地址,这个就是电脑的网络IP地址,我们只有将电脑的IP地址发给ESP8266,让它知道自己这次是和连接在这个WIFI下的哪个IP地址的器件通信。这里为了防止小伙伴不理解IP的概念,我在详细的解释一下WIFI通信的这个IP的大概意思,其实这个每一个器件的IP相当于是你连接的网络分配的一个标号,是独一无二的,所以,这里如果想让两个器件进行WIFI通信,那么这个WIFI网络就相当于一个中转站,使两个IP之间能进行交流。而IP又对应的是两个不同的器件,从而也就构建了两个器件的无线通信,其实这里的IP和连接的网络就可以想象成串口的两个数据线,只是这里是一种隐形的线而已。这里要注意只有两个器件都连接到同一网络上,这个网络才能当作中转站,给两个器件进行通信,如果连接到不同的网络是不可以这样通信的。

    1.    接下来我们要打开一个网络调试助手,最后我会将本篇文章所用到的软件发出,所以现在可以去文章末尾去下载好全部软件,我们在打开调试助手时要先让电脑作为服务端,我们先将前面得到的IP地址输入到网络调试助手的服务端页面的本机IP输入框中,然后本机端口号这里可以写8080,这个不一样的端口号传输的数据类型是不一样的,所以这里我们直接给个8080就可以了,如果想具体知道为什么用8080这个端口号可以自行学习,这里由于篇幅有限就不细说了。紧接着刚才的步骤,我们下面就点击一下监听,这时电脑就是在等待被连接的状态。这里由于我们还没有用AT指令去告诉ESP8266具体需要连接的电脑IP,所以现在电脑与ESP8266还没有构成连接。

    2.    现在我们配置好了网络调试助手那里,我们开始用串口调试助手向ESP8266发送AT+CIPSTART=“TCP”,“192.168.146.219”,8080这条AT指令,这里的192.168.146.219需要自行更改成自己电脑的IP地址,然后发送,此时会返回一个CONNECT OK,此时,我们可以查看网络调试助手那里的客户端列表会多出一个IP,这个就是表明了ESP8266已经与电脑构成了连接,随后,我们继续用AT指令去开启ESP8266的透传功能,AT+CIPMODE=1(进入透传),在发送AT+CIPSEND(透传开始),此时,我们如果从一边发送一个数据,另一边就能受到一摸一样的数据了。最后,解释一下透传功能,开启了透传功能就相当于一边随便发送什么,另一边就能一摸一样的接收到什么,不会改变一点数据内容。这样就不会像串口那样两方必须规定相同的波特率,在发送数据,接收方才会得到准确数据。并且有些时候还需要改变传输的数据来加入数据结束标志,比如说\n\r或者自行定义的结束标志符。




    9.我们可以在串口调试助手或者网络调试助手的任意一个输入框发送任意数据,看是否另一边收到了同样的数据。收到了就完成了双方的通信。但是现在两个之间发送中文是不可行的,其它的英文和数字是可行的,但是用STM32与串口通信通过代码就可以使串口接收到中文。这里可以在详细查阅一下资料。
                       用串口调试助手向网络调试助手发送数据


                         用网络调试助手向串口调试助手发送数据

    三.所用软件安装分享

    下面是软件安装的百度网盘链接,这里一个是串口调试助手,一个是网络调试助手。这篇文章是ESP8266与电脑的通信,下一篇文章会更进一步,ESP8266与STM32进行通信,如果觉得我这篇文章叙述的还算可以,希望可以关注一下我的下一篇ESP8266的应用文章。如果哪里有问题可以进行评论和批评指正。
    链接:https://pan.baidu.com/s/1vyGFOmceXmlAlKZn5Myebw?pwd=0508
    提取码:0508

    物联沃分享整理
    物联沃-IOTWORD物联网 » ESP8266实现无线通信:电脑与ESP8266的初次体验

    发表评论