2 Star 22 Fork 6

Ikaros/STM32F103+ESP8266 WiFi模块 实现AP模式下的TCP C_S 和 UDP Client

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

# 前言

参考资料:

    STM32F1开发指南(精英版)-库函数版本_V1.2.pdf

    ATK-ESP8266 WIFI用户手册_V1.2.pdf

    ATK_ESP8266V1.2.pdf

    ATK-ESP8266 WIFI模块使用说明(战舰V3&精英版)_AN1509A.pdf

源码参考:正点原子 (库函数版本,适合战舰V3和精英STM32开发板)扩展实验13 ATK-ESP8266 WIFI模块测试实验) 这个例程功能比较全,也很强大,我对这个例程进行了精简和删改,LCD显示也注释了。

开发板:正点原子 STM32F103 精英版

语言:C语言

开发环境:Keil5

手机:准备的软件是 网络调试助手 或 网络测试

在这里插入图片描述

开发板使用了 LED KEY TFTLCD USART SPI ESP8266模块

ESP8266模块 相关资料

更多参考底部

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

代码下载:

码云 GitHub

功能介绍:

复位1秒后,进入ap_demo()函数,默认配置为AP模式,TCP 服务端,端口为8086。KEY0按下发送测试数据,KEY_UP按下结束测试。期间会有串口打印,最好复位后就把串口打开看信息。

main.c中可以设置网络模式和IP地址。

u8 netpro = 0;	//网络模式 0,TCP服务器 1,TCP客户端 2,UDP模式
u8 ipbuf[16] = "192.168.4.2"; 	//IP (根据你的设备连上模块后分配到的IP填写)

common.c中可以设置 端口 wifi信息等

//连接端口号:8086,可自行修改为其他端口.
const u8* portnum="8086";		 

//WIFI STA模式,设置要去连接的路由器无线参数,请根据你自己的路由器设置,自行修改.
const u8* wifista_ssid="wifi_name";			//路由器SSID号
const u8* wifista_encryption="wpawpa2_aes";	//wpa/wpa2 aes加密方式
const u8* wifista_password="password"; 	//连接密码

//WIFI AP模式,模块对外的无线参数,可自行修改.
const u8* wifiap_ssid="ATK-ESP8266";			//对外SSID号
const u8* wifiap_encryption="wpawpa2_aes";	//wpa/wpa2 aes加密方式
const u8* wifiap_password="12345678"; 		//连接密码 

拓展应用

功能介绍:

AP STA STA+AP 模式下,建立tcp/udp连接后,发送指定命令,控制LED1和蜂鸣器的开关。

命令如下:(每行都是一条命令,不要有换行等)具体实现在common.c

LED1 ON
LED1 OFF
BEEP ON
BEEP OFF
GET T&H

参考文章:STM32F103+ESP8266(WiFi)模块 简单应用之远程控制LED和蜂鸣器、读取温湿度

接线

接ATK MODULE

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

没有ATK MODULE情况

VCC   -》  5V
GND   -》  GND
TXD   -》  PB11
RXD   -》  PB10
RST   -》  PA4
IO_0  -》  PA15

在这里插入图片描述

在这里插入图片描述

效果图

TCP 服务端

u8 netpro = 0;	//main.c ap_demo() 网络模式 0,TCP服务器 1,TCP客户端 2,UDP模式

烧写完后,复位,打开串口调试工具。

在这里插入图片描述

可以从上图中看到,wifi的具体信息

IP地址:192.168.4.1 端口:8086
请用设备连接WIFI热点:SSID:ATK-ESP8266
加密方式:wpawpa2_aes
密码:12345678
状态:TCP服务器

根据上面的信息连接wifi(ATK-ESP8266),连接成功后查看详细信息

在这里插入图片描述

网络调试助手

打开软件,选择顶部“tcp client”,点击“增加”,输入上面的IP地址和端口,进行“增加”

在这里插入图片描述

提示“连接成功”,并且左上角出现 小块显示增加的连接

在这里插入图片描述

此时串口收到连接信息,连接成功

