找回密码
 立即注册

微信扫码登录

搜索
查看: 615|回复: 12

[硬件DIY] 无聊瞎折腾,我用蓝牙PAD数字键盘+ESP32S3开发模块做了一个智能家电控制器

[复制链接]

1

主题

9

回帖

112

积分

注册会员

积分
112
金钱
102
HASS币
0
发表于 2026-9-28 08:56:08 | 显示全部楼层 |阅读模式
本帖最后由 0010122149 于 2026-9-28 08:56 编辑


微信图片_20260927145722_155_2.jpg

事情的起因是家里书房的智能设备比较多
除了主灯、屏幕挂灯、氛围灯带,还有音响、风扇、窗帘以及电脑联动相关的场景自动化。

此前控制这些设备一直比较别扭:
手机/平板 App:每次都要解锁、找界面,不够直接;
语音控制:夜间工作或者戴着耳机时不方便,设备太多也可能会说不清楚;
智能开关:大多只能上墙,放在桌面上突兀难看;小部分相对小巧的机械手感也普遍一般,键位定义死板,还经常操作延迟、漏报
微信图片_20260927092345_130_2.jpg

我理想中的桌面控制器,最好能随手放在桌角,按键足够多,触发干脆,且不需要依赖电脑开机运行后台脚本。
关键做工、手感这些能相对靠谱点,不要弄个半成品的样子,放在桌上影响心情

一直希望有个类似PAD数字键盘之类的设备做控制器
但是市面上没找到能直接接入智能系统的键盘,最相似的只有第三方DIY的控制器
是用墙壁多控智能开关的核心改的,能提供8个按键,功能勉强凑合,但是做工烂,外形也不好看
买个回来试了一下就没啥兴趣了。。这事也就暂时搁置了。
无标题.png

碰巧最近在用ESP32-S3开发板折腾风扇控制器,有天晚上随便一想,这玩意有无线有蓝牙
在Home Assistant里也有完整的ESP Home和MQTT支持,
用它做一个独立的硬件网关,把蓝牙键盘的按键信号直接桥接到 Home Assistant不就成了一个开关控制器了么?
借助Node-RED就可以控制家电设备了啊!

有了想法就有了动力,折腾呗,开干!
先查了点资料,ESP32S3确实支持作为蓝牙接收器连接蓝牙键盘
但是只支持低功耗蓝牙(Bluetooth Low Energy/BLE),所以只支持蓝牙5.0以上的蓝牙键盘
而且这玩意蓝牙和2.4G无线是共用同一根物理天线和同一个射频(RF)前端,信号方面可能会有一定的影响
不过通过时分切片交替工作理论上也能运行起来

前期论证阶段:
蓝牙5.0的PAD键盘我手头有个八位堂的,ESP32S3模组我还剩个微雪的ESP32-S3-GEEK,正好够用了
简单写了段代码测试下我的想法
微信图片_20260926173154_76_2.jpg

蓝牙键盘可以正常连接ESP32S3,按键后可以抓出信号编码
微信图片_20260926173143_72_2.jpg

WIFI连接也凑合能用
微信图片_20260926173122_67_2.jpg

到此为止,蓝牙键盘-网络系统的桥梁基本算是打通了,这事看起来有戏了!

代码开发阶段:
接下来就是一同操作猛如虎的折腾了,路是通了,但是坑也不少
蓝牙设备兼容问题
断线重连问题
信号干扰问题
与智能家电设备的控制信号传递问题
........
........
........

好在ESP32的开发资料足够多,加上AI的辅助
磕磕碰碰的折腾了一周左右,写了将近4000行代码,基本功能和适配终于搞定了
微信图片_20260926173219_97_2.jpg

这套系统相比成品控制开关最大的好处就是控制相应快,准确率高
我使用到现在,除了程序BUG和设备掉线,没用遇到一次按键触发后设备不响应的情况
而且我在NODE-RED又使用了反向 MQTT 回执通信,配合网关上的屏幕,可以实施反馈设备执行状态,确认感更强
3131.png

