Wednesday, February 18, 2015

Share Android Screen to PC for Linux

เมื่อตัดสินใจเลือกใช้ Linux เป็น OS หลักในการทำงานก็ต้องยอมรับกับการเป็นลูกเมียน้อยที่บรรดานักพัฒนาซอฟต์แวร์ยังไม่ให้ความสนใจมากนัก ช่วงนี้มีโอกาสต้องนำเสนอ Mobile Application บ่อยๆ ครั้นจะ switch projector ไปมาระหว่าง PC กับมือถือที่เป็น Android มันไม่สะดวกและก็ทำให้การ present ไม่ต่อเนื่อง อีกอย่างคือต้องเตรียม Adaptor ไว้สำหรับเชื่อมต่อมือถือของเราเข้ากับ projector ด้วย เลยทำให้มีความคิดว่าถ้าเราสามารถดึงเอาหน้าจอของมือถือมาแสดงบน PC ได้ก็น่าจะดี ซึ่งจริงๆแล้วก็มี Software จำพวก Mirror และ VNC อยู่ค่อนข้างเยอะแต่ติดที่
1. ส่วนมากจะต้อง Root ตัวมือถือซึ่งไม่ต้องการและ Policy ของบริษัทเองก็ไม่อนุญาตด้วย (เครื่องมีการลง MaaS360) ไว้
2. Software ที่ต้องลงฝั่ง PC แทบจะไม่มีที่ support Linux โดยเฉพาะ Ubuntu ที่ผมใช้อยู่เลย
3. หลายๆตัวมีค่าใช้จ่าย หรือไม่ฟรีนั้นเอง
4. จะใช้ wine ติดตั้ง software สำหรับทำ screen mirror ก็ไม่ work

หลังจากหาข้อมูลอยู่หลายวันพบว่ามี software อยู่ตัวหนึ่งชื่อ 'Droid@Screen' ข่าวดีคือมันเป็น java application ซึ่งเราสามารถทำไปรันบน platform ไหนก็ได้ บวกกับความสามารถของ Android SDK + ADB (Android Debug Bridge) แบบนี้ก็เสร็จเราสิครับ

มาดูกันเลยครับว่าขั้นตอนในการติดตั้งเป็นยังไง

  • เข้าไปที่ http://droid-at-screen.ribomation.com/ เพื่อ download 'Droid@Screen' ครับ
  • ติดตั้ง J2SDK หรืออย่างน้อยก็ J2RE
  • Download Android SDK จาก http://developer.android.com/sdk/index.html แล้ว extract ไว้สักทีในที่นี้ผม extract ไว้ที่ /home/ หลังจากนั้น run command
/home///tools/android update sdk --no-ui 
เพื่อ update และติดตั้ง platform-tools
  • กำหนดค่า USB computer connections เป็น Camera (PTP) สำหรับ Asus Zenfone และ MTP สำหรับ Samsung SII
  • Enable 'USB debugging' ใน Developer options
  • เรียกใช้งาน 'Screen@Droid'
java -jar droidAtScreen-1.0.1.jar
  • Browse ADB path ไปยัง /home///platform-tools/adb
  • เชื่อมต่อมือถือเรากับ PC
ดูผลเลยครับ

จะเห็นได้ว่าผมสามารถดึงหน้าจอจากทั้งสองเครื่องมาแสดงได้พร้อมๆกันเลยแต่ก็มีข้อเสียครับคือเราไม่สามารถใช้ Keyboard หรือ Mouse เพื่อ input หรือสั่งงานได้อารมณ์ประมาณว่าเป็น Read-Only ครับ จะต่างจากพวก PCLink, MirrorOp, BBQScreen และ Droid VNC

ปล.ผมทดสอบบน
1. Ubuntu 14.04 TLS
2.  Asus Zenfone 5 (Android 4.4.2) กับ Galaxy SII (Android  4.0.3)

No comments: