一篇文章教会你ESP8266串口WIFI无线模块实现物联网无线收发,附STM32代码示例

目录

 一、ESP-01S无线模块:

(1)特点:

 (2)管脚定义:

(3)启动模式:

 二、ESP-01S出厂固件烧录:

(1)引脚接线:

(2)烧录工具:

(3)固件库:

(4)烧录方法:

 三、ESP-01S  AT指令:

(1)串口配置:

(2)启动信息:

 (3)基础AT指令:

四、TCP 通信测试:

(1)TCP Server 端配置:

 (2)TCP Client 端配置:

 (3)测试模式下演示:

五、实际应用:

 (1)物联网云平台配置:

(2)设备端配置:

(3)扩展:

​编辑 六、STM32代码下载:


 一、ESP-01S无线模块:

        ESP-01S是一款由安信可科技有限公司生产的低成本、高性能的Wi-Fi模块,基于ESP8266芯片,广泛用于物联网和嵌入式系统。

29ed87ba80fc4ae18ec4dcd476848ad8.png

00490798560c4244a2a2db61bb83c11e.png 

(1)特点:

核心处理器:ESP-01S的核心是ESP8266芯片,它集成了Tensilica L106超低功耗32位微型MCU,支持80 MHz和160 MHz的主频,并支持RTOS。

Wi-Fi功能:该模块支持标准的IEEE802.11 b/g/n协议和完整的TCP/IP协议栈,允许用户为现有设备添加联网功能或构建独立的网络控制器。

集成度:ESP-01S集成了Wi-Fi MAC/BB/RF/PA/LNA,并内置了1路10 bit高精度ADC,支持UART/GPIO/PWM接口。

封装和尺寸:ESP-01S采用DIP-8封装,尺寸为24.7mm*14.4mm,具有板载PCB天线。

功耗:支持多种休眠模式,待机功耗低至1.0mW,具有出色的节能特性。

串口速率:最高可达4Mbps,内嵌Lwip协议栈,支持STA/AP/STA+AP工作模式。

一键配网:支持安卓、iOS的Smart Config(APP)/AirKiss(微信)一键配网功能。

AT指令:通用AT指令可快速上手,支持二次开发,集成了Windows、Linux开发环境。

应用场景:ESP-01S适用于物联网设备、嵌入式系统、教育与学习等多个领域,可以用于智能家居系统、环境监测设备等。

认证信息:产品符合RoHS环保认证。

 (2)管脚定义:

ESP-01S引脚名称                                  备注
1GNDGND
2IO2U1_TXD,I2C_SDA, I2SO_WS
3I00GPIO0,HSPI_MISO,I2SI_DATA
4RXDGPIO3,I2SO_DATA
5TXDGPIO1
6EN芯片使能端,高电平有效
7RST复位引脚,低电平有效
8VCC模组供电引脚,电压范围 3.0~3.6V

(3)启动模式:

ESP系列模组启动模式说明:

模式

CH_DP

  (EN)

RSTGPIO15GPIO0GPIO2TXD0
下载模式      低
运行模式      低
测试模式     ——    ——  ——

 二、ESP-01S出厂固件烧录:

(1)引脚接线:

模块引脚USB转TTL
3.3V3.3V
RST3.3V
EN3.3V
OI23.3V
GNDGND
IO0GND
TXRX
RXTX

使用ESP-01S模块时,不建议使用USB转TTL模块的3.3V或5V进行供电,主要原因有:

供电电流不足:ESP-01S模块的工作电流可能超过USB转TTL模块所能提供的电流。USB转TTL模块通常设计用于驱动低功耗的串口设备,而ESP-01S在工作时,尤其是启动和通信过程中,可能需要较大的电流,这可能导致供电不稳定或模块无法正常工作。

电压不稳定:USB转TTL模块提供的电压可能不稳定,这对于需要稳定电压工作的ESP-01S模块来说可能会导致运行不稳定或损坏模块。

保护模块:使用独立的电源,如两节干电池或经过LDO(Low Dropout Regulator)转换后的3.3V电源,可以更好地保护ESP-01S模块,避免由于供电问题导致的损坏。

