|
|
HID 键鼠盒子就是一个指甲盖大小的 USB 设备,插上以后系统把它当成真正的键盘和鼠标,不需要装驱动。
这东西的价值在于它发出的就是标准 USB HID 报文——和你手敲键盘、手点鼠标在系统层面完全一样。这决定了它的适用边界:能用软件模拟的场景它未必更好用,但它能过的、软件过不去的那一类场景,它是唯一选择。
一、先搞清楚它凭什么免驱
USB 设备插上去要枚举,枚举时主机问"你是什么设备",设备回一个描述符。主控里烧的固件把这个描述符写死成 HID Keyboard / HID Mouse 组合设备,所以:
- 系统不需要装任何额外驱动,因为 HID 是操作系统内置支持的标准类别
- 手机、平板、笔记本、服务器一样认
- 从主控角度看,它就是一个"虚拟键盘",往 HID 报告描述符里写数据就是"按键"
所以"免驱"的准确含义是:操作系统本来就会驱动 HID,你只是伪装成了操作系统认识的设备,而不是盒子自己实现了什么魔法。
二、报文格式(关键,多数人卡在这里)
盒子之间指令格式不通用,这是最大的坑。市面上主流是两类:
第一类:串口/TCP 下发 ASCII 指令
- MOVE 100 200 300 300 ← 鼠标移动到绝对坐标(可带时长)
- LEFTDOWN ← 按下左键
- LEFTUP ← 抬起左键
- KEY 97 ← 键盘码 A
- TYPETEXT "hello" ← 输入字符串
复制代码
第二类:直接写 HID 报告描述符
- 00 01 00 00 00 00 00 00 00 00 ← 标准 boot keyboard 报告(8字节)
复制代码
鼠标报告是 4 字节:字节0 是按键位图,字节1~2 是 X/Y 位移(有符号)。
建议一律用 ASCII 指令那一类,可读、能打日志、调试时不用拿逻辑分析仪。写二进制 HID 报告的省不了多少事,但排错难度高一个数量级。
对比项 软件模拟点击 HID 盒子- ============ ===================== ====================
- 单次延迟 200ms 起(截图+识别) 15-40ms
- 是否被检测 特征明显,容易识别 系统层与真键鼠无差别
- 能否读回画面 能 不能
- 断网可用 取决于方案 可用
复制代码
三、实测延迟(这是最该自己测的指标)
商家标的"延迟 <10ms"基本指指令下发延迟,不是操作完成延迟。我自己测的方式:
- 手机端写一个能记录时间戳的接收程序
- 盒子发按键,主机发时间戳
- 手机端回时间戳,差值 = 端到端延迟
实测结果落在 15~40ms 区间,USB 2.0 端口 + 廉价主控的在高位,有线千兆环境的能压到 15ms 以内。注意这已经优于软件模拟——截图识别再点击的方案,光截图就 200ms 起步。HID 的价值就在这个量级差上。
要做的对比测试:同一个点击任务,HID 方案和截图方案各跑 1000 次,比对成功率和平均耗时。这个数据比任何参数表都有说服力。
四、什么场景该用 / 不该用
该用(软件方案过不去的):
- 目标 APP 有反自动化检测,模拟点击特征明显
- 部分定制系统/老设备没有无障碍服务或 ADB 被限制
- 需要设备表现为"纯物理外设",不暴露任何软件痕迹
- 一台主机带多台设备跑重复操作
不该用(杀鸡用牛刀):
- 单机单设备的简单任务,软件模拟成本低得多
- 需要读回页面内容——HID 只能"输入",看不见屏幕,这是它的固有短板
- 设备数量少且不常跑,几十块的方案更划算
HID 的根本限制:它是个哑巴。你能操作,但拿不到任何信息。所以真实项目里常见的是混合方案:HID 做输入,ADB 通道回读状态做校验,两者配合才能闭环。只用 HID 会变成盲操作。
五、选购看这五项
- 主控芯片:决定指令兼容性和稳定性。优先选指令资料公开、能自己刷固件的型号。资料不公开的型号,两年后固件挂了就没救。
- 通讯方式:纯串口最便宜(一个主机带多个盒子用串口最省事),带 WiFi/网口的适合跨机房部署。
- 固件开放性:能不能改固件、能不能自定义指令,直接决定这个工具能用多久。这是选型时权重最高的一项,优先级高于价格。
- 绝对定位支持:支持 `MOVE x y` 绝对坐标移动的才好用,只有相对位移的话,误差会累积,跑几千次之后完全跑偏。
- 多口并联的供电与散热:同时插 16 个盒子时 USB 供电是瓶颈,需要独立供电或带外置电源的 hub。
六、上手路径
- 接线 → 设备管理器确认新键盘出现 → 发最简单的 MOVE/LEFT 测试 →
- 验证坐标准确 → 再接真实业务 → 最后才考虑群控
复制代码
前两步很多人跳过,直接跑业务然后发现"点击位置总是偏 20 像素",排查半天才发现是设备分辨率没配。先花 10 分钟验证坐标准确性,比后面省几小时值。
最后说一句合规:HID 模拟的是物理键鼠,但模拟操作本身不改变平台规则。用在正当的自动化、测试、无障碍辅助场景没问题;用于批量薅平台羊毛、绕过风控,是另一回事,风险自己掂量。
相关阅读:AIWROK短信验证码万能调用端、找图方式快手发视频全流程,更多实测讨论欢迎逛安卓自动化脚本开发版块。 |
|