在这里插入图片描述

手机编辑文本“123321”,点击发送,STM32按下KEY0发送测试数据,顶部收到数据。最后长按连接块,“断开”连接。

在这里插入图片描述

串口打印如下

在这里插入图片描述

网络测试

打开手机软件“网络测试”,选择TCP

在这里插入图片描述

右上角 “创建连接”,填入上面串口打印的IP:端口 ,点击“确定”

在这里插入图片描述

右上角显示“已连接”就是连上了,然后我们发送“好家伙”,再STM32按KEY0(发送测试数据)

在这里插入图片描述

最后按右上角“已连接”,断开连接

在这里插入图片描述

串口助手收到的数据如下

在这里插入图片描述

双管齐下

在这里插入图片描述

在这里插入图片描述

TCP 客户端

u8 netpro = 1;	//main.c ap_demo() 网络模式 0,TCP服务器 1,TCP客户端 2,UDP模式
u8 ipbuf[16] = "192.168.4.2"; 	//IP (根据你的设备连上模块后分配到的IP填写)

手机创建TCP 服务端 监听8086端口,等待客户端主动连接

在这里插入图片描述

注意下时间线0.0

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

UDP 客户端

u8 netpro = 2;	//main.c ap_demo() 网络模式 0,TCP服务器 1,TCP客户端 2,UDP模式
u8 ipbuf[16] = "192.168.4.2"; 	//IP (根据你的设备连上模块后分配到的IP填写)

在这里插入图片描述

手机创建UDP server,监听8086端口

在这里插入图片描述

在这里插入图片描述

按下KEY0,主动发送数据

在这里插入图片描述

手机连接建立,点击进入

在这里插入图片描述

在这里插入图片描述

参考用图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

拓展

STA模式

TCP服务端

准备2个手机,或者能产生wifi信号的设备。

一个手机开启手机热点,设置wifi信息

在这里插入图片描述

另一个手机连接热点,查看详细信息,分配到的ip是 192.168.43.39

在这里插入图片描述

修改main.c,调用 atk_8266_test();

atk_8266_test();		//进入ATK_ESP8266测试
// ap_demo();

修改common.c,填写新的STA模式的wifi信息

//连接端口号:8086,可自行修改为其他端口.
const u8* portnum="8086";		 

//WIFI STA模式,设置要去连接的路由器无线参数,请根据你自己的路由器设置,自行修改.
const u8* wifista_ssid="ikaros";			//路由器SSID号
const u8* wifista_encryption="wpawpa2_aes";	//wpa/wpa2 aes加密方式
const u8* wifista_password="12345678"; 	//连接密码

//WIFI AP模式,模块对外的无线参数,可自行修改.
const u8* wifiap_ssid="ATK-ESP8266";			//对外SSID号
const u8* wifiap_encryption="wpawpa2_aes";	//wpa/wpa2 aes加密方式
const u8* wifiap_password="12345678"; 		//连接密码 

修改 wifista.catk_8266_wifista_test(void) ,IP改成另一个手机的IP(这里给客户端模式用的,暂时没用)

u8 ipbuf[16] = "192.168.43.39"; 	// IP缓存

程序重编,烧写,打开串口,看到提示按键

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

TCP客户端

这里就用到上面说的ip了

修改 wifista.catk_8266_wifista_test(void) ,IP改成另一个手机的IP(这里给客户端模式用的,暂时没用)

u8 ipbuf[16] = "192.168.43.39"; 	// IP缓存

不重复赘述,直接上结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

空文件

简介

STM32F103+ESP8266(WiFi)模块 实现AP模式下的TCP C/S 和 UDP Client 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/ikaros-521/STM32_ESP8266_AP_mode_TCP_UDP.git
git@gitee.com:ikaros-521/STM32_ESP8266_AP_mode_TCP_UDP.git
ikaros-521
STM32_ESP8266_AP_mode_TCP_UDP
STM32F103+ESP8266 WiFi模块 实现AP模式下的TCP C_S 和 UDP Client
master

搜索帮助