esp32-iphone-agent ใช้บอร์ด ESP32 ราว 7 ดอลลาร์ ให้ AI คุม iPhone เครื่องจริงได้เอง ไม่ต้องมี Mac ไม่ต้องมีบัญชี Developer ไม่ต้องเจลเบรก
esp32-iphone-agent ช่วยให้ AI มองจอ iPhone ผ่าน AirPlay แล้วสั่งงานเองผ่านบอร์ด ESP32-S3 ที่จำลองเป็นเมาส์ มาดูหลักการทำงานและขั้นตอนการเตรียมอุปกรณ์กัน

esp32-iphone-agent เป็นโปรเจกต์โอเพนซอร์สที่ช่วยให้ AI ควบคุม iPhone เครื่องจริงได้แบบเดียวกับมนุษย์ นั่นคือการมองหน้าจอแล้วกดสั่งงานเอง
เมื่อเราสั่งว่า Open Whiteboard and draw a smiley face ผู้ช่วยอัตโนมัติอย่าง AI Agent จะค้นหาแอป Whiteboard เปิดแอปขึ้นมา แล้วลากเส้นต่อเนื่องจนเป็นรูปหน้ายิ้ม
หรือถ้าสั่งว่า Set an alarm for 7:00 AM that repeats every day, then save it ระบบจะเปิดแอปนาฬิกา พิมพ์เวลา 0700 ลงในช่องตั้งเวลา กดเลือกวันซ้ำในหน้า Repeat ให้ครบทุกวัน แล้วกดบันทึกให้เสร็จสรรพ
การทำงานทั้งหมดนี้เกิดขึ้นบน iPhone เครื่องจริงที่ไม่ได้เจลเบรก และไม่ต้องติดตั้งแอปเสริมใดๆ อุปกรณ์เดียวที่ติดอยู่กับตัวเครื่องคือบอร์ดไมโครคอนโทรลเลอร์ขนาดจิ๋วรุ่น ESP32-S3 ราคาประมาณ 7 ดอลลาร์ ที่เสียบอยู่ในช่อง USB

โปรเจกต์นี้เป็นผลงานของนักพัฒนาที่ใช้ชื่อบัญชี onehumanbeing บน GitHub และเผยแพร่ภายใต้สัญญาอนุญาต MIT ปกติแล้วเครื่องมือควบคุม iPhone มักกำหนดว่าต้องใช้เครื่อง Mac และมีบัญชี Apple Developer แต่โปรเจกต์นี้ไม่ต้องใช้ทั้งสองอย่าง คอมพิวเตอร์ฝั่งควบคุมจะใช้ Mac หรือ Linux ก็ได้ ส่วนสมองที่ใช้ประมวลผลคือโมเดล Vision AI ที่มองเห็นและเข้าใจภาพได้ ซึ่งเลือกใช้ได้หลายรุ่นตามต้องการ
4 สิ่งที่เครื่องมือเดิมต้องมี แต่โปรเจกต์นี้ไม่ต้องใช้
โดยทั่วไป การเขียนโปรแกรมเพื่อควบคุมหรือทดสอบ iPhone มักทำผ่านเครื่องมืออย่าง XCTest หรือ WebDriverAgent ซึ่งมีข้อจำกัดและเงื่อนไขค่อนข้างมาก คุณต้องติดตั้งแอปช่วยทดสอบลงใน iPhone และต้องลงชื่อรับรองแอปด้วยบัญชี Apple Developer ถ้าใช้บัญชีแบบฟรี ลายเซ็นจะหมดอายุทุกๆ 7 วัน ทำให้ต้องคอยเซ็นแอปใหม่เรื่อยๆ
README ของโปรเจกต์มีตารางเปรียบเทียบทั้งสองแนวทางไว้ชัดเจน:
| รายการ | esp32-iphone-agent | เครื่องมือเดิม (XCTest / WebDriverAgent) |
|---|---|---|
| บัญชี Apple Developer | ไม่ต้องใช้ | ต้องมี (ใช้สำหรับลงชื่อรับรองแอป) |
| โปรแกรม Xcode | ไม่ต้องใช้ | ต้องมี |
| คอมพิวเตอร์ที่ใช้ควบคุม | Mac หรือ Linux | ต้องใช้ Mac เท่านั้น |
| แอปที่ต้องลงใน iPhone | ไม่ต้องลงเพิ่ม | ต้องลงแอปช่วยทดสอบ |
| การเจลเบรกเครื่อง | ไม่ต้องเจลเบรก | ไม่ต้องเจลเบรก |
| อุปกรณ์เสริม | บอร์ด ESP32-S3 (ราว 7 ดอลลาร์) | สาย USB ทั่วไป |
| รองรับทุกแอป รวมถึงเกม | ได้ (ดูจากพิกเซลบนหน้าจอโดยตรง) | ได้เป็นส่วนใหญ่ (ขึ้นอยู่กับโครงสร้าง Accessibility Tree ของแอป) |
ทั้งสองวิธีไม่ต้องเจลเบรกเครื่องเหมือนกัน แต่จุดต่างหลักๆ คือโปรเจกต์นี้ตัดเงื่อนไขยุ่งยากของฝั่ง Apple 4 ข้อแรกในตารางออกไปทั้งหมด สิ่งที่ต้องแลกมีอย่างเดียว คือต้องใช้บอร์ด ESP32-S3 หนึ่งตัวแทนสาย USB ธรรมดา
ที่ระบบนี้ใช้กับเกมได้ด้วยก็เพราะเครื่องมือแบบเดิมต้องอาศัยโครงสร้างข้อมูลอย่าง Accessibility Tree ซึ่งระบุว่าบนหน้าจอมีปุ่มหรือช่องข้อความอยู่ตรงไหนบ้าง วิธีนี้จึงใช้ได้กับแอปส่วนใหญ่ แต่ผลลัพธ์ขึ้นอยู่กับโครงสร้างที่แต่ละแอปเปิดไว้ ส่วน esp32-iphone-agent ดูพิกเซลบนหน้าจอตรงๆ โดยไม่สนโครงสร้างโค้ดภายใน จึงสั่งงานได้กับทุกแอป รวมถึงเกมด้วย
ตาคือ AirPlay ส่วนมือคือบอร์ด ESP32-S3

