ESP8266控制基于STM32f103智能小车

2021-01-12

ESP8266控制基于STM32f103智能小车

项目简介

本项目介绍了如何使用ESP8266 WIFI模块在透传模式下控制STM32驱动的小车运行。通过连接ESP8266的UART接口与STM32单片机通信,设置ESP8266的工作模式,配置AP并开启服务器,实现远程指令传输。代码示例展示了初始化和发送命令的过程。

主要功能

  1. 透传模式:ESP8266在透传模式下,服务器端下发指令到ESP8266,ESP8266模块不会对指令进行任何数据处理,直接将指令通过UART传给单片机。
  2. 接线配置:ESP8266模块与STM32单片机的接线配置,包括VCC、GND、UTXD、URXD等引脚的连接。
  3. 代码实现:提供了ESP8266的初始化代码,包括设置工作模式、重启模块、配置AP模式、开启服务器等。
  4. 远程控制:通过手机APP或其他设备连接到ESP8266的AP,发送控制指令,实现对小车的远程控制。

使用步骤

  1. 硬件准备:准备STM32f103单片机、ESP8266模块、电机驱动模块等硬件。
  2. 接线:按照接线图连接ESP8266与STM32单片机。
  3. 下载代码:将提供的代码下载到STM32单片机中。
  4. 配置ESP8266:通过串口工具发送AT指令,配置ESP8266的工作模式和AP设置。
  5. 远程控制:使用手机APP或其他设备连接到ESP8266的AP,发送控制指令,实现对小车的远程控制。

代码示例

以下是ESP8266初始化代码的示例:

void esp8266_start_trans(void) {
    // 设置工作模式 1:station模式 2:AP模式 3:兼容 AP+station模式
    esp8266_send_cmd("AT+CWMODE=2", "OK", 50);
    // Wifi模块重启
    esp8266_send_cmd("AT+RST", "OK", 20);
    delay_ms(1000);
    // 延时3S等待重启成功
    delay_ms(1000);
    delay_ms(1000);
    // AP模式
    esp8266_send_cmd("AT+CWSAP=\"ESP8266\", \"12345678\", 1, 4", "OK", 200);
    esp8266_send_cmd("AT+CIPMUX=1", "OK", 20);
    esp8266_send_cmd("AT+CIPSERVER=1, 8080", "OK", 200);
}

注意事项

  1. 电源供应:确保ESP8266模块的电源供应稳定,建议使用5V供电。
  2. 波特率设置:ESP8266默认波特率为115200,确保STM32单片机的串口波特率与之匹配。
  3. 网络连接:确保手机或其他设备与ESP8266的AP连接稳定,避免控制指令丢失。

参考资料

  • 正点原子ESP8266资料
  • 安信可ESP8266资料下载

贡献

欢迎对本项目进行改进和优化,提交Pull Request或Issue。

许可证

本项目采用CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

下载链接

ESP8266控制基于STM32f103智能小车分享