彩屏投屏助手 利用tcp协议 将电脑屏幕实时发送给esp32处理显示,理论10帧以上
新版投屏助手1.3(只能使用esp32—sever版arduino程序):路由器网络240x320分辨率可达10帧,已经测试。
建议用电脑给esp32开热点,传输速度会比连接路由器快(原因在问题发现版块)
B站:super大大怪i
创了一个交流群:519926351,群内有esp32离线安装包,库文件和引脚图,有问题可以讨论
彩屏投屏助手链接:
链接:https://pan.baidu.com/s/1N6OwRVh6Bafnsij4Yy-JKw 提取码:kxco
软件架构说明
上位机:采用Python编程,ui界面用的python自带的tkinter,图像处理采用opencv,数据传输基于tcp协议
下位机:采用arduino编程,显示库采用TFT_eSPI,jpg图片解码采用 Tjpg_Decoder,两个库需要自行安装
如果你是其他尺寸屏幕的话,可以修改TFT_eSPI 里的 User_Setup.h ,记得把spi速度改为80M(有的屏幕80M可能会白屏,适当调低),屏幕接线和TFT_espi配置教程->配置教程,
1.屏幕显示不全 在User_Setup.h文件中添加定义 #define CGRAM_OFFSET
,意思是 库将添加所需的偏移量。
2.颜色错误或显示不全->解决方案
彩屏投屏助手1.0-1.2版本
彩屏投屏助手1.3版本
彩屏投屏助手1.3版本,只适用于esp32-server-project-screen-TCP-DMA下位机程序 1.3版本只需要在程序中修改你的wifi信息,然后烧录程序,屏幕会显示IP和Port,打开彩屏投屏助手1.3,在菜单栏点击连接设置,修改为屏幕出现的IP 和 Port,点击开始投屏。
断开连接后,需要复位一下开发板,然后在点击开始投屏。
1.由于tcp高速传输数据耗费CPU资源较大,esp32发热严重,加上80Mspi,芯片几乎是全频工作,平均电流为0.21A。芯片过热,数据传输可能会中断。 2.若出现主机发送帧率较低情况,网络原因,线路拥塞,建议用无线网卡开热点。
投屏助手1.0版本
投屏助手1.1版本
投屏助手1.2版本
投屏助手1.3版本(240x320屏幕)
一、为什么esp32连接电脑热点的传输速度比路由器的高?
路由器作为中间层:二次转发数据有时延(主要原因),多设备连接,网络波动大,tcp经常丢包重传,传输耗时严重 电脑热点:连接设备单一,网络干扰小,传输稳定,延时小,直接和esp32组成回环网络,没有路由器等中间层转发数据,速度快
二、 点击开始投屏后,出现报错 Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试
原因上位机默认端口8080被占用
解决方法:win+R 输入cmd打开命令行依次输入:(或者在投屏助手设置中换一个端口)
netstat -ano|findstr 8080
tasklist |findstr pid号
taskkill /pid pid号 /F
三、 不同的esp32固件包,代码执行效率不一样,下面对比 vscode+platformio 上面安装的esp32 dev包,和arduino 老版本esp32 dev包
问题1:pgmspace.h:No such file or directory
解决办法1:
解决方法2:
软件帮助菜单里有更新详情
1.1:自定义截屏区域,极大提升截屏帧率
1.1.0:在1.1基础上增加端口选择设置,修复帧过大停止发送的问题。
1.2:增加端口选择设置,关闭tcp nagle算法,数据改为整包发送,socket非阻塞式收发数据
1.3:esp32作为服务端,Pc作为客户端,解决连接路由器,esp32传输速度慢,导致帧率低的情况
选择:下位机建议选择DMA版本,提升解码速度,上位机路由器网络建议使用1.3版本(需使用esp32-server版本下位机程序),电脑使用热点1.1.0版本自我感觉比较快,因电脑和网络环境不同,自行对比速度
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。