跳到主要内容

OTG HID教程

支持固件

  • 目前支持ESP32S3,ESP32S2 MINI的两款开发板
  • 可以OTG转接口直接链接(这样没办法充电),也可以使用三合一(带充电、网线、OTG口)转接口链接
  • 开发板和转接头,拼多多 1688自己采购,转接头建议买三合一

下载固件

  • 请到网盘iOS资源文件夹-脱机版本-OTG-HID固件文件下载对应开发板的固件
  • 注意:固件里面有相对坐标绝对坐标两种固件
  • 相对鼠标兼容性强,但是需要自己计算补偿率,如果出现误差需要调用归零函数处理
  • 绝对鼠标在iOS17+系统上兼容良好,无需计算补偿率点击更精准

刷入固件

  • 刷入固件和安卓是一样,这里不再重复,参考安卓蓝牙刷入固件
  • 刷入的时选择iOS 脱机版本的OTG固件,不要选择错了
  • ESP32S2 刷入固件,需要按一下“按住 BOOT -> 点按 RST”动作
  • ESP32S3刷好了链接手机,需要插入USB-OTG口,不要插入COM口

链接手机

  • 这里演示的是三合一的转接头
  • 链接示意图:(可以不插网线)
  • 链接后,进入手机设置,可以看到以太网选项,以太网有EasyClick NCM + HID Input选项
  • 点击EasyClick NCM + HID Input选项,可以看到分配的IP地址等信息,如果没有分配建议重启开发板,按下RST键
  • 如果插上了网线,可以看到有线网络信息
  • 以上信息完整,代表OTG识别链接成功

测试功能

  • OTG连接好了,APP设置-OTG HID设置选项,可以按下测试HOME按钮,看看是否返回桌面,返回就代表成功
  • 也可以通过代码脚本的方式尝试

坐标校准

  • EC 6.6.0+ 新增了坐标校准功能,在app设置-OTG HID设置选项-坐标校准按钮
  • OTG选项都配置好,并且可以测试通过,然后点击坐标校准,会半透明的界面提示,点击开始校准按钮,鼠标开始移动自动校准比率
  • 完成后点击关闭按钮关闭校准页面
  • 校准后会自动存储,在使用脚本中不需要使用otgEvent.setScale函数进行处理
  • 如果iOS17+建议使用绝对坐标系,不需要校准坐标系,直接使用即可

快捷键

  • 为了提高效率,通常需要使用快捷键,完成需要的动作,例如调用快捷指令等动作
  • 所以在app设置中APP设置-OTG HID设置选项-快捷键绑定功能中绑定一下即可

键盘快捷键绑定

  • 先打开手机设置-辅助功能-键盘-全键盘控制-命令选项,点击某个命令,会出现弹窗,要求输入键盘快捷键
  • 双击HOME(没有HOME从底部往上滑切换任务),切换到app设置-OTG HID设置选项-快捷键绑定界面,选择绑定类型为键盘快捷键,组合键和按键字符自己填写即可,然后点击发送
  • 这个时候会提示一下对话框,然后双击home切换到刚才的手机设置-辅助功能-键盘-全键盘控制-命令界面
  • 等待10秒后,会自动发送按键,命令界面快捷键就会改变,点击完成即可
  • 再次返回app的快捷键绑定页面,可以看到成功提示,如果失败了,可以继续重试,其他快捷键绑定也是类似

鼠标按键绑定

  • 先打开手机设置-辅助功能-触控-辅助触控-设备-进入已连接设备-EasyClick NCM + HID Input选项界面,点击某个自定义更多按钮,会出现弹窗,要求按下鼠标键
  • 双击HOME(没有HOME从底部往上滑切换任务),切换到app设置-OTG HID设置选项-快捷键绑定界面,选择绑定类型为鼠标按键,再选择鼠标按键值,一般建议从按钮4开始,防止冲突
  • 点击发送,再次切换到手机设置-辅助功能-触控-辅助触控-设备-进入已连接设备,等待发送按键完成,进入自定义命令界面选择一个需要的即可

常见问题

手机需要开启哪些选项

  • 设置 -> 辅助功能 -> 触控 -> 辅助触控,打开辅助触控开关
  • 设置 -> 辅助功能 -> 触控 -> 辅助触控,找到 “跟踪灵敏度”:将其拉到最左侧(龟速)
  • 设置 -> 辅助功能 -> 触控 -> 辅助触控 ,打开执行触控手势,打开显示屏幕键盘,如果想要点击有声音,就打开点按声音选项
  • 设置 -> 辅助功能 -> 触控 -> 辅助触控-鼠标键,初始化延迟和最大速度拉倒最左侧,可以开启鼠标键、Option键切换、使用主键盘
  • 通用-触控板与鼠标-跟踪加速度,拉到最左侧
  • 设置-辅助功能-键盘与键入,打开全键盘控制
  • 设置-辅助功能-键盘与键入,进入命令选项,可以自定义键盘的快捷键,以及快捷指令的快捷键

鼠标漂移或者不准确

  • 手机的选项没有打开,参考[手机需要开启哪些选项]
  • 没有校准坐标,使用otgEvent.resetZero恢复到0,0坐标
  • 没有设置鼠标的缩放比或者设置不对,函数是bleEvent.getIPhoneScale,如果没有你的手机型号,需要抓图后自己使用某个固定坐标点使用移动坐标函数测试缩放比例
  • 没有设置屏幕的高度宽度,尤其是横竖屏切换的时候,没有设置对应的尺寸导致偏移

如何配合脚本使用

  • 在idea图色面板中,使用 无自动化抓图 按钮截图,测试的时候 也使用 实时测试(无自动化) 按钮
  • 脚本使用的时候就用 activeSelf.screenshot(过风控),或者 APP设置-快捷指令截图
  • 也可以使用APP设置-系统录屏设置
  • 除了节点功能不能使用,OCR、YOLO、图色、模版匹配 等都可以正常使用的

绝对坐标

  • 起始坐标不对,一般起始坐标都是0,0,如果不对就重启手机即可
  • 设置scale全部为1

快捷指令截图

  • 快捷指令截图是配合通过绑定快捷指令的快捷,然后截图后发送到脚本
  • 进入App设置-快捷指令截图选项,默认端口为7760,启动服务,也可通过代码启动服务
  • 在手机的快捷指令app新建一个快捷指令,内容如下
  • 先截屏,然后发送到 http://127.0.0.1:7760/img 这个地址
    • 方法选择 POST, 请求体选择 文件,文件选择 截屏,
      • 如果选择不到截屏,点击选择变量,选择魔法变量,选择截屏即可
  • 完成后点击一下,下方的 三角号,执行一次,如果有弹窗授权之类的,都同意即可
  • 执行成功结果如下图

系统录屏截图

  • 系统录屏截图是需要开启录屏功能才行,而且录屏开启会有授权提示,需要人工点击或者使用鼠标盲点才行
  • 进入App设置-系统录屏设置,可以配置截图帧率和图片质量,一般默认就行
  • 启动服务,然后点击启动录屏
  • 录屏提示,点击开始直播按钮,会提示三秒后开始
  • 成功后,顶部会有红色横条,新版本iOS可以是一个红色的点
  • 完成后,可以用脚本的录屏函数获取图像
  • IDEA开发工具中,无自动化抓图,先点抓图设置按钮,设置为**录屏模式(手机录屏)**才能正常使用