避免干扰:使用独立的电源还可以减少由于USB转TTL模块可能引入的电磁干扰,这对于保持ESP-01S模块的稳定运行也是有益的。

(2)烧录工具:

通过网盘分享的文件:flash_download_tools_v3.6.4
链接: https://pan.baidu.com/s/1FrSQeS002O7HSjZuCfYWLQ?pwd=xs7h 提取码: xs7h

(3)固件库:

通过网盘分享的文件:ESP8266-01S
链接: https://pan.baidu.com/s/1NHd2cw8aVMOjade3l9UAeg?pwd=git3 提取码: git3

(4)烧录方法:

第一步:打开ESPFlashDownloadTool_v3.6.4烧录工具,选择ESP8266 DownloadTool。

b1b5a70344b846f6b5670186e06c77c3.png

第二步: 找到固件库Ai-Thinker_ESP8266_DOUT_8Mbit_v1.5.4.1-a_20171130.bit对应的文件地址,选择相应的参数,找到自己TTL所连串口,波特率选择115200(ESP8266 系列模组默认波特率为115200)。

 d781ec27552b40c4ac3598ff5ade0743.png

 第三步:点击START开始烧录出厂固件。

 af2a5895d1a4489b8a40dffe9cc0be1a.png

def12873dae247a1bc7471e049855622.png如果出现长时间,等待模块上电,迟迟不进入下载中,并下载失败。可以在等待上电期间,将RST脚轻触GND脚,重启ESP-01S,复位上电。

 三、ESP-01S  AT指令:

(1)串口配置:

端口UART0波特率115200 校验位None
数据位8 停止位 1 HEX

(2)启动信息:

088b1e9ea50949d696f2d15208ac71b8.png

 (3)基础AT指令:

AT指令说明示例
AT测试 AT 是否 OK

AT

OK

AT+GMR返回固件版本信息

AT+GMR
AT version:1.2.0.0(Jul 1 2016 20:04:45)

SDK version:1.5.4.1(39cb9a32)

Ai-Thinker Technology Co. Ltd.

Dec 2 2016 14:21:16

OK

AT+RST软重启模组AT+RST
OK
AT+RESTORE重置模组为出厂设置

AT+RESTORE

OK

四、TCP 通信测试:

TCP Server 为 AP 模式,TCP Client 为 Station 模式。

(1)TCP Server 端配置:

步骤示例说明
第一步

Ai-Thinker Technology Co. Ltd.


ready

模块是否准备就绪

 (上电后会显示)

第二步AT+CWMODE=2

OK
配置为 AP 模式
第三步

AT+CWSAP_DEF="TCP_Server","12345678",5,4


OK

配置 AP 信息
第四步

AT+CIFSR

+CIFSR:APIP."192.168.4.1"
+CIFSR:APMAC,"a2:20:a6:19:c7:0a"

OK

查询本机 IP 地址
第五步AT+CIPMUX=1

OK
开启多链接
第六步

AT+CIPSERVER=1


OK

开启服务器
0,CONNECT

 
有一个客户端连接到服务器
+PD,0,10:Ai-Thinker接收到 10 个数据(Ai-Thinker)
第七步

AT+CIPSERVER=0


OK

关闭服务器
0,CLOSEDTCP 连接关闭

 (2)TCP Client 端配置:

步骤示例说明
第一步

Ai-Thinker Technology Co. Ltd.


ready

模块是否准备就绪

(上电后会显示)

第二步

AT+CWMODE=1


OK

配置为 Station 模式
第三步

AT+CWJAP_DEF="TCP Server","12345678"


WIFI CONNECTED

WIFI GOT IP


OK

连接到 AP
第四步

AT+CIFSR

+CIFSR:STAIP"192.168.4.2"

+CIFSR:STAMAC,"5c:cf:7f91:8b:3b"

OK

查询本机 IP 地址
第五步

AT+CIPMUX=0


OK

开启单链接
第六步

AT+CIPSTART="TCP","192.168.4.1",333

CONNECT


OK

连接到 TCP 服务器
第七步

AT+CIPSEND=10 


OK

