admin管理员组

文章数量:1531265

硬件准备

1:ESP8266(本工程中用的是6脚的)

2:STM32F407ZGT6

3:PC机

4:usb转TTL模块(此模块用来和ESP8266连接配置WIFI)

软件准备

1:KEIL5

2:WIFITFTO(用Python写的脚本,作为STM32串口与虚拟屏串口连接的中介,STM32的数据通过其串口发送到WIFITFT的串口,我们用Configure Virtual Serial Port Driver将WIFITFT的串口和虚拟屏幕的串口绑定在一起,从而将STM32的数据发送到虚拟屏上加以显示,实现联机通信。

3:Configure Virtual Serial Port Driver(用来绑定WIFITFT与虚拟机的串口)

4:广州大彩屏(这里我们用的是其中的虚拟屏软件,相关资料到http://gz-dc/index.php?s=/List/index/cid/19.html下载)

5:串口调试助手

1:配置WIFI

将USB转TTL模块和ESP8266连接起来

VCC-VCC

GND-GND

TXD-RXD

RXD-TXD

之后将USB转TTL模块用USB数据线接电脑串口供电

打开调试助手

博主由于之前已经配好,所以在这里重新给大家配一次

首先给大家看一下相关AT指令

相关指令解释

1. 设置WiFi模式: AT+CWMODE=1 设置为STA模式

2. 重启⽣效: AT+RST

3. 连接路由器: AT+CWJAP="Honor 8X","123456789"(这是电脑此刻连接的无线网和密码)

4. 打开“WiFi2TFT”创建⼀个Server,这⾥记下⾃⼰的IP地址,默认开启端⼝号8086

 

5. 根据实际IP地址设置为: AT+CIPSTART="TCP","192.168.0.1",8086

6. 开启透传模式: AT+CIPMODE=1

7. WiFi模块默认波特率是115200,如果修改波特率则发送 AT+UART=9600,8,1,0,0 ,(在本

实验所有波特率均设置的9600

8. 保存当前透传模式到FLASH: AT+SAVETRANSLINK=1,"192.168.0.113",8086,"TCP",重新上电

时,指令将不起作⽤,所有数据将直接发送到电脑服务端。

9. 当地点发⽣变化时,IP地址也将发⽣改变,则需要先退出透传,重新配置WiFi。先发送 '+++'(

勾选发送新⾏)退出透传,再发送 AT+SAVETRANSLINK=0(勾选发送新⾏),进⼊重新配置模

开始配置

1:发送+++关闭透传模式,此时不要勾选新行 

2:勾选新行,发送AT+SAVETRANSLINK=0

第一次配置ESP8266可忽略1,2,步

3:发送AT+CWMODE=1

4:发送AT+RST

5:发送AT+CWJAP="Honor 8X","123456789" 

6:发送AT+CIPSTART="TCP","192.168.0.113",8086

此时先打开WIFITFT

点击未连接

之后发送AT+CIPSTART="TCP","192.168.0.113",8086

 

7:发送AT+CIPMODE=1开启透传

8:发送AT+CIPSEND

9: 之后取消发送新行,在发送+++

10:之后勾选发送新行,发送AT+SAVETRANSLINK=1,"192.168.43.202",8086,"TCP",完成断电保存,再次上电时直接打开WIFITFT点击连接即可,这样就完成了ESP8266的配置。

之后将配置好的ESP8266和STM32 连接起来

VCC-VCC

GND-GND

PA10-TXD

PA9-RXD

打开串口绑定软件(相关方法在大彩屏资料包中有)

将COM4和COM5绑定在一起

 打开Visual TFT

在Visual TFT建立相关工程

博主这里只建立一个简单的工程,用于验证STM32与电脑的联机通信

关于虚拟屏的使用下篇文章再做细致介绍,资料包里也提供了很详细的教程。

主要三个界面

主界面显示两个功能,一个显示单片机发送的正弦波曲线,第二个文本显示中电流1方框的值0.0000也是单片机程序设定的

关于STM32的例程。

大屏资料包里给的STM32例程是F103的,博主用的是407的板子所以需要移植,具体步骤可以前往STM32F407与大彩串口屏的调试经验总结_Mo-CSDN博客_迪文串口屏和大彩哪个好

此外介绍几个函数功能

此函数便是发送正弦波曲线的函数,第一个参数是虚拟盘工程里的画面 ID,第二个工程是空间ID,第三个是通道

第四个便是用来存正弦波的数组

 

SetTextValue(2,2,result_buff);第一个参数是虚拟盘工程里的画面 ID,第二个工程是空间ID,第三个便是要发送的字符串,这样就可以在工程中画面ID为2,空间ID为2的文本框中显示数据

看到工程中画面ID为2,电流旁边的文本控件ID也为2,这样就实现了单片机将数据发送到虚拟屏上加以显示。

工程中所有背景图片均需根据自己实际需求自己设计,再插入作为背景

点击通信记录,可以看到STM32一直在发数据,虚拟屏在接受数据

关于本工程中波特率 的设置

一共用到4个波特率,4个要保持一致才能保证接受数据正确

1:STM32程序中串口的波特率 

2:串口调试助手中的波特率

3:WIFITFT中的波特率

4:虚拟串口屏的波特率

wifi的单片机代码例程:https://download.csdn/upload/success

WIFITFT下载地址:CSDN

本文标签: 模块通信wifiPC