单片机交流
登录
直播中
南风一号
8年用户
979经验值
擅长:EMC/EMI设计
私信
关注
[问答]
如何使用AT指令让ESP8266进行TCP通讯?
开启该帖子的消息推送
ESP8266
如何使用AT指令让ESP8266进行TCP通讯?
网络调试助手连接ESP8266与进行TCP通讯
回帖
(1)
武彩霞
2021-9-28 15:05:13
附上一张在用的实验板图片:
一.STM32及串口基本知识学习
1.了解串口通讯基本概念
主要任务
阅读博客
https://blog.csdn.net/qq_43743762/article/details/97811470
任务解读
此博客专业知识较多,对于初学者不必仔细深入研究,只需要了解大概的概念即可。可以简单的暂时的理解为,STM32上的每一个串口提供了一个硬件的接口,单片机可以通过串口把各部分连接起来(仅仅是个人理解,不准确请见谅)
2.安装串口调试助手工具的使用 UartAssist.exe
任务解读
互联网上很多串口调试助手,学习资料里也有,在串口调试助手中,暂时需要更改的只有左上角的串口号,在STM32用USB连接电脑时,需要选择正确的串口号来锁定STM32,然后点击打开即可。
3.实现STM32和串口调试助手的互交
功能实现
使用STM32实验板,编译下载STM32Demo_V1(启用演示功能1),使用串口调试助手(波特率设置为115200)与单片机通讯。
操作过程
用Keil uVision5将STM32Demo_V1烧录到单片机,然后用USB线连接PC机,注意不是烧录接口,烧录接口在烧录完成之后应该拔下。然后打开串口调试助手,选择好串口号,点击打开即可,演示功能1是将发送内容返回。看见串口调试助手中有信息返回即表示成功。
二.TCP网络通讯基本知识学习
1.了解TCP相关的概念
学习TCP基本原理,客户端、服务端、IP地址、端口等基本概念。
这些东西不论在博客还是搜索引擎都能查到,只需要大概了解一下概念即可,这里不再解释。
2.熟练掌握网络调试助手并实现TCP客户端和服务端交互
功能实现
安装网络调试助手工具,启动一个TCP服务端,并启动一个客户端连接到此服务端,进行双向消息收发实验(注意TCP内容很多,不要太陷入细节,重点是完成服务端与客户端收发消息的实验)
细节解读
首先打开一个网络调试助手(学习资料有或者用搜索引擎自己下载一个),以本人上传的助手为例,协议类型包括TCP Server、TCP Client、UDP,分别表示TCP服务器、TCP客户端和UDP协议。
我们先新建一个自己电脑上的服务器,网络调试助手协议类型选择TCP Server,其余可以不用修改,然后点击打开,这样我们就在自己电脑上搭建好了一个最简单的服务器。
我们还需要一个客户端和服务器互交,我们再打开一个网络调试助手,协议类型选择TCP Client,远程主机地址和远程主机端口修改成服务器(就是另外一个网络调试助手)的本地主机地址和本地主机端口,然后点击连接。
之后就会看到两个网络助手连接成功,从一个助手发消息另外的一个助手就可以看到,这就是一个最简单的TCP服务器和TCP客户端的互交。
三.WIFI模块ESP8266的基本概念和实验
1.简单了解ESP8266的基本操作
主要任务
学习学习资料中的《ESP8266系列入门教程》《ESP8266 AT指令集》《ESP8266 AT指令使用示例》
任务解读
这几本书有很多的AT指令,我们通过向单片机输入AT指令来实现对WiFi模块的操作,单片机不像手机,想要连接wifi的话在屏幕上点几下就可以实现,单片机没有屏幕,但是有串口,我们通过串口向WiFi模块输入指令来启动它。而且很多AT指令暂时用不到,这几本书大概看一下即可,等用到了相关的功能,再次查阅即可。
几个注意点
关于WIFI模块ESP8266硬件的安装,在STM32F103C8T6中,WiFi模块的位置是在左上角,一共有8个针脚,对应好直接插入即可安装。详见开头的实验板图片,黑色的一个小板子就是WiFi模块。
在本人手上的STM32F103C8T6中,WiFi模块在串口1位置固定,而与PC进行的连接的是串口3(USB接口),在学习资料中的STM32Demo_V1_WIFI中的演示功能3中,主要是实现的是串口3与串口1的数据互交,然后通过WiFi模块发送出去。这个之后还会再仔细的讨论,这里仅仅是提一下。
2.使用AT指令让ESP8266进行TCP通讯
功能实现
将STM32Demo_V1(启用演示功能3)下载带SMT32实验板上,并插上ESP8266模块,使用AT指令让ESP8266启动服务端和客户端,与网络调试助手进行TCP通讯。
详细说明
以下内容请翻阅学习资料中的《ESP8266AT指令使用示例》和"AT指令.txt"文件,配合食用!
WIFI演示程序没有配置WIFI的SSID和密码功能,需要手工配置SSID和密码。之后WIFI模块才能正常连接AP(热点)。
a.用Keil uVision5将STM32Demo_V1烧录到单片机,启动演示功能3
b.单片机威廉希尔官方网站 板使用USB线连电脑,用串口调试助手(115200波特率)发送命令
“AT+CWJAP_DEF=,”。如:AT+CWJAP_DEF=“CMCC-DTgx”,“密码”
c.待WIFI模块回应以下2条消息(串口调试助手接收到2条数据):
WIFI CONNECTED
WIFI GOT IP
就说明WIFI模块已经设置好了密码,连上了AP。
d.使用AT+CIFSR命令可以查询WIFI模块的IP地址:
AT+CIFSRbusy p…
+CIFSR:APIP,“192.168.4.1”
+CIFSR:APMAC,“2e:f4:32:58:18:b9”
+CIFSR:STAIP,“192.168.1.9”
+CIFSR:STAMAC,“2c:f4:32:58:18:b9”
OK
CIFSR:STAIP后面带的IP地址就是当前IP。
(其他AT命令参考ESP8266的手册)
提示
a.可以先用AT指令
AT+CWLAP
扫描附近的 AP 信息,这样就可以知道,WiFi模块到底找没找到要链接的那个热点。
b.演示功能3的功能在于实现如下的串口数据传输功能
PC机(串口调试助手)<------> 串口3<------> 演示功能3<------> 串口1<------> WIFI模块
在本人手上的STM32F103C8T6中,WiFi模块在串口1位置固定,而与PC进行的连接的是串口3,在演示功能3中,主要是实现的是串口3与串口1的数据互交,然后通过WiFi模块发送出去。
四.WIFI模块ESP8266的编程实验
1.网络调试助手连接ESP8266与进行TCP通讯
功能实现
将STM32Demo_V1_WIFI下载带SMT32实验板上,并插上ESP8266模块。(会自动启动TCP服务),网络调试助手连接ESP8266的TCP服务,进行TCP通讯。
任务解读
以下内容请翻阅学习资料中的《ESP8266AT指令使用示例》,配合食用!
a. 将学习资料中的STM32Demo_V1_WIFI烧录到单片机上(用烧录接口)
b.在PC机上运行一个网络调试助手,协议用TCP Server,作为一个云端服务器。
c. 单片机用USB连接PC,打开串口调试助手,连接STM32。
d.在串口调试助手中,输入AT指令,让ESP8266连接好WiFi,然后用
作为客户端连接PC上的服务器,连接之后会在串口调试助手和网络调试助手看到连接成功的信息
f.要想进行数据传输,请参考《ESP8266AT指令使用示例》中的AT指令实现数据的交互。
到此,WiFi模块(ESP8266)的使用部分的初步学习已经完成,接下来会根据WiFi模块的性能和单片机的数据传输性能进行进一步的学习。未完待续……
附上一张在用的实验板图片:
一.STM32及串口基本知识学习
1.了解串口通讯基本概念
主要任务
阅读博客
https://blog.csdn.net/qq_43743762/article/details/97811470
任务解读
此博客专业知识较多,对于初学者不必仔细深入研究,只需要了解大概的概念即可。可以简单的暂时的理解为,STM32上的每一个串口提供了一个硬件的接口,单片机可以通过串口把各部分连接起来(仅仅是个人理解,不准确请见谅)
2.安装串口调试助手工具的使用 UartAssist.exe
任务解读
互联网上很多串口调试助手,学习资料里也有,在串口调试助手中,暂时需要更改的只有左上角的串口号,在STM32用USB连接电脑时,需要选择正确的串口号来锁定STM32,然后点击打开即可。
3.实现STM32和串口调试助手的互交
功能实现
使用STM32实验板,编译下载STM32Demo_V1(启用演示功能1),使用串口调试助手(波特率设置为115200)与单片机通讯。
操作过程
用Keil uVision5将STM32Demo_V1烧录到单片机,然后用USB线连接PC机,注意不是烧录接口,烧录接口在烧录完成之后应该拔下。然后打开串口调试助手,选择好串口号,点击打开即可,演示功能1是将发送内容返回。看见串口调试助手中有信息返回即表示成功。
二.TCP网络通讯基本知识学习
1.了解TCP相关的概念
学习TCP基本原理,客户端、服务端、IP地址、端口等基本概念。
这些东西不论在博客还是搜索引擎都能查到,只需要大概了解一下概念即可,这里不再解释。
2.熟练掌握网络调试助手并实现TCP客户端和服务端交互
功能实现
安装网络调试助手工具,启动一个TCP服务端,并启动一个客户端连接到此服务端,进行双向消息收发实验(注意TCP内容很多,不要太陷入细节,重点是完成服务端与客户端收发消息的实验)
细节解读
首先打开一个网络调试助手(学习资料有或者用搜索引擎自己下载一个),以本人上传的助手为例,协议类型包括TCP Server、TCP Client、UDP,分别表示TCP服务器、TCP客户端和UDP协议。
我们先新建一个自己电脑上的服务器,网络调试助手协议类型选择TCP Server,其余可以不用修改,然后点击打开,这样我们就在自己电脑上搭建好了一个最简单的服务器。
我们还需要一个客户端和服务器互交,我们再打开一个网络调试助手,协议类型选择TCP Client,远程主机地址和远程主机端口修改成服务器(就是另外一个网络调试助手)的本地主机地址和本地主机端口,然后点击连接。
之后就会看到两个网络助手连接成功,从一个助手发消息另外的一个助手就可以看到,这就是一个最简单的TCP服务器和TCP客户端的互交。
三.WIFI模块ESP8266的基本概念和实验
1.简单了解ESP8266的基本操作
主要任务
学习学习资料中的《ESP8266系列入门教程》《ESP8266 AT指令集》《ESP8266 AT指令使用示例》
任务解读
这几本书有很多的AT指令,我们通过向单片机输入AT指令来实现对WiFi模块的操作,单片机不像手机,想要连接wifi的话在屏幕上点几下就可以实现,单片机没有屏幕,但是有串口,我们通过串口向WiFi模块输入指令来启动它。而且很多AT指令暂时用不到,这几本书大概看一下即可,等用到了相关的功能,再次查阅即可。
几个注意点
关于WIFI模块ESP8266硬件的安装,在STM32F103C8T6中,WiFi模块的位置是在左上角,一共有8个针脚,对应好直接插入即可安装。详见开头的实验板图片,黑色的一个小板子就是WiFi模块。
在本人手上的STM32F103C8T6中,WiFi模块在串口1位置固定,而与PC进行的连接的是串口3(USB接口),在学习资料中的STM32Demo_V1_WIFI中的演示功能3中,主要是实现的是串口3与串口1的数据互交,然后通过WiFi模块发送出去。这个之后还会再仔细的讨论,这里仅仅是提一下。
2.使用AT指令让ESP8266进行TCP通讯
功能实现
将STM32Demo_V1(启用演示功能3)下载带SMT32实验板上,并插上ESP8266模块,使用AT指令让ESP8266启动服务端和客户端,与网络调试助手进行TCP通讯。
详细说明
以下内容请翻阅学习资料中的《ESP8266AT指令使用示例》和"AT指令.txt"文件,配合食用!
WIFI演示程序没有配置WIFI的SSID和密码功能,需要手工配置SSID和密码。之后WIFI模块才能正常连接AP(热点)。
a.用Keil uVision5将STM32Demo_V1烧录到单片机,启动演示功能3
b.单片机威廉希尔官方网站 板使用USB线连电脑,用串口调试助手(115200波特率)发送命令
“AT+CWJAP_DEF=,”。如:AT+CWJAP_DEF=“CMCC-DTgx”,“密码”
c.待WIFI模块回应以下2条消息(串口调试助手接收到2条数据):
WIFI CONNECTED
WIFI GOT IP
就说明WIFI模块已经设置好了密码,连上了AP。
d.使用AT+CIFSR命令可以查询WIFI模块的IP地址:
AT+CIFSRbusy p…
+CIFSR:APIP,“192.168.4.1”
+CIFSR:APMAC,“2e:f4:32:58:18:b9”
+CIFSR:STAIP,“192.168.1.9”
+CIFSR:STAMAC,“2c:f4:32:58:18:b9”
OK
CIFSR:STAIP后面带的IP地址就是当前IP。
(其他AT命令参考ESP8266的手册)
提示
a.可以先用AT指令
AT+CWLAP
扫描附近的 AP 信息,这样就可以知道,WiFi模块到底找没找到要链接的那个热点。
b.演示功能3的功能在于实现如下的串口数据传输功能
PC机(串口调试助手)<------> 串口3<------> 演示功能3<------> 串口1<------> WIFI模块
在本人手上的STM32F103C8T6中,WiFi模块在串口1位置固定,而与PC进行的连接的是串口3,在演示功能3中,主要是实现的是串口3与串口1的数据互交,然后通过WiFi模块发送出去。
四.WIFI模块ESP8266的编程实验
1.网络调试助手连接ESP8266与进行TCP通讯
功能实现
将STM32Demo_V1_WIFI下载带SMT32实验板上,并插上ESP8266模块。(会自动启动TCP服务),网络调试助手连接ESP8266的TCP服务,进行TCP通讯。
任务解读
以下内容请翻阅学习资料中的《ESP8266AT指令使用示例》,配合食用!
a. 将学习资料中的STM32Demo_V1_WIFI烧录到单片机上(用烧录接口)
b.在PC机上运行一个网络调试助手,协议用TCP Server,作为一个云端服务器。
c. 单片机用USB连接PC,打开串口调试助手,连接STM32。
d.在串口调试助手中,输入AT指令,让ESP8266连接好WiFi,然后用
作为客户端连接PC上的服务器,连接之后会在串口调试助手和网络调试助手看到连接成功的信息
f.要想进行数据传输,请参考《ESP8266AT指令使用示例》中的AT指令实现数据的交互。
到此,WiFi模块(ESP8266)的使用部分的初步学习已经完成,接下来会根据WiFi模块的性能和单片机的数据传输性能进行进一步的学习。未完待续……
举报
更多回帖
rotate(-90deg);
回复
相关问答
ESP8266
如何使用
ESP8266
AT
指令
?
2022-01-24
1414
tcp
调试助手能发送
指令
到
esp8266
,但51单片机收不到
esp8266
发过来的数据
2020-04-02
2768
如何
让
两个
ESP8266
通过WiFi(
TCP
套接字)
进行
通信?
2023-05-16
272
为什么我用
esp8266
的ap模式
TCP
server发送数据会先发送
指令
?
2019-04-04
3003
怎么编程才能让
ESP8266
和Arduino UNO实现
通讯
呢
2022-01-14
1232
ESP8266
作为
TCP
服务器是怎样
进行
连接的
2022-01-14
1832
请问
esp8266
可以两两组网透传数据吗?
2019-06-10
3069
请问stm32和手机怎么通过
esp8266
模块
进行
通讯
?
2019-04-18
4781
请问是否可以直接
让
两块开发板通过ATK-
ESP8266
模块
进行
通信?
2019-07-12
1950
ESP8266
是什么?
ESP8266
可以
进行
低功耗吗
2022-01-14
3102
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分