发送 10 个字节的数据到服务器端
>出现该符号后串口发送 Ai-Thinker
Recv 10 bytes串口接收到数据
SEND OK发送成功
CLOSEDTCP 连接被关闭

 (3)测试模式下演示:

引脚接线:

模块引脚接线
3.3V3.3V
RST3.3V/悬空
EN3.3V
OI2悬空
GNDGND
IO0悬空
TXRX(TTL)
RXTX(TTL)

基础AT指令测试:

44cd5101f238473d8fc9bede6b3fd176.png

TCP Server 端配置:

9e27ae8226334209a4d0c785d0dec08f.png

51dae64fb57c4c4894f15592878c2247.png

TCP Client 端配置:

连接手机热点,连接到物联网云平台。

aca96c603bd041d59a8b0a28f45e18e0.png

打开手机热点,热点名称:AP  密码:88888888   频段:2.4GHz。

名称和密码可自行设置,频段要设置为2.4GHz。

e5571342052341939956c1d85c506f3c.png

向服务器发送数据:

发送序列号9U6897255YW63AH6,连接到物联网云平台设备端。

d8c3c46fd31b4fedac1733d968ff2677.png

 打开物联网云平台设备端,查看设备是否正常连接。

4588a8e8a9d9485392ada6cdbd9ac38f.png

根据自定义TCP数据协议发送数据。

0b1ecce1e11d42e69f787637ceb9fc78.png 打开物联网云平台设备端,查看数据是否传输正常。

a8277b9c131d4d01b3c589fcd6440f4c.png

五、实际应用:

 (1)物联网云平台配置:

打开TLINK物联网平台,登录或注册账号,并进入控制台。

e2e6293cb9db40868b793954d26bcbef.png

找到项目栏,如下: 

83430ec6ec4b4a30a740a2d2fed6b7e6.png监控中心:可以监控设备情况,如查看传感器数据,以及数据下发到设备端等等。

设备管理:可以新增设备组和新增传感器等等。

设备地图:可以查看当前设备所处的位置。

触发器:可以设置传感器的触发条件,如温度高于30摄氏度报警。

进入设备管理界面,新建设备组,并命名设备组名称。

681fb1f28c5d4620999b8858ae795ff5.png

点击添加设备,设置设备名称,链接协议及传感器数量。

d2d1635a83aa403db00faf92e4156b62.png 选择设备位置后,创建新设备,点击设置连接,配置TCP协议标签。

b8cfbee1945944a1877db7e5c29516a6.png d38bfa83e42a4e74be905263fae0df79.png

29ea42e33e2c46df873400c002b5620a.png如图配置好通信协议后,能接收到的数据包为#数据1,数据2#,数据1,数据2按传感器的序号,给到对应的传感器。

在设备连接界面可以看到,设备IP:tcp.tlink.io,端口号:8647,序列号:7S7BJ2E4GS37174X

550ad03aedab44608dfae36b728bfcd1.png

使用ESP-01S连接到该设备服务器端。

31f0d2be41824f6081122a675dffaef2.png

注意事项,连接到服务器端后发送的第一条数据要为设备的序列号:7S7BJ2E4GS37174X,使之连接到该设备。

d3c007bbbfe94534a9b6b11b9629692f.png

 发送序列号后将连接到对应的设备。 

035ea3c5c77b4c6eaf15570ea938cc7f.png

之后发送数据, 使用测试数据#25.10,25.20#。

3f549a13174c40708322a688a7ff9a60.png49cae3b5797844fd9848ad88ad372914.png

至此, 物联网云平台配置基本完成,后续可增加和修改相应配置。

(2)设备端配置:

设备端配置采用STM32F103C8T6最小系统板,温湿度采集使用DHT11模块,无线模块使用ESP-01S的测试模式,使用串口1(PA9,PA10)进行数据传输。

引脚接线:

引脚接线
ESP-01S_3V33.3V
ESP-01S_EN3.3V
ESP-01S_GNDGND
ESP-01S_RXPA9
ESP-01S_TXPA10
DHT11_VCC5V
DHT11_DATPA5
DHT11_GNDGND
ESP-01S_RST3.3V/悬空

DHT11数据采集教程:

一篇文章教会你DHT11读取温湿度,附STM32代码示例

