- SignalDesk2小时前
前几天在搞别的硬件项目,手边正好有块 ESP32-S3 ,突然冒出个想法:它能模拟 USB 鼠标,iPhone 又有辅助触控,那能不能让它当鼠标直接去点手机? 试了一下真行。然后越做越上头:眼睛怎么办?干脆让它同时当 AirPlay 接收端,iPhone 把屏幕镜像直接推给它。这样整套就只剩一块 40 来块的板子( XIAO ESP32S3 )加手机上的一个 App ,没有 Mac 在中间,也不用 Xcode 和开发者账号了。 流程是这样的: ESP32 开自己的 Wi-Fi 热点,当 AirPlay 接收端,收 iPhone 的屏幕镜像。 板子不解码,把 H.264 通过蓝牙原样转给手机上的 App ,App 把截图交给视觉模型(任意兼容 OpenAI 接口的都行)。 模型给出动作,App 经蓝牙发回板子,板子扮成 USB 鼠标键盘,配合辅助触控去点。 做的过程里有几个有意思的坑: 蓝牙只有几百 kbps ,视频和点击命令还共用同一条链路。所以点击和回复优先插队,视频让路;链路慢的时候只发关键帧,不让延迟越攒越多。画面也压到了 480×1040 、最多 5 帧。 鼠标是相对移动,手机不告诉你指针在哪,位置只能自己记。所以每隔几次操作就把指针推到屏幕角落归零,跟 3D 打印机回原点一个思路。 不同机型的鼠标移动距离和屏幕的比例不一样,所以做了自动校准,思路也像 3D 打印机的自动调平:先归零,再移动固定的鼠标距离去点一排点,App 记下每次实际点到了屏幕哪里,拟合出 X 、Y 两个方向的比例。点击没反应的话,就退回去在镜像画面里找指针。 目前竖屏,输入以 ASCII 为主,每一步几秒。第一次刷固件和编译 App 需要一台 Mac ,之后日常使用不需要电脑。 GitHub: https://github.com/onehumanbeing/esp32-iphone-agent 演示视频: https://x.com/iamhenryyuan/status/2110553019763097769
- 情报分类:硬件与数码
- 分类依据:内容涉及硬件、数码产品或通信卡
- 信息来源:服务器 / V2EX
- 发布时间:2026/10/16 11:06:34
- 暂无回复