# esp32 TFT彩屏投屏 **Repository Path**: bugroom/esp32-TFT ## Basic Information - **Project Name**: esp32 TFT彩屏投屏 - **Description**: 彩屏投屏助手 利用tcp协议 无线传输数据给esp32 - **Primary Language**: C++ - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 78 - **Created**: 2021-07-23 - **Last Updated**: 2023-06-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # esp32 TFT彩屏投屏 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0715/164506_5454226d_8230134.jpeg "EF9F5CBBEBBA86E71D6367CE301C9B61.jpg") #### 介绍 彩屏投屏助手 利用tcp协议 将电脑屏幕实时发送给esp32处理显示,理论10帧以上 新版投屏助手1.1:pc端截屏速度最大为50帧+,已经测试。 作者:大超 B站:super大大怪i 创了一个交流群:519926351,群类有esp32离线安装包,库文件和引脚图,有问题可以讨论 彩屏投屏助手v1.0链接: 链接:https://pan.baidu.com/s/1k0PlJwTJzR48ptvsuwyB-Q 提取码:xuub 彩屏投屏助手v1.1链接:(自定义截屏区域,极大提升截屏帧率) 链接:https://pan.baidu.com/s/1SUEZzUl10WXdvubds4pD7Q 提取码:qzf2 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0715/165024_1a872ad8_8230134.png "%]@9]RCQARY~TCD_`)X}D1G.png") #### 软件架构 软件架构说明 上位机:采用Python编程,ui界面用的python自带的tkinter,图像处理采用opencv,数据传输基于tcp协议 下位机:采用arduino编程,显示库采用TFT_eSPI,jpg图片解码采用 [Tjpg_Decoder](https://github.com/Bodmer/TJpg_Decoder) #### 安装教程 如果你是其他尺寸屏幕的话,可以修改TFT_eSPI 里的 User_Setup.h ,记得把spi速度改为80M,也在该文件里,接线教程->[配置教程](https://blog.csdn.net/finedayforu/article/details/108975245) #### 使用说明 先点击开始投屏,然后复位板子连接。 1. 电脑和esp32必须要在同一局域网内,可以电脑给esp32开热点连接,将arduino 里的 wifi 密码 上位机ip 端口(上位机开启投屏时会显示)修改好后,烧录至esp32,pc端打开彩屏投屏助手,选择好屏幕参数,点击开始投屏,如果没有你的屏幕尺寸可以手动修改‘宽x高’ 以小写x分割,然后复位esp32连接。 2. 镜像和质量选项,可以在数据传输中设置,彩屏动态显示,质量设置越低,画质越模糊,同时图片内存会变小,默认95,不建议往上加(内存大,esp32处理慢),可以根据自己需要适当降低提高帧率 3. 截屏区域,屏幕尺寸,同异步,在开启投屏前设置 4. 工作流程:esp32显示完一帧后,会向上位机发送请求下一帧指令‘ok’,没有处理完当前帧就会发送‘no’,上位机收到ok后才发送下一帧,这样避免了沾包问题 #### 注意事项 1.由于tcp高速传输数据耗费CPU资源较大,esp32发热严重,加上80Mspi,芯片几乎是全频工作,平均电流为0.21A。芯片过热,数据传输可能会中断。 2.若出现主机发送帧率较低情况,网络原因,线路拥塞,建议用无线网卡开热点。 #### 同步异步对比 投屏助手1.0版本 ![同步](https://images.gitee.com/uploads/images/2021/0717/113024_137b901e_8230134.png "OF~{Z[$(~PUA{PTJ_MAYVQ8.png") ![异步](https://images.gitee.com/uploads/images/2021/0717/113043_bd2d4b83_8230134.png "(AUJT7TZZIA9OO[EWS@BILI.png") ############################################ 投屏助手1.1版本 ![高帧率](https://images.gitee.com/uploads/images/2021/0723/183928_04dcf880_8230134.png "45D1B7F8CC075C210CF08C98FEEC88F4.png") #### 问题发现 不同的esp32固件包,代码执行效率不一样,下面对比 vscode+platformio 上面安装的esp32 dev包,和arduino 老版本esp32 dev包 ![platformio](https://images.gitee.com/uploads/images/2021/0723/182843_38ce2e89_8230134.png "`BE8P[6DKL)9XP}J({Y{L13.png") ![arduino](https://images.gitee.com/uploads/images/2021/0723/182942_bf079584_8230134.png "MB5D](QWP$[KAD4_HE03V)3.png")