
手搓效率神器-基于ESP32+串口屏的中控台
简介
历时3个月,踩了各种坑(自己挖的),终于用 "国产EDA平台+国产串口屏+国产32芯片 " ,手搓出来一个工程师效率神器-中控台V0.9版.....还有很多需要改进的地方
简介:历时3个月,踩了各种坑(自己挖的),终于用 "国产EDA平台+国产串口屏+国产32芯片 " ,手搓出来一个工程师效率神器-中控台V0.9版.....还有很多需要改进的地方开源协议
:GPL 3.0
描述
视频链接:
串口屏和ESP32组成“桌面控制台”,竟然只要几十块_哔哩哔哩_bilibili
上位机软件代码(有不清楚的地方多多交流)
https://gitee.com/lsy330586/ESP32-python.git
单片机代码
https://gitee.com/lsy330586/esp32-serial_port_screen.git
项目简介




本项目基于 ESP32-S3 芯片和陶晶驰串口屏构建“中控台”;
选择这款芯片和串口屏的主要原因在于其硬件设计简单,能够缩短HIM和单片机程序的开发周期,从而让我们能更多地专注于上位机软件的开发。
值得一提的是,单片机和上位机程序开发的过程中,AI的辅助起来很大的作用;
电路部分 和串口屏并不复杂,有手就能做!!
项目功能
目前可以实现:
触摸屏按键:打开电脑软件、登录网站、快捷键(可定制)输入如键盘A-Z,组合键:“CTRL+C" "CTRL+V" "SHIFT+TAB".
应用场景:
定制化快捷键:《立创EDA快捷键》、《剪映快捷键》、《抖音直播伴侣》、《OBS》、《keil_5》等....
接下来我会陆续上传视频教程
未来可实现:
智能家具中控、语音输入ai转文字、万能遥控器功能....
实现原理:
数据流程图片1:
以按下”复制“键为例

协议:

python中的字典{}
键(Key):键值
值(Value):{“功能码”,“操作”,“数据总数n”,“参数1”,“参数2”,“参数3”}
1.值得一提的是,由按键触发(串口屏)发送的数据,
2.ESP32接收串口数据,再通过UDP转发到上位机
3.上位机接收数据;
3.要在上位机的"字典"中和下面的键值进行比较;
如果找到后,返回一个元组{“功能码”,“操作”,“数据总数n”,“参数1”,“参数2”,“参数3”}
以“复制” 为例,键值为**“OSHWHub-fuzhi”**返回{“keyboard”,“1”,“2”,“CTRL+C”,“ ”,“ ”}
-“功能码”: keyboard表示模拟键盘操作,还可以是url / openfile / pccontrl.....等可自定义;
**-“操作”:**数字"1" 表示按下,还可以定义长按、短按....
-“数据总数n”:"2" 是(不是参数的个数),因为按下两个键值CTRL和 ‘C’;
-“参数1”:两个键值
-“参数2”:省略
-“参数3”: 省略
项目参数
-
1.
主控芯片: 采用ESP32S3系列芯片,基于FreeRTOS操作系统,支持快速UDP开发。
-
2.
显示屏: 使用陶晶驰串口屏,并配备官方HMI软件,提供图形化界面以简化按键、滑块及文本框等功能的开发过程;波特率为115200;只需要写一点点非常简单的逻辑代码,很多功能都已经集成封装好了功能非常强大
-
3.
机械键盘: 集成特定机械按键,适合使用频次较高的操作如复制、粘贴、空格键...,提升操作效率。
-
4.
编码器: 采用EC11编码器,适用于调节连续变化的参数,例如音量、亮度、缩放。
原理解析(硬件说明)
本项目由以下部分组成,电源部分、主控开发板立创ESP32S3、按键电路包括蓝轴机械按键、EC11编码器、
陀螺仪、陶晶驰串口屏
最重要的就是ESP32开发板,和陶晶驰串口屏;
开发板提供wifi连接、控制、数据传输功能呢,可以将串口屏的数据经过处理后,通过TCPIP发送到电脑端;
陶晶驰串口可以快速搭建按键,通过串口烧录........
ESP32软件流程图:


python函数流程图:

硬件电路
示例图1--机械按键电路:
10K上拉电阻,将gpio的点位抬至3.3V,单片机通过GPIO下降沿中断检测按键是否按下;
我尝试从硬件端减少中断,gpio的输入引脚和gnd之间,加了个5PF的电容用于消抖,
其他的教程都给的是100nf(0.1u),但是我经过测试用5pf-10pf效果最好?可能机械按键就这样?没舍得买示波器,求指教....
效果,机械按键按下后会有40-50次抖动,加了电容后每次按下抖动只有5-10次,消抖效果明显,然后软件短暂延时50ms后可消除抖动
根据我的测试,电源对按键影响也挺大,同一个电脑不同USB口按键抖动效果不一样...

示例图2--EC11 旋转编码器电路:

根据官方给的参考进行的制作
示例图3--ESP32S3R8N8开发板电路
用的是立创官方推荐的开发板,由于这一版本采用跳线的方式连接,所以IO口的选择还是比较灵活的可随时修改

示例图4--电源电路
先用现成的电源,下个版本再自己搞,wifi芯片本身就比较耗电,串口屏上其实还有个单片机所以电源要稳定


示例图5--串口屏电路

串口屏官方给的原理图和电路,屏幕上继承了一款xxx单片机芯片
示例图5--外壳

上位机软件代码
https://gitee.com/lsy330586/ESP32-python.git
单片机代码
https://gitee.com/lsy330586/esp32-serial_port_screen.git
串口屏制作教程***

1**.创建协议**
2.拖入按键,按键编写一行代码
printh ......
2-2.配置wifi wificonfig带键盘
选择键盘A。。。。
2-3 放置电阻、电容页面制作,加上定时器退出
3.美化按键、背景;
排列
4.增加小功能
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论