最终定稿的大致的控制逻辑如下图
1.png

这玩意按键数量多,控制架构容易搞乱
为了后续配置方便,我在NODE-RED里做了一个按键编码和键位的对应转换表
然后按模块化架构设计了个控制流程,后续优化调整控制逻辑对应每个按键单独编辑就行了

555.png

按键操作方面,在NODE-RED里通过间隔时间判断,可以实现一键单击、双击不同的控制触发条件
不过因为键盘本身编码输出的限制,没法实现长按操作判断
但是对于这么多键位的键盘,“一键两用”提供的控制触发数量已经相当可观了
21313.png

为了让这套设备用起来不像个半成品,也为了可调整的空间更多,维护起来更方便
我又花了三天时间做了个B/S的控制维护页面,同时把Home Assistant里面的控制项也一并优化了
现在软件层面看起来像那么回事了
45.png

外设折腾阶段:
难啃的代码开发搞定了,也就到了相对轻松也是我最擅长的外设折腾了

先是ESP32S3设备的选型,开发用的微雪ESP32-S3-GEEK,功能和性能足够
U盘外形和自带屏幕的设计也非常符合我的需求
但是屏幕分辨率相对低一些,白色的外壳质感一般,所以我是希望能换个档次更高些的

然后我就把市面上能买到的,看上去外形顺眼的ESP32开发模组基本都买了个遍
微信图片_20260927102059_132_2.jpg

论颜值,ESP-Mosaico最好
但是这货用的是ESPRESSIF最新的ESP32S31芯片,性能用来干我这点需求,真的就是杀鸡用牛刀了
而且ESP32S31太新了,用的人不多,有几个适配问题暂时还没很好的解决办法
微信图片_20260927143103_154_2.jpg

另外两个黑色屏幕的是微雪的OLED开发模组,显示效果比ESP32-S3-GEEK的LED强,我一度准备用他们做正式版本用了
微信图片_20260927102736_134_2.jpg

但是这两玩意都有个致命问题,无线和蓝牙信号都很差,尤其蓝牙,必须要键盘贴在脸上才能维持在70以下,可能是OLED背后基板贴了层金属吧
还有就是这两个都是半开放设计,后背芯片是敞开的,长期使用,稳定性也有疑虑
微信图片_20260927102621_133_2.jpg

至于那两个没有屏幕的M5STACK的ESP32S3模组,功能和ESP32-S3-GEEK差不多,但是没屏幕就是最大的问题,放桌上不好看啊!
最终全给我改成UPS监控器,塞机柜里去了

所以对于网关设备的选择,就和爱情一样,兜兜转转一大圈,最后发现还是第一个最好!!
ESP32-S3-GEEK继续用吧
微信图片_20260927103420_136_2.jpg

微信图片_20260927103421_137_2.jpg

微信图片_20260927103311_135_2.jpg

同样为了让这套设备用起来不像个半成品,充分发挥屏幕的价值
我又花了1天时间,简单的给各种使用场景设计了简单的UI
DSC03599.jpg

键盘的选择就顺利多了,折腾外设,这事我在行!!
之前那个八位堂的,功能跑通了就退休吧,整体还是差了点
而且这键盘设计的挺奇葩,按一次按键会直接发3次编码,直接把我的双击功能干废了。。。。。。。

我的想法是要有质感,做工要好,手感也要好,同时除了做智能家居控制器之外还能临时当电脑小键盘用
所以蓝牙BLE+三模设计、机械可换轴、CNC铝坨坨就成了必选项
综合看了一圈,最终选定了LUMINKEY的NOVA KINE,价格有点贵,但还能接受,折腾么,不贵点折腾起来没动力
微信图片_20260927104302_138_2.jpg