ระบบนี้ทำงานเลียนแบบคน โดยแบ่งเป็น 3 ส่วนหลัก คือตาไว้มองจอ มือไว้สั่งงาน และสมองไว้คิดตัดสินใจ
- ตา (การรับภาพหน้าจอ): ใช้ระบบแชร์หน้าจอไร้สาย AirPlay ของ Apple ส่งภาพจาก iPhone ไปยังคอมพิวเตอร์ โดยมีโปรแกรม UxPlay บนคอมพิวเตอร์ทำหน้าที่รับสัญญาณภาพ จากนั้นคอมพิวเตอร์จะแยกวิดีโอสดออกเป็นภาพนิ่งทีละเฟรม แล้วส่งต่อไปให้โมเดล AI ประมวลผล
- มือ (การสั่งงาน): ใช้บอร์ด ESP32-S3 เสียบเข้ากับช่อง USB ของ iPhone โดย iOS จะมองบอร์ดนี้เหมือนเมาส์และคีย์บอร์ดธรรมดาทั่วไป
- แค่เปิด AssistiveTouch ในหมวด Accessibility บน iPhone ไว้ ก็จะมีเคอร์เซอร์วงกลมขึ้นบนจอ เมื่อบอร์ดสั่งคลิกก็เท่ากับแตะหน้าจอ และเมื่อสั่งลากก็เท่ากับปัดหน้าจอ
- ตัวบอร์ดจะเชื่อมต่อกับคอมพิวเตอร์ผ่าน Wi-Fi เพื่อรับคำสั่งง่ายๆ ทีละบรรทัด เช่น คำสั่ง
moveสำหรับเลื่อนตัวชี้,clickสำหรับคลิก และtypeสำหรับพิมพ์ข้อความ ตัวบอร์ดไม่ได้คิดอะไรเอง คำสั่งทั้งหมดมาจากคอมพิวเตอร์
- สมอง (การตัดสินใจ): ใช้โมเดล Vision AI โดยแบ่งการทำงานออกเป็น 2 บทบาท:
- ผู้วางแผน: อ่านเป้าหมายของงาน ตรวจสอบภาพหน้าจอปัจจุบัน แล้ววางแผนสั้นๆ ว่าต้องทำอะไรบ้าง
- ผู้ลงมือทำ: ดูภาพหน้าจอที่อัปเดตใหม่ในแต่ละขั้นตอน แล้วเลือกคำสั่งถัดไปจากการแตะ, ปัดหน้าจอ, ลากเส้น, พิมพ์ข้อความ, กดปุ่มโฮม หรือสิ้นสุดการทำงาน ทั้งสองบทบาทนี้ใช้โมเดล AI ตัวเดียวกันได้
เราเลือกใช้โมเดล AI ตัวไหนก็ได้ ทั้งโมเดลบนคลาวด์และโมเดลที่รันเองในคอมพิวเตอร์ ขอแค่รองรับ OpenAI-compatible API ซึ่งเป็นรูปแบบการเชื่อมต่อมาตรฐานแบบเดียวกับของ OpenAI
แตะพลาดก็รู้ตัว แล้วลองใหม่

