ESP8266-01S使用教程

本文详细介绍了如何使用ESP8266-01S进行串口连接和WiFi配置,包括设置工作模式、建立WiFi热点、连接现有网络、端口监听以及TCP/UDP通讯协议。通过串口调试工具和AT指令,实现单片机与ESP8266的通讯,涉及STM32C8T6的串口配置,并讲解了上位机的TCPClient连接和数据收发。最后,讨论了单片机接收数据的处理方式。
摘要由CSDN通过智能技术生成

必要知识

大概流程

用串口连接ESP8266-01S简单调试模块设置

设备连接到ESP8266-01S的WiFi或者是ESP8266连接至局域网

根据需求再次对ESP8266-01S进行调试

启动手机或电脑的网络调试助手建立通讯

用网络调试助手进行信号的发送

将ESP8266-01S连接至单片机的UTX和URX与单片机进行通讯

STM32C8T6其中PA2和PA3为一个串口,PA9和PA10为1个串口

通讯协议

TCP和UDP协议
在这里插入图片描述
UDP会把数据一股脑儿地发送出去,并不会在意是否全部收到,适用于广播类型多对多通讯类型,缺点是具有一定的丢包率

TCP是可靠的传输协议,缺点是只能一对一通信

cilent客户端和server服务端

使用ESP8266-01S

连接模块做简单调试

需要的工具:USB-TTL下载器
在这里插入图片描述在这里插入图片描述如果不需要对模块的固件重新烧录或是对其功能有其他需要,不用接IO0和IO1还有EN引脚,只需要按照图4.2接好就可

特别注意,RXD和TXD 的接法,与下载器的引脚相反

不要用下载器的3.3V和GND电源,另找电源(可以接开发板上的供电)

正常情况下模块会微热,只要不是烫手的就没什么问题

打开串口调试工具
在这里插入图片描述波特率设置为115200,发送AT(该指令是测试AT是否OK),会接收到返回的OK

ESP8266-01S一共有三种角色/工作模式,分别是:
1.Station (客户端模式)
2.AP (接入点模式)
3.Station+AP (两种模式共存)

买模块的时候,商家一般都会附赠一个资料包,里面有AT指令的说明

根据需要,选择模块的工作方式(一般使用模式2或者是模式3)
输入命令:

AT+CWMODE=1		//station模式(station模式不可以创建自己的WiFi)
或
AT+CWMODE=2		//AP模式
或
AT+CWMODE=3		//station+AP模式

来选择模块的工作方式,输入完成后输入

AT+RST

重启模块

使用模块

这时候,你有两种方案:
一是用模块自己创立一个WiFi(station模式不可创建自己的WiFi),二是模块连接到现有的WiFi

一、建立模块的WiFi
串口发送以下命令

AT+CWSAP="SSID","password",x,x		//来创建路由
(第一个x代表通道号,第二个x代表加密方式,用数字来表示)

信道,也称作通道或频段,是以无线信号作为传输载体的数据信号传送通道。2.4G频段的工作频率为2.4-2.4835GHz,这83.5MHz频带划分为13个信道,各信道中心频率相差5MHz,向上向下分别扩展11MHz,信道带宽22MHz。中国采用欧洲/ETSI标准,使用1-13信道。

随着无线网络的普及,周围的WIFI信号越来越多,这些信号之间会相互干扰,家庭路由器一般都会自动选择工作信道,如果说想要8266处于更好的工作状态,将其设置为与周围无线网络信道不同的信道,如果说没那么多要求,随便填一个即可。

注意:该命令在断电之后不会消失,会保留下来

AT+CIPMUX=1		//开启多连接

模块是最多允许五个设备连接的,

然后输入

AT+CIPSERVER=1,6666 //端口号可以更改

来设置监听端口,以上两个指令断电后将会消失,需要写入单片机

二、 连接现有的WiFi

AT+CWJAP="SSID","password"			//来连接路由器
AT+CIPMUX=1
AT+CIPSERVER=1,6666

模块就处于工作状态了

上位机操作

上位机首先要连接到模块所处的WIFI中(自建WIFI或现有无线网络)
上位机目前与ESP8266模块进行串口通讯
在这里插入图片描述打开网络调试工具,可以看到两种通讯协议,TCP和UDP
在这里,我们选择TCP Client(TCP协议客户端)即可
在这里插入图片描述

输入模块的IP地址,如果是模块建立的现有WIFI,则IP地址应为192.168.4.1
如果是连接的现有无线网络,可以进入网络的管理员页面查看,也可以输入AT+CIFSR指令来查看8266的IP和MAC地址,当然,这种操作必须在连接串口的条件下才能使用。

上位机发送数据

在这里插入图片描述
选择连接,然后输入祖传的“Hello world”发送
在这里插入图片描述
在串口助手里面就可接受到相应的数据

上位机接受数据

首先对ESP8266输入发送指令AT+CIPSEND=0,x(字节数)
一定要输入正确的字节数,否则会发送不全
在这里插入图片描述
我想发送12字节的“Hello world!”但是我给出的指令只有5字节,那么我的发送会是失败的,接收到的数据也是不正确的
在这里插入图片描述在这里插入图片描述在这里插入图片描述当然这些AT指令都是要写入单片机的

单片机

终于到了重头戏了,在实际使用的时候是不会把ESP8266-01S对电脑同时进行网络连接和串口连接的,实际上的使用要么是电脑作为控制端,将ESP8266与单片机连接,要么是两个单片机之间的通讯。

单片机的发送