这键盘蓝牙芯片的工作逻辑和之前的差异有点大
尤其是侧面的三个附加按键和滚轮,一开始无法使用,一触发整个系统就死机了,我又不忍心废弃这几个按键
适配折腾了我2天多,好在结局完美,不但保住附加键的全部功能,那个滚轮还给我弄成了音箱音量控制
最后优化代码,甚至搞定了休眠后首次按键不吞键,直接触发控制设备
结局非常完美
微信图片_20260926173221_98_2.jpg

微信图片_20260926173222_99_2.jpg

键盘的轴体我全换成Cherry的猎鹰轴,我很喜欢这个轴体
手感有轻微的段落感,又不像青轴那么突兀
配色配色比茶轴好看
微信图片_20260926173240_114_2.jpg

NOVA KINE支持键盘配列调整,厂家附送了调整套件,有多种配列可以选择
3.png

一开始我是打算调整成全部1U的,不过仔细分配了下按键,标准配列的按键数量现阶段已经足够我使用了
4.png
同时考虑到我还想作为普通数字小键盘应急时使用,我还是使用标准的PAD数字键盘配列
微信图片_20260926173239_113_2.jpg

这键盘是蓝牙多模的
蓝牙1设置为智能家电控制,和网关配对;蓝牙2设为电脑小键盘,和电脑的蓝牙适配器配对,这功能就完美实现了


键帽选择方面我的想法就多了!
我折腾这套系统最核心的需求就是要好看!
我个人很喜欢无铭成品的金属键帽,正好我也有一套他家出品的金属数字键帽收藏
所以一开始打算走个性键帽的“毒物”路线
微信图片_20260927110948_141_2.jpg

微信图片_20260927110950_142_2.jpg

不过装上之后,实际感觉一般般
这套键帽并不是给PAD数字键盘设计的,装上后符号全是错的,生搬硬套的感觉强烈
而且键帽数量有限,搭配别的键帽,太不协调了,“村味”十足
微信图片_20260926173233_108_2.jpg
虽然我也可以找人定制别的键帽,但是成本太高了,整套系统预算奔着4位数跑了
数字按键也没法和需要控制的家电设备在视觉上产生关联,还是要靠记忆才行,得不偿失
最后总结就是这套方案失败!不伦不类的,“毒”错方向了!

郁闷了几天仔细想想,蓝牙网关大爷我都自己手搓成了,还能给几个键帽拦住?
继续手搓呗!!!!!!
然后就是没事刷淘宝,先是想全套键帽自己设计找人定制,但是看了一圈品质都一般
不过倒是发现个以前一直忽视的东西-“盖帽”,就是有个透明塑料盖的键帽,可以打印小纸片放里面
工控设备和配电操作台上经常用这玩意,以前倒是没想到给家里键盘用
我选择除了键帽正上方透明之外,侧面也有一面是透明的
正好正面放需要控制家电设备的图标,侧面放PAD小键盘字符图标
买了几个回来看了下,做工很工整,没有毛刺变形什么的,手感也不错
微信图片_20260927114552_143_2.jpg

一开始我对我家里的打印机没啥信心,感觉打印小尺寸图案可能精度不足,
所以配套的图案纸片我本打算自己设计好找人打印,但是实际测试了一下,效果出乎意料
微信图片_20260927114937_145_2.jpg

装上键帽的整体效果我很满意,不用找人打印,可以全部自己手搓了
微信图片_20260926173245_118_2.jpg

接下来设计图标、统一风格,排版,最终设计效果
34.png

一张A4相纸就可以打印6套,真是节约!!!
424242.png

最终键盘效果

正面是智能家电对应的卡通图标,侧面是PAD数字键盘的字符和符号

整体显示直观,简单明了

DSC03560.jpg

DSC03562.jpg

DSC03563.jpg

DSC03564.jpg

DSC03565.jpg

DSC03559.jpg

DSC03556.jpg

DSC03557.jpg

DSC03572.jpg

DSC03571.jpg

DSC03569.jpg

DSC03570.jpg


反正我个人目前很满意,等以后看还有什么好的优化方案在我脑子里蹦出来吧!

