赞
踩
本次软件是需要串口调试助手,网络调试助手,KEIL5
下面图标依次排列
本次硬件是需要一个ESP8266模块,一个stm32f103c8t6芯片,一个USB转TTL模块
ESP8266是一个微小的且集成的国产WIFI模块,它有很多种型号,但是使用方法没什么太大的区别,也可以说没区别,有些看起来引脚比较多的ESP8266模块只是将这个芯片的IO口拓展出来了而已。还有一种原因就是它采用的是Micropython编程的ESP8266模块。因此,这里我就不深入去说每一种ESP8266模块了,因为用法几乎都差不多,这里我以下都是用的ESP8266-01S来叙述。
ESP8266-01图片(外形和01S的一样)
这里我就先演示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。
6. 接下来我们要得到我们电脑的IP地址,我们可以点击电脑的WIFI页面,点击连接网络的网络属性,可以看到下面信息有一个IPv4地址,这个就是电脑的网络IP地址,我们只有将电脑的IP地址发给ESP8266,让它知道自己这次是和连接在这个WIFI下的哪个IP地址的器件通信。这里为了防止小伙伴不理解IP的概念,我在详细的解释一下WIFI通信的这个IP的大概意思,其实这个每一个器件的IP相当于是你连接的网络分配的一个标号,是独一无二的,所以,这里如果想让两个器件进行WIFI通信,那么这个WIFI网络就相当于一个中转站,使两个IP之间能进行交流。而IP又对应的是两个不同的器件,从而也就构建了两个器件的无线通信,其实这里的IP和连接的网络就可以想象成串口的两个数据线,只是这里是一种隐形的线而已。这里要注意只有两个器件都连接到同一网络上,这个网络才能当作中转站,给两个器件进行通信,如果连接到不同的网络是不可以这样通信的。
接下来我们要打开一个网络调试助手,最后我会将本篇文章所用到的软件发出,所以现在可以去文章末尾去下载好全部软件,我们在打开调试助手时要先让电脑作为服务端,我们先将前面得到的IP地址输入到网络调试助手的服务端页面的本机IP输入框中,然后本机端口号这里可以写8080,这个不一样的端口号传输的数据类型是不一样的,所以这里我们直接给个8080就可以了,如果想具体知道为什么用8080这个端口号可以自行学习,这里由于篇幅有限就不细说了。紧接着刚才的步骤,我们下面就点击一下监听,这时电脑就是在等待被连接的状态。这里由于我们还没有用AT指令去告诉ESP8266具体需要连接的电脑IP,所以现在电脑与ESP8266还没有构成连接。
现在我们配置好了网络调试助手那里,我们开始用串口调试助手向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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。