같은 아이폰의 앱이 AI에 화면 판단을 맡기고, ESP32-S3 보드가 USB로 탭·스와이프를 보내는 자동화 도구
중간맛 분석
목표 → 화면 → 입력 → 다시 확인
ESP32 iPhone Agent는 아이폰 화면을 이미지로 읽는 모델에 다음 동작을 묻고, 실제 기기에 탭·스와이프를 보내는 자동화 프로젝트입니다. 최신 main에서는 에이전트가 같은 아이폰의 앱에서 실행돼요.
화면과 명령은 다음 길을 지납니다.
- 아이폰이 보드의 Wi-Fi 핫스폿에 연결하고 AirPlay로 화면을 보냅니다.
- 보드가 영상을 Bluetooth LE로 같은 아이폰 앱에 전달합니다.
- 앱이 영상을 이미지로 풀고, 셀룰러로 모델 에 보내 다음 동작을 받습니다.
- 앱의 BLE 명령을 보드가 USB 마우스·키보드 입력으로 바꿔 아이폰을 조작합니다.
- 바뀐 화면을 다시 읽으며 동작을 이어가고, 실행 기록을 아이폰에 남깁니다.
보드가 AI 모델을 실행하는 것은 아닙니다. 앱이 선택한 클라우드 또는 자체 서버의 모델 를 호출해요.
처음 준비할 때와 실행할 때
- 최초 설치: 맥·Xcode로 앱을 빌드하고 ESP32-S3 펌웨어를 올립니다. 무료 Apple ID는 7일마다 재서명해야 해요. 핫스폿 원터치 연결에 필요한 유료 기능이 없으면 수동으로 연결합니다.
- 사용할 기기: iOS 18 이상 아이폰과 네이티브 USB·PSRAM을 갖춘 ESP32-S3가 필요해요. 공식 시험 보드는 8MB PSRAM의 기본형 XIAO ESP32S3입니다. Lightning 아이폰은 카메라 어댑터가 필요합니다.
- 실행 중 연결: Wi-Fi는 인터넷 없는 보드 핫스폿에 쓰므로, 셀룰러로 접근 가능한 모델 가 필요합니다. 별도 제어용 컴퓨터는 켜둘 필요가 없어요.
- 아이폰 설정: 보드 페어링, 핫스폿과 화면 미러링, AssistiveTouch, 포인터 보정을 진행합니다.
맡기기 전에 볼 것
가로 화면과 비ASCII 문자 입력은 미지원이므로 한글·일본어 입력을 맡길 수 없습니다. 잠기면 미러링이 멈추고, Apple Pay나 일부 DRM 화면은 보이지 않을 수 있어요. 화면 이미지는 선택한 모델 로 전달되므로 데이터 처리 조건과 사용 비용을 확인하세요.
앱의 완료 표시나 화면 변화만으로 목표 달성이 증명되지는 않습니다. 알람이라면 시간·요일·저장 상태를 직접 확인하고, 필요하면 Dynamic Island나 앱에서 실행을 멈춥니다.
이전 버전과는 달라요
Mac/Linux의 UxPlay·Python 서버를 쓰던 방식은 v0.1.0/legacy로 남아 있습니다. 최신 구조의 필수 준비물에 기존 Python 서버를 섞지 마세요. 의 알람 사진도 v0.1.0 자료라고 표시돼 있습니다.
2026-10-15, main e035e424f492의 Unreleased 기준. 실제 기기 연결·모델 실행·성공률 측정은 하지 않았습니다.
이런 레포예요
이럴 때 쓰면 좋아요
- 알람처럼 결과를 직접 확인할 수 있는 작은 아이폰 작업 시험
- 같은 아이폰 앱과 보드로 화면 판단·실제 입력을 연결하는 구조 학습
- 실행 기록을 재생하며 AI가 선택한 탭과 스와이프 살펴보기
핵심 기능
대안 대비 차별점
보드가 AirPlay 화면을 받아 BLE로 같은 아이폰 앱에 되돌리고, 앱의 명령을 USB 입력으로 바꿉니다. 최초 Mac·Xcode 설치는 필요하지만 실행 중 제어용 컴퓨터는 필요 없는 구조입니다.
먹어본 사람들
실제로 차려 먹어본 손님들의 흔적이에요 — 한마디와 완주 인증 모두 검수 후 공개돼요.
이 레포, 해먹는 법
처음 오셨어요? 어렵지 않아요 — 위에서 아래로 따라 하면 내 컴퓨터에 이 레포를 차려서 바로 맛볼 수 있어요.
준비물
- 최초 앱 빌드와 보드 설치용 Mac·Xcode 및 Apple ID
- iOS 18 이상 아이폰과 셀룰러 데이터
- 네이티브 USB·PSRAM 지원 ESP32-S3 보드와 아이폰 USB 연결
- 셀룰러에서 접근 가능한 이미지 입력 지원 모델 API
- Bluetooth 페어링·보드 핫스폿·화면 미러링·AssistiveTouch·포인터 보정
바로 시작하기
현재 main e035e424f492의 공식 README를 요약한 준비 순서입니다. 깃밥이 실제 설치해 검증한 결과는 아닙니다.
- 장비 확인: Mac·Xcode, iOS 18 이상 아이폰과 셀룰러 데이터, 네이티브 USB·PSRAM 지원 ESP32-S3, 이미지 입력을 받는 모델 API를 준비합니다. Lightning은 카메라 어댑터가 필요합니다.
- 보드 설치: arduino-cli, ESP32 core 3.3.x, NimBLE-Arduino 2.5.x를 준비합니다. 공식 예시는
arduino-cli lib install "NimBLE-Arduino@2.5.1"후hardware/flash.sh를 실행합니다. BLE 버퍼 설정이 필요하므로 임의의 빌드 경로 대신 공식 스크립트를 사용합니다. - 앱 빌드:
ios/Config/Local.xcconfig.example을ios/Config/Local.xcconfig로 복사하고DEVELOPMENT_TEAM,IA_BUNDLE_ID를 설정합니다.ios/IPhoneAgent.xcodeproj를 Xcode에서 열어 IPhoneAgent 스킴을 아이폰에 실행합니다. 무료 Apple ID는 7일마다 재서명합니다. - 보드와 화면 연결: 아이폰에 보드를 연결하고 ESP32 Agent 앱에서 Bluetooth 페어링을 합니다. 보드 Wi-Fi에 연결한 뒤 화면 미러링에서 ESP32 Agent를 선택합니다. 핫스폿 자동 연결 기능이 없으면 앱에 표시된 비밀번호로 수동 연결합니다.
- 포인터와 모델: AssistiveTouch를 켜고 앱의 보정을 확인합니다. 모델 엔드포인트와 키를 입력하고 셀룰러에서 접속되는지 확인합니다.
- 작은 목표 시험: 결과를 확인할 수 있는 목표를 입력해 Start를 누릅니다. 실제 설정을 확인하고, 필요하면 Dynamic Island 또는 앱에서 중단합니다.
App Store·TestFlight 배포는 아직 계획 단계입니다. 확인한 버전 공식 문서에서 설치 조건과 세부 명령을 확인하세요.
깃밥트라이로 맛보기
받아보기 귀찮고 살짝 불안했다면 — 안전 스캔부터 설치까지 터미널 한 줄로 끝나요.
터미널에 붙여넣으면 깃밥 안전 스캔 → 격리 폴더 clone → 설치 → 실행법 안내까지 자동이에요. 처음이어도 괜찮아요 — 이 한 줄이 전부예요.
npx gitbap-try onehumanbeing/esp32-iphone-agent
Node.js만 있으면 설치 없이 실행돼요 · 깃밥트라이가 뭐예요? →
별 추이 · 7일
확인 시각
활용성 · 따라 만들기 좋은가
- 관대한 라이선스
- 테스트 있음
- 예제 디렉토리
- 최근 활동
- AGENTS.md
- llms.txt
- 템플릿
🟢 최근 활동 있음 · 2026년 생성
「자동화·워크플로우」 이런 레포, 매주 받아보실래요?
매주 월요일 아침, 골라 담은 밥상만. 광고 없이 · 언제든 해지.
내 레포인가요? README에 깃밥 배지 달기
[](https://www.gitbap.com/r/onehumanbeing/esp32-iphone-agent)🔌 클로드에서 바로 써보기 — 깃밥 연결하는 법
깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.
클로드 설정 → 커넥터에 이 주소를 붙여넣기.
https://www.gitbap.com/api/mcp플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI가 README 기반으로 요약했습니다 · 원문 보기