จุดยากของการใช้เมาส์ควบคุมหน้าจอมือถือ คือตัวเมาส์ไม่รู้ว่าเคอร์เซอร์อยู่ตรงไหนบนจอ
ลองนึกถึงเมาส์ที่เราใช้งานทั่วไป เวลาเราเลื่อนเมาส์ไปทางขวา เคอร์เซอร์บนจอก็จะขยับไปทางขวาตามระยะ แต่ตัวเมาส์เองไม่มีทางรู้เลยว่าตอนนี้เคอร์เซอร์อยู่ตรงพิกัดไหนของจอ บอร์ด ESP32-S3 ก็ส่งคำสั่งแบบเดียวกัน คือสั่งได้แค่ว่าให้เคอร์เซอร์ขยับไปทางไหน เป็นระยะเท่าไร
โปรเจกต์นี้จึงแก้ปัญหาด้วยการให้คอมพิวเตอร์คอยจำและติดตามตำแหน่งเคอร์เซอร์แทน ก่อนสั่งแตะหน้าจอแต่ละครั้ง ระบบจะขยับเคอร์เซอร์ไปมาเล็กน้อยเพื่อหาพิกัดจริงจากภาพหน้าจอที่จับมา ถ้ายังไม่ตรงจุดก็จะปรับระยะให้พอดี และคอยปรับเทียบพิกัดหรือ Calibrate ให้แม่นยำขึ้นเรื่อยๆ ตลอดการทำงาน
นอกจากนี้ หลังสั่งงานแต่ละครั้ง ระบบจะตรวจเสมอว่าภาพบนหน้าจอเปลี่ยนจริงหรือไม่ แล้วส่งผลกลับไปบอก AI ถ้าแตะพลาดหรือหน้าจอไม่เปลี่ยน AI จะรู้ตัวและลองกดใหม่ ไม่ข้ามไปทำขั้นตอนถัดไปทั้งๆ ที่หน้าจอยังอยู่ที่เดิม
ถ้าระบบตรวจพบว่า AI เริ่มวนทำคำสั่งเดิมซ้ำๆ ก็จะสั่งให้วางแผนใหม่ ส่วนเมื่อการเชื่อมต่อหลุดหรือโมเดลตอบกลับมาผิดพลาด ระบบก็กู้สถานะแล้วกลับมาทำงานต่อได้อัตโนมัติ
บอร์ดหนึ่งตัว iPhone หนึ่งเครื่อง และคอมอีกหนึ่งเครื่อง
สิ่งที่เราต้องเตรียมมีทั้งหมด 4 อย่าง ได้แก่:
- บอร์ดไมโครคอนโทรลเลอร์: Seeed Studio XIAO ESP32S3 รุ่นมาตรฐานที่ยังไม่ได้บัดกรีขาพิน ราคาประมาณ 7 ดอลลาร์จากผู้ผลิต Seeed หรือจะใช้บอร์ด ESP32-S3 ตัวอื่นก็ได้ ขอเพียงช่อง USB-C ต่อตรงเข้ากับพอร์ต USB ของชิป ESP32-S3 (ข้อควรระวัง: README ระบุรุ่นธรรมดา ไม่ใช่รุ่น Sense ที่มีกล้องหรือรุ่น Plus ซึ่งชื่อใกล้กันมาก)
- iPhone: รุ่นที่ใช้พอร์ต USB-C เสียบบอร์ดเข้าเครื่องได้โดยตรง ส่วนรุ่นที่ยังใช้พอร์ต Lightning ต้องต่อผ่าน Lightning to USB Camera Adapter และเนื่องจากบอร์ดดึงไฟเลี้ยงจาก iPhone ถ้าอยากชาร์จแบตเตอรี่ไปด้วยระหว่างทำงาน ต้องต่อผ่าน USB-C Hub ที่จ่ายไฟผ่านได้
- คอมพิวเตอร์: ใช้ได้ทั้ง macOS และ Linux โดยต้องต่อ Wi-Fi วงเดียวกับ iPhone คอมพิวเตอร์เครื่องนี้ทำหน้าที่รันโปรแกรม UxPlay และเซิร์ฟเวอร์ของโปรเจกต์ ส่วนบอร์ด ESP32-S3 จะต่อกับ Wi-Fi ความถี่ 2.4 GHz
- โมเดล Vision AI: โมเดลที่เรียกใช้งานผ่าน OpenAI-compatible API จะเลือกใช้บริการคลาวด์หรือรันโมเดลเองในเครื่องก็ได้
จะเลือกโมเดลแบบไหนก็ขึ้นอยู่กับความสะดวก README บอกว่าแค่ API บนคลาวด์ก็พอ แบบนี้ไม่ต้องเตรียมเครื่องมารันโมเดลเอง แต่มีค่าใช้จ่ายตามที่ผู้ให้บริการแต่ละเจ้ากำหนด ส่วนการรันโมเดลเองในเครื่องเหมาะกับคนที่อยากให้ทุกอย่างอยู่บนเครื่องตัวเอง แต่ต้องมีฮาร์ดแวร์ที่แรงพอจะรันโมเดลประมวลผลภาพได้
เมื่อเตรียมอุปกรณ์ครบแล้ว ขั้นตอนการตั้งค่าแบ่งออกเป็น 4 ขั้นตอน:
- แฟลชโปรแกรมลงบอร์ด: ติดตั้งเครื่องมือเขียนโปรแกรมลงบอร์ดอย่าง
arduino-cliพร้อม ESP32 core 3.x ใส่ชื่อ Wi-Fi, รหัสผ่าน และหมายเลข IP ของคอมพิวเตอร์ลงในไฟล์secrets.hจากนั้นรันคำสั่งhardware/flash.shเพื่อติดตั้งโปรแกรมลงบอร์ด - ติดตั้ง UxPlay และเปิดเซิร์ฟเวอร์: กำหนดค่า
LLM_BASE_URL,LLM_MODELและLLM_API_KEYในไฟล์.envเปิดเซิร์ฟเวอร์ แล้วเข้าใช้งานผ่านเบราว์เซอร์ที่http://<computer-ip>:8890(โดยแทน<computer-ip>ด้วย IP ของคอมพิวเตอร์) - ตั้งค่าบน iPhone: เข้าไปที่ Settings → Accessibility → Touch → AssistiveTouch เพื่อเปิดใช้งาน จากนั้นเสียบบอร์ดเข้ากับ iPhone เคอร์เซอร์วงกลมจะขึ้นบนหน้าจอ และหน้าเว็บบนคอมพิวเตอร์จะขึ้นสถานะ controller connected ขั้นต่อไปให้เปิด Control Center บน iPhone → Screen Mirroring แล้วเลือกเชื่อมต่อไปที่ iPhone Agent
- Calibrate พิกัดแล้วเริ่มสั่งงาน: บนหน้าเว็บ ให้เข้าไปที่ Manual controls → Calibrate ระบบจะปรับเทียบพิกัดเคอร์เซอร์อัตโนมัติภายในไม่กี่วินาที (หากระบบมองไม่เห็นเคอร์เซอร์ มันจะขอให้เราคลิกลงบนตัวเคอร์เซอร์) จากนั้นพิมพ์คำสั่งที่ต้องการแล้วกดปุ่ม Start ได้ทันที
ข้อสังเกต: ถ้าเปลี่ยนความเร็วเคอร์เซอร์ของ AssistiveTouch ภายหลัง ต้องกด Calibrate ใหม่ทุกครั้ง
ถ้าไม่อยากตั้งค่าเองทีละขั้น โปรเจกต์นี้มี Prompt หรือข้อความคำสั่งที่เอาไปสั่ง AI ช่วยเขียนโค้ดอย่าง Claude Code หรือ Codex บนคอมพิวเตอร์เครื่องที่จะใช้งานได้ทันที:
Clone https://github.com/onehumanbeing/esp32-iphone-agent and follow its README to set it up on this machine: flash the ESP32-S3 plugged in over USB, install UxPlay and the server, write server/.env for my model API, start the server and give me the web UI address. Ask me for the Wi-Fi name/password and the model API key.ตัว AI ช่วยเขียนโค้ดจะดาวน์โหลดโปรเจกต์ลงเครื่อง, แฟลชบอร์ด, ติดตั้ง UxPlay และเซิร์ฟเวอร์, สร้างไฟล์ server/.env, รันเซิร์ฟเวอร์ แล้วส่ง URL ของหน้าเว็บกลับมาให้เสร็จสรรพ ระหว่างนั้นมันจะถามชื่อ Wi-Fi, รหัสผ่าน และ API key ของโมเดลจากเรา
ติดตามการทำงานของ AI ได้ทีละขั้นตอน
หน้าเว็บบนเบราว์เซอร์คือศูนย์ควบคุมที่เราใช้เฝ้าดูการทำงานของ AI ทั้งหมด บนหน้านี้มีจอแสดงภาพสดของ iPhone ที่เราใช้เมาส์คลิกแทนการแตะ หรือลากแทนการปัดหน้าจอได้ และมีหน้าต่างบันทึกการทำงานหรือ Log ที่รายงานทุกแผน ทุกการตัดสินใจ และทุกการกดของ AI พร้อมเวลาที่ใช้
นอกจากนี้ยังมีส่วนที่เรียกว่า Step Wall เป็นแถวการ์ดที่เก็บภาพหน้าจอตอนที่ AI ตัดสินใจในแต่ละขั้นตอน บนการ์ดมีสัญลักษณ์ให้เห็นชัดเจน คือวงกลมสีแดงแทนจุดที่สั่งแตะหน้าจอ ส่วนเส้นสีเหลืองแทนทิศทางการปัดหรือลากเส้น พร้อมเหตุผลที่ AI เลือกทำแบบนั้น และเวลาที่ใช้ทั้งตอนคิดและตอนลงมือ ถ้าเกิดเหตุผิดพลาด เรากดปุ่ม Emergency Stop หรือกด Esc บนคีย์บอร์ดได้ เพื่อหยุดการทำงานของ AI Agent และปล่อยเคอร์เซอร์

