STM32
直播中

李丹

7年用户 1380经验值
私信 关注
[问答]

怎样通过PC去配置ESP8266模块向网络助手发送数据呢

ESP8266模块该怎样去使用呢?怎样通过PC去配置ESP8266模块向网络助手发送数据呢?

回帖(1)

陈逸群

2021-12-23 09:47:15
第一篇:AT指令的使用&&用PC通过(ESP8266)向网络助手发送数据

一、电平转换
相信做过串口通信的小伙伴都一定用过CH340电平转换(如下图,野火自带配套软件)
提醒诸君:USB转串口 = USB转TTL,(不要像我傻不拉几的以为指南者不带串口转TTL,又买了个转TTL线)。安装下图驱动,若端口出现第三幅图模样则安装成功(USB转TTL)
(备注:芯片的引脚TXD、RXD是TTL电平的引脚配置成串口做串口用,所以“USB转串口”就是TTL的电平的串口 = “USB转TTL”)














因为单片机通信接口的电平逻辑和PC机通信接口的电平逻辑不同。
有什么不同?
PC机上的通信接口有USB接口,相应电平逻辑遵照USB原则;
而我们的单片机上的串行通信通过单片机的RXD、TXD、VCC、GND四个引脚,相应电平逻辑遵照TTL原则。
当然,新手小白买的学习板上肯定都已经集成了类似PL2303、CP2102之类的USB转TTL芯片,相应接口也变成了USB接口;
转换的目的是把电平转换到双方都能识别,下面分类举例:
情况1:PC机USB口与不带电平转换芯片的单片机通信(Arduino可能是这样)
方法:外购USB转TTL模块,如下图所示。该模块一端接入PC机的USB接口,另一端有TXD、RXD、GND、5V、3.3V五个引脚,分别与单片机的RXD、TXD、GND、5V引脚相连,对于采用3.3V供电的单片机则把5V改为3.3V即可。该模块核心就是一块PL2303、CP2102芯片进行USB与TTL电平的转换。

二、PC端通过ESP8266向网络调试助手发送数据
情况2:PC机USB口与集成了USB转TTL芯片的单片机通信接下来我们讲解指南者
【 AT指令进行WIFI透传到网络助手】
实验器材:两根双母头杜邦线、USB转串口驱动-CH340(软件)、连接USB转串口和PC端的USB线
备注:USB转串口驱动-CH340 是 USB 转 UART 驱动,它把 USB 协议转换
成 TTL 协议,使得电脑能直接用 USB 线与模块通讯,但在使用前,需要给电脑安装相应
的 驱 动 。
方法:①安装CH340驱动并用USB线连接USB转串口和PC(实现USB转TTL)
②(在进行USART1——WiFi串口通讯时,需要将USART3的UTX接USART1的RXD,USART3的URX接相应的TXD)
       备注“因为ESP8266的发送端是UTX,接收端是URX”,其他不需要外接,因为指南者对于VCC,GND,CH-PD,RST已经内部集成,如下原理图。




③接好之后, 检测模块是否正常(前提要先在单片机里下载野火官方例程里的WiFi透传,不然发什么都没反应)





这样只是借用程序里面的引脚控制通过USART3给ESP8266供电和使能
在确保以上操作完成后后, 打 开 “ 网络调试助手










刚开始PC可能会接收到一串乱码(为啥会接收到一串乱码???乱码来自哪里?我明明把跳线帽拔掉了,怎么B10还能向U3发送数据?把程序下载到单片机是为了给ESP8266供电和使能,我要是把跳线帽拔掉,还怎么持续发送和使能? 下面的按按键U3将数据发送给ESP8266“+++”就是个例子,发送不了,跳线帽被拔掉无法通信 )
在“字符串输入框”输入“AT”,再按回车键,最后点击“发送”,如果上方接收窗口有返
回“OK”,那说明模块正常,如图 1-3 所示;如果没有返回“OK”,可以多次尝试,或
检查前面步骤是否正常,如若仍无该返回,模块可能存在异常





接下来我们可以根据AT资料库对数据透传
具体是通过PC配置ESP8266模块,PC发送数据至U3(ESP8266),ESP8266传递至网络调试助手,中间数据不会改变,实现透明传输(好比拿一束光穿过玻璃发送到外面,而光在通过玻璃传输过程中并没有改变自身任何性质)
介绍如下:
一、普通传输模式,设置发送数据的⻓度
1、单连接TCP Client
2、固定远端的UDP传输
3、远端可变的UDP传输

二、
4、TCP Client 单连接透传
5、UDP透传

1、单连接 TCP Client(例 ESP8266 作为 TCP Client 建⽴单连接通信)。
(若数据只有发送,无接收,请检查你有没有为ESP8266供电和使能?)《来源于野火ESP8266官方例程,不方便可问我要QQ:1900987816》





在这里讲解一下为啥要查询ESP8266设备:
我们做的是单连接 TCP Client(即 ESP8266 作为 TCP Client 与PC的TCP Server建⽴单连接通信)。
在目标主机上我们输入的是ESP8266的IP和自定义的端口(端口有超过5000个,自己随心定义哪个端口发送即可)
上面我们已经用PC创建了TCP Server(且输入完IP,端口),同时也用ESP8266连接了服务器,此时即为端口之间的传递数据。
2、普通UDP协议传输





后文将基于前面4个步骤,讲解固定远端和远端可变的UDP传输。










二、ESP8266 AT 默认仅在 TCP client 单连接或 UDP 固定定远端传输模式时,⽀持透传。
备注知识点
WiFi模块的两种工作模式:透明传输、串口指令
1、透明传输
此模式下,所有需要收发的数据都被在串口与WiFi接口之间做透明传输。
2、串口指令
此模式下,用户可以将串口的数据发往不同的服务器地址,此模式可以用UDP或是TCP Client向服务器发送数据










遇到问题:
1、键盘发送“+++”,不被认为是连续的(无法退出透传发送数据),仍然当数据发送。如何用串口工具一次性发送?

2、UDP透传为啥一到发送CIPSEND后,发送啥都是发送成功,接收0?
3、那个TCP Client 总是连接失败是咋回事?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分