STM32+ESP8266点灯点灯(1)

本文介绍了如何使用ESP8266-01s模块与STM32F103C8T6单片机通过AP+STA模式进行通信,包括硬件连接、AT指令测试、波特率配置、入网设置、查询IP地址、网络助手配置、连接服务器以及开启和退出网络透传模式的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、简介

2、硬件连接

3、AT指令测试

4、波特率配置

5、入网设置

6、以设备模式接入家中路由器配置

7、查询IP地址

8、网络助手配置

9、连接服务器

10、开启透传

11、退出透传模式


1、简介

ESP8266有三种模式:

    1、AP模式(ESP8266作为路由器,其他设备(调试助手、手机等)进行连接);

    2、Station模式 (ESP8266作为设备需要连接路由器、手机热点等);

    3、 AP+STA 模式

本次设计基于STM32F103C8T6单片机通过ESP8266-01s通过AP+STA 模式进行点灯,具体步骤如下所示:

2、硬件连接

ESP8266模块与USB转TTL串口接线示意图如下:

3.3V-----3.3V

GND----GND

TXD-----RX

RXD-----TX

3、AT指令测试

AT

OK

4、波特率配置

AT+UART=115200,8,1,0,0

5、入网设置

AT+CWMODE=3 //1. 是station(设备)模式 2.是AP(路由)模式 3.是双模

OK

6、以设备模式接入家中路由器配置

AT+CWJAP="名称","密码" //名称密码输入当前WIFI或者手机热点账户密码
WIFI CONNECTED //结果
WIFI GOT IP //结果

7、查询IP地址

AT+CIFSR //指令
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"4e:75:25:0d:ae:2f"
+CIFSR:STAIP,"192.168.218.245"
+CIFSR:STAMAC,"4c:75:25:0d:ae:2f"
OK

8、网络助手配置

开关网络助手,设立TCP服务器

9、连接服务器

AT+CIPSTART="TCP","192.168.218.245",8880 //指令,注意双引号逗号都要半角(英文)输入
CONNECT //结果:成功
OK //结果:成功

10、开启透传

AT+CIPMODE=1 //开启透传模式
Response :O
AT+CIPSEND //带回车
Response: > //这个时候随意发送接收数据咯

可以在串口调试助手和网络调试助手之间互发消息。

11、退出透传模式

//+++,退出透传发送

### STM32ESP8266配合点灯科技的使用教程 #### 一、开发概述 STM32作为主控芯片,可以通过串口通信与ESP8266模块交互,从而实现物联网功能。点灯科技提供了一个云端平台,允许开发者轻松上传数据并远程控制设备。这种组合可以用于多种应用场景,例如智能家居中的灯光控制系统。 为了完成这一项目,需要了解以下几个方面: - **硬件接线**:如何正确连接STM32ESP8266- **固件编程**:编写适用于STM32的程序来初始化ESP8266,并发送AT指令配置网络参数。 - **云服务集成**:利用点灯科技或其他IoT平台(如OneNET),将传感器数据上传至云端或接收来自云端的命令。 #### 二、硬件准备 在实际操作前,请确认已准备好以下材料: - 主控制器板子 (推荐型号为STM32F103C8T6)- Wi-Fi模组 ESP8266- USB转TTL转换器以便于调试; - 面包板以及若干杜邦线用来搭建临时电路; 具体接法如下所示[^3]: ```plaintext +-------------------+ | | | STM32 |---- TXD -> RX | |<-- RXD <- TX | |---- GND +-------------------+ || \/ +-------------------+ | | | ESP8266 |---- VCC | |---- CH_PD | |---- GND +-------------------+ ``` 注意调整电压等级匹配问题,因为某些版本esp可能工作在3.3V逻辑电平下而stm则可能是5v. #### 三、软件设置 ##### 初始化阶段 启动时需先加载驱动库文件进入工程目录树结构当中去,在main函数内部调用相应API接口方法完成基本设定流程: ```c #include "usart.h" void UART_Init(void){ // Initialize USART configuration here... } int main(){ HAL_Init(); SystemClock_Config(); /* Configure the system GPIOs */ MX_GPIO_Init(); /* Initialize all configured peripherals */ UART_Init(); while(1){ char buffer[100]; sprintf(buffer,"AT+CWMODE=1\r\n"); // Set WiFi mode to Station Mode. HAL_UART_Transmit(&huart1,(uint8_t*)buffer,strlen(buffer),HAL_MAX_DELAY); delay_ms(1000); // Wait one second between commands sprintf(buffer,"AT+CWJAP=\"SSID\",\"PASSWORD\"\r\n"); HAL_UART_Transmit(&huart1,(uint8_t*)buffer,strlen(buffer),HAL_MAX_DELAY); delay_ms(5000); // Longer wait time since joining network takes longer. } } ``` 上述代码片段展示了如何向ESP8266发出两条重要的AT指令以建立无线连接[^2]. 更多高级特性比如MQTT协议支持或者HTTP POST请求都需要额外的研究实践才能掌握好它们的工作原理及其应用场合[^4]. #### 四、注意事项 当尝试构建此类项目的时候应该特别留意几个常见陷阱: - 确认所使用的波特率一致; - 如果遇到超时错误,则考虑增加延迟时间; - 对返回的消息进行解析判断成功与否再继续下一步骤; --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值