做了个自动键盘,帮服务器自己按 F1

2026-07-29

前阵子公司一台远程服务器断电重启,结果卡在 BIOS 自检画面上——屏幕显示一行字:

Press F1 to continue, DEL to enter setup

问题来了:服务器在机房,人在办公室。为了按一个 F1 专门跑一趟机房?太折腾了。

更烦的是,这种问题不是一次两次。断电恢复、BIOS 配置变更、硬件变动……只要有台机器卡在 F1 提示,就得有人跑过去按一下。

所以我就想:能不能做个东西,插在 USB 口上,上电后自动帮我把 F1 按了?

想法很简单

做一个 USB 小设备,插上后等几秒钟(让 BIOS 自检先跑完),然后自动模拟键盘按一下 F1,之后就休眠不再操作。相当于一个「一键 F1」机器人。

工业上其实有类似的产品叫 IPMI 或远程管理卡,但那些东西少则几百多则上千,而且不是每台主板都支持。我这方案成本不到 10 块钱,插上就用,不需要装任何软件。

实现方案

用了 CH552G 这颗芯片——它是个增强型 8051 单片机,最大的优势是内置了 USB 控制器,可以直接模拟成 USB 键盘,不需要额外芯片,几毛钱一颗。

核心逻辑非常简单:

整个固件用 C 语言写,用 SDCC 编译器编译,烧录到芯片里就行了。

板子上带一个 LED 指示灯:快闪代表正在 USB 枚举,慢闪代表倒计时中,常亮则代表 F1 已发送完毕,可以拔掉了。

用在哪

开源了

既然不少人都有这个需求,我把固件和硬件方案全部开源了:

🔗 github.com/wtniao/AutoKeyboard

代码仓库里有完整的固件源码、编译脚本和烧录说明。硬件只需要一个 CH552G 最小系统板(USB 直插那种,几块钱包邮),加上 SDCC 编译器和烧录工具就能搞定。

做个对比

市面上解决这个问题的方案:

当然它不是万能的——只解决按 F1 这一个动作。但很多时候,就差这一下。

花式玩法:智能插座 + 远程开机

很多电脑主板其实支持一个功能:断电后自动开机(BIOS 里找 Power Management → Restore on AC Power Loss,设成 Power On)。意思是只要一通电,电脑自己就开起来了。

这样一来,如果把主机插在一个智能插座(比如米家智能插座)上,再配一个 AutoKeyboard 插在 USB 口——你就可以在手机上远程开机了:

整套成本:智能插座三四十块 + 开发板几块钱 = 不到 50 元。相比 IPMI 动辄几百上千,而且不需要主板支持远程管理,任何台式机都能用。

还能怎么玩:物理按键精灵

其实这个项目的本质就是「上电后自动按某个键」。稍微改改代码,它还能做很多事情:

芯片本身就几毛钱一颗,很适合批量部署在需要自动化按键操作的场景里。

如果你也被这种问题困扰过,不妨试试看。自己动手焊一个,或者直接买个现成的开发板烧录一下,都很方便。

🔔 关注 wow哇呜怪

更多科学小实验和深度教程,欢迎来岛上找我