可通过电脑控制的 usb 键盘输入设备

88 天前
 aru
背景: 有很多服务器,使用统一的无盘启动,登录的用户名密码是一样的,需要给他们给他们其名字。平时的做法是接键盘鼠标显示器后登录执行下 hostname 命令。 但是由于机器太多,接键盘鼠标显示器特别耗费时间。

想法: 希望有一个键盘输入设备,自动输入用户名密码登录并执行 hostname 命令。实际上,除了主机名,其他的输入是完全一致的:
输入 root\n ,等 1 秒
输入 密码\n ,等 1 秒
输入 hostname 主机名\n ,等 1 秒
输入 exit\n

希望有一个模拟键盘的 HID 设备,一头接笔记本,另外一头服务器的 usb 口
在笔记本快速执行上面的输入操作(只需要改下主机名)

不知道那位大佬有看过类似的设备呢?
2069 次点击
所在节点    硬件
29 条回复
lxxiil
88 天前
dnf 同步器搬砖大佬就是用这个
aru
88 天前
@lxxiil
不大一样,因为每台机器的主机名都是不一样的
restkhz
88 天前
Badusb?
你可以淘宝上买一个人家用 Arduino 之类的做的。
笔记本的话可能硬件上需要支持 USB OTG 才行。
des
88 天前
PhaSelEza
88 天前
笔记本接“USB 转串口”,服务器接“串口转键盘”。

笔记本端再写个串口控制程序,基于 pyserial 的话 ChatGPT 就能写。
Hconk
88 天前
淘宝搜 usb 串口转键盘鼠标线,自己用 python 或者什么发串口命令就行了
churchmice
88 天前
你这是在干嘛
交互输入用 expect 脚本,了解一下,完全用不到 hack 键盘的程度
另外,你可以去看下这所谓的无盘启动是不是可以加 hook,直接启动的时候推送个脚本过来跑一跑,哪用得着那么麻烦
des
88 天前
@churchmice 没看完就开始了,你打算脚本跑在哪里
ETiV
88 天前
服务器,ansible 不行么…

badusb ,flipper zero 有这个功能
dhb233
88 天前
虽然是无盘,为啥不在启动的时候,根据 mac 地址或者其他的硬件序列号,自动设置主机名?所有服务器可以共享一个配置脚本
ouqihang
88 天前
esp32 带 HID 的型号。
churchmice
88 天前
@des #8 既然是无盘启动,你肯定是有个系统的,你直接在你这个系统里面做文章就好了
弄个 init.d 脚本或者啥的,根据 mac 地址判断下要设成什么样的 hostname ,有啥问题吗
wangjiyang
88 天前
正好需要一个这样的东西来唤醒家里的台式机,WOL 太不稳定了。
moefishtang
88 天前
KVM?
aru
88 天前
@dhb233
@churchmice
@ETiV
我在描述里面简化了,实际上我执行的命令是除了设定主机名外还额外建立一个 mac 主机名的映射放文件里。下次重启会自动根据 mac 来设定主机名。
用树莓派来做肯定是不行的,需要操作简单,设备也最好便宜操作方便。



@restkhz
@PhaSelEza
@Hconk

我研究下你们说的硬件和软件
wsly47
88 天前
1 块钱一片的 ch552 应该可以满足要求,带 USB 支持 Arduino 有键盘相关的 Demo ,开发板也是个位数包邮。

https://github.com/DeqingSun/ch55xduino/blob/ch55xduino/ch55xduino/ch55x/libraries/Generic_Examples/examples/05.USB/HidKeyboard/HidKeyboard.ino
Earthman
88 天前
总结一下需求:一个 USB Device 设备,应该有 2 个 USB 口,一个插服务器做 HID 设备,一个插笔记本,接口未知,hid 或者串口都可以吧。插笔记本这端接受上位机命令转发到服务器那边。
这东西应该没有现成的,涉及到 USB ,有一定开发难度。LZ 还是折腾 linux 系统做个映射程序做首次启动自行比较容易。
aru
88 天前
@Earthman
显然我创建一个 mac 和主机名字的映射表文件
paopjian
88 天前
LTT 做个一个黑客设备的介绍,你搜搜 usbrubberducky
Earthman
88 天前
对这个感兴趣,思考一下,后来找到了现成的芯片 CH9329 ,可以通过串口接受命令然后发出去 HID 键盘包,这个应该满足你的需求了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1067623

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX