工程源码下载: https://download.csdn.net/download/xiaolong1126626497/15805037
一、硬件环境介绍
1. ESP8266 :采用安信可的模组,型号是ESP12F
2. STM32 : 采用STM32F103C8T6
3. 编程软件 : 采用Keil5
ESP8266编程调试过程中用到的相关软件下载地址:
物联网网调试终端:https://download.csdn.net/download/xiaolong1126626497/12624530
TCP调试助手:https://download.csdn.net/download/xiaolong1126626497/12624461
串口调试助手:https://download.csdn.net/download/xiaolong1126626497/12624450
二、ESP8266通信的调试与运行效果
下面几张图是将ESP8266配置成AP TCP服务器模式,电脑连接ESP8266的热点之后,实现数据通信。通信的效果是,在电脑点击物联网控制系统软件,实现控制开发板上的LED灯和蜂鸣器,开发板上将检测的光敏数据、温度数据、RC522刷卡数据传输到电脑的软件上进行显示。----局域网通信
三、硬件接线与代码技术部分介绍
硬件连接: 下面会贴出核心代码,在当前开发板上,ESP8266接在STM32F103C8T6的串口3上。
代码分为以下几个部分:
(1) STM32程序里的串口接收采用定时器 接收中断的形式接收数据,使用这种方式可以接收不定长度数据,方便接下来与ESP8266进行通信。
(2). ESP8266驱动代码:代码实现了STA TCP客户端的一键配置函数,AP TCP服务器的一键配置函数,要配置ESP8266只需要调用对应的函数传入参数即可。
四、核心代码部分
4.1 ESP8266.c代码
代码语言:javascript复制#include "esp8266.h"
u8 ESP8266_IP_ADDR[16]; //255.255.255.255
u8 ESP8266_MAC_ADDR[18]; //硬件地址
/*
函数功能: ESP8266命令发送函数
函数返回值:0表示成功 1表示失败
*/
u8 ESP8266_SendCmd(char *cmd)
{
u8 i,j;
for(i=0;i<10;i ) //检测的次数--发送指令的次数
{
USARTx_StringSend(USART3,cmd);
for(j=0;j<100;j ) //等待的时间
{
delay_ms(50);
if(USART3_RX_FLAG)
{
USART3_RX_BUFFER[USART3_RX_CNT]='