像之前所说的8266所能记忆的一些AT指令设置是可以在电脑串口中直接设置好的,这样也确实更方便些,减轻了单片机的压力,然后是每次断电之后都需要重新设置的部分:
每次单片机重新上电之后通过串口发送AT指令到8266
直接将字符串发送到串口即可

void ESP_8266_Init()
{
		printf("AT+CIPMUX=1\r\n");
		delay_ms(500);
		printf("AT+CIPSERVER=1,6666\r\n");
		delay_ms(500);
}
//这里采用的是正点原子stm32的串口代码,这里只展示最核心部分

单片机的接收

对于接受部分还是有些难度的,单片机的串口单次只能接收一字节,如果是接受长字符串的话需要准备数组,但如果是进行前进后退等基本指令的话,我想一般都会采用数字,这样我们要接受的讯息内容只有一字节。

+IPD,<客户ID>,<信息长度>:<信息内容>

这是串口接受信息的格式,可以对于接受数组进行处理,得到我们想要的数据。
笔者的编程属实是拙劣,虽然实现了相应的功能,但是代码没有参考性,也就不放出代码了。

终于是写完了,也是中间隔了挺久的,可能内容也没那么连贯,还请谅解。
如果有什么错误,还请各位大佬斧正。

  • 50
    点赞
  • 306
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: 要将ESP8266-01S连接到32单片机,需要进行以下步骤: 1. 准备好ESP8266-01S模块和32单片机。 2. 将ESP8266-01S模块的VCC引脚连接到32单片机的3.3V电源引脚,GND引脚连接到32单片机的GND引脚。 3. 将ESP8266-01S模块的TX引脚连接到32单片机的RX引脚,RX引脚连接到32单片机的TX引脚。 4. 将ESP8266-01S模块的CH_PD引脚连接到32单片机的任意IO引脚,将ESP8266-01S模块的RST引脚连接到32单片机的任意IO引脚。 5. 在32单片机上编写代码,使用串口通信与ESP8266-01S模块进行通信,实现WiFi功能。 需要注意的是,ESP8266-01S模块的工作电压为3.3V,不能直接连接到5V的单片机引脚上,否则可能会损坏模块。同时,ESP8266-01S模块的RX引脚和TX引脚需要使用逻辑电平转换器进行转换,以保证与32单片机的通信正常。 ### 回答2: ESP8266-01S是一款Wi-Fi模块,它可以实现通过无线方式连接互联网。32单片机是一种低功耗、高性能的单片机,它可以用来控制各种电子元件进行各种任务。如果将ESP8266-01S与32单片机连接起来,可以实现通过Wi-Fi控制32单片机,将其连入互联网。 首先,将ESP8266-01S连接到32单片机的串口上,使用串口通信协议进行通信,以便在32单片机程序中进行对ESP8266-01S的控制。然后,在32单片机程序中使用类似AT指令的代码来对ESP8266-01S进行配置,包括设置Wi-Fi SSID和密码等。这些配置信息可以在开机时自动加载,以便ESP8266-01S可以自动连接到Wi-Fi网络。 接下来,可以用32单片机来控制ESP8266-01S输出HTTP请求,以便向外部的Web服务器访问各种资源。在32单片机中,可以使用HTTP客户端库来实现HTTP请求的发送和接收,以便接收来自服务器的响应。在此过程中,ESP8266-01S负责将数据通过Wi-Fi传输到外部服务器,并将服务器的响应传回给32单片机。 最后,可以通过32单片机程序来实现设备的控制和数据的收集/发送。例如,可以将32单片机用于控制家庭设备,然后通过ESP8266-01S连接到互联网,以便远程访问和控制这些设备,或者以便发送数据到外部服务器以进行数据分析等操作。 总之,ESP8266-01S和32单片机的连接为物联网的实现提供了便利的方案。可以实现无线连接到互联网世界,并将嵌入式设备带到新的高度。 ### 回答3: ESP8266-01S模块是一种低成本的Wi-Fi模块,主要用于连接无线网络。同时,ESP8266-01S模块也可以作为一个智能芯片,通过串口通信控制其他单片机。其中,32单片机是一种低功耗、高性能的ARM架构微控制器,通常用于嵌入式系统中。在实际应用中,我们可以通过以下步骤将ESP8266-01S模块和32单片机连接起来。 第一步,准备好硬件连接。ESP8266-01S模块和32单片机之间可以通过串口连接。我们可以通过将ESP8266-01S模块的TX引脚连接到32单片机的RX引脚,将ESP8266-01S模块的RX引脚连接到32单片机的TX引脚来实现串口连接。 第二步,编写ESP8266-01S模块的代码。我们可以使用AT指令来控制ESP8266-01S模块,从而实现与32单片机之间的通信。首先,我们需要将ESP8266-01S模块设置为AP模式或STA模式,以实现Wi-Fi连接。接着,我们可以使用AT+CIPSTART指令来建立TCP连接,然后使用AT+CIPSEND指令发送数据。发送的数据可以是字符串、二进制数据等等。 第三步,编写32单片机的代码。我们需要使用32单片机的串口模块来接收ESP8266-01S模块发送的数据。在接收到数据后,我们可以对数据进行处理,执行一些特定的操作。 总之,通过以上步骤,我们可以将ESP8266-01S模块与32单片机连接起来,从而实现无线网络通信和其他应用。在实际应用中,我们可以将32单片机作为主控芯片,连接多个ESP8266-01S模块,实现更加复杂的控制和通信。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值