至此为止,这套设备基本折腾完毕了

最后总结:

折腾了将近一个月,从最开始测试代码到最后把固件、UI、外设和键帽全部落地
目前这套设备在书房高频使用下来的体验非常让人省心

解决了市面上86开关按键少、上桌突兀的问题
本地直连带来的毫秒级响应、屏幕的实时动作回显,再配合机械轴干脆的手感和双视角的图符盖帽,日常操作几乎零学习成本。

虽然为了手感和质感在铝坨坨套件上投入了些预算,开发过程中也踩了不少天线共存、休眠防吞键和驱动死机上的冷门坑
但能完全按照自己的实际痛点亲手做出一套既好看、好用又稳定的桌面控制中枢

看着桌角这把严丝合缝的小键盘,这种把想法彻底变成趁手实物的过程,本身就是折腾硬件最大的乐趣所在了。


DSC03547.jpg

DSC03604.jpg

DSC03607.jpg



评分

参与人数 2金钱 +28 收起 理由
威风八面小怪兽 + 8 这是真大佬!!!!
lambilly + 20 高手,这是高手!

查看全部评分

回复

使用道具 举报

22

主题

378

回帖

2789

积分

金牌会员

积分
2789
金钱
2389
HASS币
0
发表于 2026-9-28 09:42:14 | 显示全部楼层
牛得很啊
回复

使用道具 举报

23

主题

561

回帖

4906

积分

论坛UI达人

积分
4906
金钱
4312
HASS币
60
发表于 2026-9-28 10:01:26 | 显示全部楼层
桌面屏幕是多少寸的,怎么这么大
回复

使用道具 举报

0

主题

40

回帖

1128

积分

金牌会员

积分
1128
金钱
1088
HASS币
0
发表于 2026-9-28 10:33:11 | 显示全部楼层
Untitled.jpg 挺想把它搞好 整不下去了


回复

使用道具 举报

0

主题

117

回帖

528

积分

高级会员

积分
528
金钱
411
HASS币
0
发表于 2026-9-28 11:05:39 | 显示全部楼层
厉害厉害
回复

使用道具 举报

82

主题

431

回帖

4978

积分

元老级技术达人

积分
4978
金钱
4425
HASS币
230
发表于 2026-9-28 12:57:59 | 显示全部楼层
我没理解错的话,就是用按键控制HA实体吧,要我做的话,直接就esphome+触屏+lvgl了
全网同名,只发干货
回复

使用道具 举报

70

主题

1841

回帖

2万

积分

元老级技术达人

积分
22118
金钱
20197
HASS币
80
发表于 2026-9-28 13:19:06 | 显示全部楼层
土豪啊!台面上全是高端装备........!!!
回复

使用道具 举报

0

主题

59

回帖

683

积分

高级会员

积分
683
金钱
624
HASS币
0
发表于 2026-9-28 14:43:48 | 显示全部楼层
太漂亮了,楼主是个追求完美的人
回复

使用道具 举报

1

主题

9

回帖

112

积分

注册会员

积分
112
金钱
102
HASS币
0
 楼主| 发表于 2026-9-28 16:49:23 | 显示全部楼层
gasment 发表于 2026-9-28 12:57
我没理解错的话,就是用按键控制HA实体吧,要我做的话,直接就esphome+触屏+lvgl了 ...

最初方案就是用M5STACK的TAB5做的触屏控制台

最终个人不满意,没手感、没质感、更没敲键盘时候的确认感
回复

使用道具 举报

1

主题

9

回帖

112

积分

注册会员

积分
112
金钱
102
HASS币
0
 楼主| 发表于 2026-9-28 16:50:28 | 显示全部楼层
hhh. 发表于 2026-9-28 10:01
桌面屏幕是多少寸的,怎么这么大

你说哪块?我桌上屏幕有点多。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )|网站地图

GMT+8, 2026-10-6 12:03 , Processed in 0.017858 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表