串口使用教程:

一篇文章教会你串口通信原理,附STM32代码示例

ESP-01S初始化连接到TCP服务器:

//ESP-01S初始化连接到TCP服务器
void Tcp_Init(void){
	
//	printf("AT+RESTORE\r\n");									//重置模块为出厂设置
	
//	Delay_ms(7000);
	printf("AT+CWMODE=1\r\n");    								//配置为Station模式
	Delay_ms(3000);
	printf("AT+CWJAP_DEF=\"AP\",\"88888888\"\r\n");     		//连接到AP
	Delay_ms(10000);
	printf("AT+CIFSR\r\n");   									//查询主机IP地址
	Delay_ms(3000);
	printf("AT+CIPMUX=0\r\n");									//开启单链接
	Delay_ms(3000);
	printf("AT+CIPSTART=\"TCP\",\"tcp.tlink.io\",8647\r\n");	//连接到TCP服务器
	Delay_ms(3000);
	printf("AT+CIPSEND=16\r\n");								//发送16个字节到TCP服务器
	Delay_ms(3000);
	printf("7S7BJ2E4GS37174X\r\n");								//发送设备序列号,连接设备
	
}

注意,ESP-01S在连接过热点AP之后,若下次上电时为Station模式,热点名称密码若未更改,会自动连接先前连接过的热点AP。

连接TLINK物联网云平台:

//连接TLINK物联网云平台
void TCP_Connect(void){

	printf("AT+CIPSTART=\"TCP\",\"tcp.tlink.io\",8647\r\n");	//连接到TCP服务器
	Delay_ms(3000);
	printf("AT+CIPSEND=16\r\n");								//发送16个字节到TCP服务器
	Delay_ms(3000);
	printf("7S7BJ2E4GS37174X\r\n");								//发送设备序列号,连接设备
	Delay_ms(3000);
}

 TCP协议向TLINK物联网云平台发送数据:

//TCP协议向TLINK物联网云平台发送数据
void Tcp_Data_Send(void){
	
	printf("AT+CIPSEND=13\r\n");
	Delay_ms(3000);
	printf("#%.2f,%.2f#\r\n", Temp, Humi);
	Delay_ms(2000);
}

加适当的延时等待上一条指令完成。

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "uart.h"
#include "Tcp.h"
#include "DHT11.h"

int main(void)
{
	
	Uart_Init(115200);
	DHT11_Init();
	
	//Tcp_Init();       			//初始化连接
	
	TCP_Connect();					//tcp连接
	Delay_ms(1000);
	while (1)
	{
	DH11_Data();

	Tcp_Data_Send();
		
	}
}

可以将ESP-01S_TX引脚接在TTL上的RX脚上,串口助手查看数据发送情况。b930cd0ae19646fa81cea0e0275835d5.png

TLINK物联网云平台查看数据传输情况。0367968944c2489f99021c82bc18e4f8.png

(3)扩展:

添加触发器触发条件。

843bb68465284124af294f2f547760ba.pngTLINK提供了多种报警方式,如短信,语音,微信,邮箱。其中微信与邮箱可免费发送报警信息。

需在个人中心添加联系人。 

向DHT11吹气,测试触发器报警情况。

ee26ce7533f244c69cf3b72cdded26e5.png

a3fdb1da265f46919daabf1930009e99.png

e2259f148c8d4c2fb6c2803a85582816.png

b1a76bda803e4ed8966689a20498722b.png

 TLINK也可下发数据给设备。

f371fb2f728a48fe951753fad17ed944.png

24bb9ec4d6bf4d1cb83832b51ae29bbc.png

 接收到的数据为+IPD,6:123456,即,数据长度为6,内容为123456。

 手机APP上实时查看设备状态,变化曲线,历史记录。

836ac0ccdebe462b8e6bbe296172340e.png

4eccc644147e4befafb9d49f3ab31962.png

833d33cf985c4ae2adf0188a08031dae.png 六、STM32代码下载:

通过网盘分享的文件:29- ESP-01S物联网
链接: https://pan.baidu.com/s/1P3uguImoLmPeBM0wVdAYsQ?pwd=cfej 提取码: cfej

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The_xzs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值