หากอยากเห็นการทำงานจริงบนเครื่องก่อนตัดสินใจซื้ออุปกรณ์ สามารถดูได้จากคลิปเดโมของโปรเจกต์
สิ่งที่มันยังทำไม่ได้ เริ่มจากคีย์บอร์ดที่พิมพ์ได้แค่ ASCII
ข้อจำกัดสำคัญข้อแรกที่ควรรู้ก่อนสั่งซื้อบอร์ด คือคีย์บอร์ดจำลองตอนนี้รองรับเฉพาะ ASCII ซึ่งเป็นรหัสตัวอักษรมาตรฐาน พิมพ์ได้เพียงตัวอักษรภาษาอังกฤษ ตัวเลข และสัญลักษณ์พื้นฐาน
การพิมพ์ตัวอักษรนอกกลุ่ม ASCII เช่น ภาษาจีนผ่านระบบสะกดคำพินอินหรือ Pinyin อยู่ในแผนพัฒนาขั้นถัดไปของโปรเจกต์
ส่วนข้อจำกัดอื่นๆ ที่ควรทราบก่อนใช้งาน มีดังนี้:
- iOS ไม่แชร์ภาพบางหน้าจอ: บางหน้าจอจะไม่ส่งภาพออกมา เช่น หน้าจอใส่รหัสผ่านปลดล็อกเครื่อง, หน้าจอชำระเงิน Apple Pay รวมถึงวิดีโอที่มีระบบป้องกันลิขสิทธิ์อย่าง DRM ทำให้ AI มองไม่เห็นภาพในหน้าจอเหล่านี้
- ต้องปิดระบบล็อกหน้าจออัตโนมัติ: เมื่อ iPhone ล็อก การแชร์หน้าจอจะหยุดลง และพอร์ต USB ของมือถือก็เข้าสู่โหมดพักไปด้วย ระหว่างให้ AI ทำงานจึงต้องปิดระบบล็อกหน้าจออัตโนมัติไว้เสมอ
- ยังไม่รองรับแอปในแนวนอน: ปัจจุบันระบบยังคำนวณตำแหน่งสำหรับหน้าจอแนวตั้งเท่านั้น หากนำไปใช้กับแอปที่แสดงผลแนวนอน ตำแหน่งการแตะและการวาดจะไปลงผิดที่
ใน README ผู้พัฒนาเน้นย้ำเรื่องความปลอดภัยและการใช้งานอย่างรับผิดชอบไว้ชัดเจน ว่าควรใช้กับอุปกรณ์และบัญชีของตัวเอง หรือที่ได้รับอนุญาตอย่างถูกต้องเท่านั้น และปฏิบัติตามข้อกำหนดการใช้งานของแต่ละแอป เนื่องจาก AI กดสั่งงานบนเครื่องได้จริง ผู้ใช้จึงควรเฝ้าดูการทำงานเสมอ และเตรียมปุ่มหยุดฉุกเฉินไว้ใกล้มือ
แค่มองเห็นจอและกดได้ ก็ใช้งานแอปได้เหมือนคน
การสร้าง AI Agent สำหรับใช้งานบนมือถือ ไม่จำเป็นต้องรอให้ผู้ผลิตระบบปฏิบัติการเปิด API พิเศษให้เสมอไป เครื่องมือแบบดั้งเดิมมักต้องพึ่งพาชุดเครื่องมือสำหรับนักพัฒนาของ Apple แต่ esp32-iphone-agent เลือกวิธีเดียวกับที่คนใช้มือถือ คือมองภาพบนหน้าจอแล้วใช้ตัวชี้สั่งงาน
ตัวแอปจึงไม่จำเป็นต้องเปิดระบบหรือตั้งค่าอะไรเป็นพิเศษ ตราบใดที่ AI มองเห็นหน้าจอและแตะสั่งงานได้ มันก็ใช้แอปต่างๆ ได้ไม่ต่างจากคน แม้จะยังมีข้อจำกัดอยู่บ้างอย่างที่เล่าไป
ใครที่เคยติดปัญหาไม่มีเครื่อง Mac หรือไม่อยากผูกงานไว้กับบัญชี Apple Developer แนวทางนี้เป็นทางลัดให้ลองปล่อย AI ควบคุม iPhone ได้ทันที โดยไม่ต้องติดอุปสรรคทั้งสองเรื่องนี้
บอร์ดราคาประมาณ 7 ดอลลาร์ตัวนี้ไม่ได้ทำให้ AI ฉลาดขึ้น แต่เหมือนมอบ "นิ้วมือ" ให้โมเดลที่มี "สายตา" อยู่แล้ว และเมื่อ AI มีทั้งตาที่มองเห็นและนิ้วที่แตะหน้าจอได้เหมือนคน ก็เหลือแค่ต้องคิดว่า งานซ้ำซากงานไหนบนมือถือที่คุณอยากให้มันกดแทนเป็นงานแรก
ที่มา: โปรเจกต์ esp32-iphone-agent บน GitHub
ชอบเรื่องแนวนี้ มีอีบุ๊คฟรีให้อ่านต่อ
สร้าง Claude Skill แบบไม่ต้องรู้โค้ด คู่มือสร้าง Claude Skill ของคุณเองด้วยการคุยกับ Claude Code เป็นภาษาไทย
กดสมัครแล้วเราจะส่งเทคนิค AI และของแจกใหม่ๆ ให้ทางอีเมล เลิกรับได้ตลอด
สร้าง AI Automation Pipeline ทุกแบบ ด้วย Agents และ Skills

ปูจากพื้นฐาน prompt, context และ cost ไปจนปั้น Skill สั่ง Agent กับ Sub-agent แล้วต่อทุกอย่างเป็น pipeline อัตโนมัติที่ออกแบบเองได้ ดูฟรี 7 บทก่อนตัดสินใจ


