เมื่องาน OSSFestival 2014 ที่ผ่านมา มี workshop เกี่ยวกับ Arduino DIY ได้รับความสนใจมากจากหลายคนที่สนใจด้าน OpenSource Hardware ซึ่งโครงการอย่าง Arduino และ Raspberry Pi เป็นโครงการ OpenSource Hardware ที่ประสบความสำเร็จมาก เรียกได้ว่าใช้เครื่องมือทุกอย่างที่เป็น OpenSource ในการทำงานได้ ตั้งแต่การประกอบแบบ DIY,Arduino Bootloader สำหรับ Burn ลงในชิบ ATMEGA328, IDE ที่ใช้เขียนโปรแกรมและระบบปฏิบัติการที่ใช้งานได้ เรียกได้ว่าใช้งานเครื่องมือแบบ OpenSource ได้ในทุกกระบวนการเลยทีเดียว ดีจัง :) ใน workshop ได้แนวคิดหลายอย่าง ไม่ว่าจะเป็นบอลลูนติด Arduino ควบคุมด้วย Remote Control แบบ Infra Red หรือการใช้งาน Arduino DIY กับ RFID เป็นต้น เรียกได้ว่าทำได้หลายอย่างมากๆ

ในตอนแรกคิดว่าจะลองทำบอลลูนควบคุมด้วย Arduino แต่ต้องถอดใจก่อนเพราะไม่มีลูกโป่งและก๊าซฮีเลียม แนวคิดนี้ก็เลยขอพักไว้ก่อน ลองทำอะไรง่ายๆ ก่อนน่าจะดีกว่า อย่างเช่น Robot เอ่อ…ต้องเรียกรถ 2 ล้อน่าจะถูกกว่าเพราะมี 2 ล้อสำหรับควบคุมทิศทางและล้ออิสระอีก 2 ล้อเอาไว้พยุงตัวรถเท่านั้นเอง อุปกรณ์ที่ต้องใช้มีดังนี้ครับ

  • Robot Chassis Kit (Chassis + Motor + Wheel)
  • Arduino UNO
  • Motor Drive Shield (L298P)
  • Bluetooth Module HC-05
  • Battery ขนาด AA 6 ก้อน
  • Battery Box ขนาด AA 6 ก้อน


Continue reading

Genymotion เป็น Android Emulator ที่มาพร้อมกับ Android System Image และ AVD สำเร็จรูปมากกว่า 10 ตัว ช่วยให้นักพัฒนาไม่ต้องกังวลเรื่องการตั้งค่า AVD อีกต่อไป ที่สำคัญ Genymotion ทำงานเร็วกว่า Emulator ที่มากับ Android SDK มากๆ Genymotion มีเครื่องมือช่วยนักพัฒนาหลายอย่างทั้งการเชื่อมต่อกับ Webcam, GPS, Screencast และอีกมากมาย Genymotion สามารถดาวน์โหลดมาใช้งานได้ฟรี หรือเสียเงินเพื่อใช้งาน feature เสริมอื่นๆ ที่ต้องการได้ อย่าช้าสมัครสมาชิกแล้วดาวน์โหลดได้เลย


Continue reading

Android 4.3+ มีความสามารถด้าน Debugging เพิ่มขึ้นมาคือ ADB Over Network หรือเรียกง่ายๆ ว่า Wifi Debugging หลักการคือคุณสามารถใช้ ADB ได้ทั้งแบบมีสายและไร้สาย ถ้ามี USB Hub เยอะหน่อยก็จะสะดวก แต่ถ้าไม่มีก็สามารถ Debug ผ่าน Wifi ได้ วิธีการง่ายๆ มีดังนี้

อันดับแรกต้องอยู่ในเครือข่ายเดียวกันเสียก่อน ดู IP Address อยู่ในวงเดียวกัน


Continue reading

เนื่องจากทดลอง Android Wear มาสักระยะผ่านทาง Emulator โดยการเชื่อมต่อกับโทรศัพท์มือถือผ่าน Debug Mode ทำให้รู้สึกถึงความรำคาญของ Notification ของ App แทบทุกตัวที่ยิงเข้าไปที่ Emulator สำหรับนักพัฒนาที่พัฒนา Wear App หรือส่ง Notification ไปที่ Android Wear โดยส่วยตัวผมไม่ชอบ Notification เยอะๆ สักเท่าไร ลองนึกถึง GMail Notification ที่เป็น Stack ซ้อนๆ กันสัก 5 อันก็สยองแล้ว นี่ยังไม่รวม Facebook, Line ฯลฯ ทำให้คิดว่าน่าจะต้องหาทางปิด Notification ที่ไม่อยากให้ไปโผล่ใน Android Wear วิธีแก้ไขก็ง่ายมาก ตั้งค่าใน Android Wear App ดังนี้ครับ

เปิด Android Wear App ขึ้นมาก่อน

กดไปที่ Setting รูปเฟือง

เลือก Mute app notifications แล้วเลือก App ที่ต้องการไม่ให้แสดง Notification ไปยัง Android Wear ง่ายๆ แค่นี้ครับ

 

ช่วงนี้ใน Google Play Store เริ่มมี App Watch Face มาให้ดาวน์โหลดกันเยอะขึ้น มี Watch Face ใหม่ๆ แทบจะทุกสัปดาห์ มีทั้งแบบฟรีและเสียเงิน ก็เลยคิดว่าถ้าจะเขียน Watch Face ในแบบที่ต้องการบ้างจะทำอย่างไร ซึ่งเท่าที่ลองค้นหาข้อมูลก็พบว่า Watch Face เขียนคล้ายกับ Launcher บน Android คือเขียน Wear App ปกติแต่ไปกำหนดใน AndroidManifest ว่าให้ทำหน้าที่เป็นอะไร ซึ่งถือว่าง่ายมากๆ ลองมาทำเล่นกันครับ

สิ่งที่ต้องมี

  • Android Studio รุ่นล่าสุด
  • Android SDK Rev 20
  • Android Wear System Image


Continue reading

Android Wear เป็น Platform SmartWatch ที่เพิ่งเปิดตัวไปเมื่อไม่นานมานี้ จากงาน Google I/O 2014 ในเบื้องต้น Android Wear เน้นการเชื่อมต่อกับ Smartphone และ Tablet สามารถ Share Notification ได้อัตโนมัติ โดย Notification ที่แสดงผลบน Smartphone จะแสดงผลบน Smartwatch ด้วยเช่นกัน โดยแสดงผลเป็น card ในรูปแบบของ Context Stream การใช้ Notification ที่เชื่อมระหว่าง Smartphone และ Smartwatch สามารถช่วยสร้างประสบการณ์การใช้งานที่ดีให้กับผู้ใช้ได้ หากคุณเพิ่มฟังก์ชั่นการใช้งานเข้าไปให้กับ Notification ที่คุณสร้างด้วย

มาลองสร้าง Notification บน Android Wear กัน สำหรับท่านที่เคยเขียน Notification บน Android มาแล้ว อาจจะคุ้นเคยกับ Notification Builder สำหรับ Smartphone กันอยู่แล้ว แต่ถ้าคุณต้องการสร้าง Notification เพื่อให้แสดงผลทั้งบน Smartphone และ Smartwatch ด้วยจะต้องใช้ NotificationCompat Builder สำหรับการใช้งาน NotificationCompat คุณจะต้องเรียกใช้ library จาก Android Support Library มาทดลองเขียนกันครับ

ขั้นแรกสิ่งที่คุณต้องมี

  • Android Studio 0.8.x รุ่นล่าสุด
  • Android Wear System Image ใช้ Atom ได้จะเร็วมาก อย่าลืมติดตั้ง HAXM ด้วย
  • Android Support Library
  • Android Wear App ดาวน์โหลดได้ที่ Google Play Store


Continue reading

ผมยังรู้สึกตื่นเต้นกับ KitKat อยู่หลังจากตัดสินใจอัพเกรดจาก 4.3 Stock ROM มาเป็น Cyanogen Mod 11 ทำให้ได้เล่นและได้ลองอะไรใหม่ๆ เยอะ โดยเฉพาะคุณมบัติที่เพิ่งโผล่มา คือ Screen Record ครับ โดยปกตินักพัฒนาจะอาศัยโปรแกรม Screen Record จากภายนอกมาจับหน้าจอเพื่อทำ Video แต่ใน KitKat มีโปรแกรมจับหน้าจอใดตัว ซึ่งเรียกใช้ได้ 2 วิธี

วิธีแรกจาก adb นี่แหละครับ คือสั่ง adb shell ให้ไป run โปรแกรม screen record ในเครื่องให้จับหน้าจอให้แล้วบันทึกลงใน sdcard ดังนี้

adb shell screenrecord /sdcard/a.mp4

หากต้องการหยุด ก็กด Ctrl+C เท่านี้ก็ได้วิดีโอหน้าจอแล้ว จากนั้นก็คัดลอกไฟล์จากมือถือลงมาที่เครื่องดังนี้

adb pull /sdcard/a.mp4

วิธีที่ 2 ใช้ Android Studio ที่เป็นเครื่องมือของนักพัฒนานี่แหละครับ เปิดไปที่ Android DDMS จากนั้นหาปุ่มเขียวๆ กดลงไปเลยครับ

จากนั้นจะมีหน้าจอให้ตั้งค่า config เพิ่มเติมถ้าคิดไม่ออกก็กด Start Recording ไปได้เลย

เมื่อกด Start Recording แล้วหน้าจอจะแสดง progress bar พร้อมปุ่ม Stop หากต้องการหยุดบันทึกก็กดปุ่ม Stop ได้เลย

พอกด Stop โปรแกรมก็จะถามว่าจะบันทึกไฟล์ไว้ที่ไหนดังนี้

เลือกไดเรคทอรีที่ต้องการ :)

กูเกิลเผยสถิติเวอร์ชันแอนดรอยด์รอบใหม่ (นับถึง 1 พฤศจิกายน) ล่าสุด Jelly Bean ทุกเวอร์ชันรวมกันมีส่วนแบ่งตลาดเกินครึ่งของแอนดรอยด์ทั้งหมดแล้ว

  • Jelly Bean 52.1%
  • Ice Cream Sandwich 19.8%
  • Honeycomb 0.1%
  • Gingerbread 26.3%
  • Froyo 1.7%

แต่ถ้าแตกเวอร์ชันย่อยของ Jelly Bean จะแบ่งได้เป็น 4.1 37.3%, 4.2 12.5%, 4.3 2.3%

ที่มา – Blognone

ผมใช้มือถือ Nexus มาระยะหนึ่ง แต่ก็ยังไม่สามารถรับ-ส่ง ไฟล์ผ่านสาย USB ได้ เนื่องจาก Android 4.x ใน Nexus ใช้การเชื่อมต่อผ่านโปรโตคอล MTP และ PTP เท่านั้น ทำให้การใช้งานเครื่อง Nexus ของผมต้องผ่าน ddms หรือไม่ก็ Airdroid สำหรับท่านที่ใช้ระบบปฏิบัติการ Windows อาจไม่ส่งผลกระทบเท่าไร แต่ท่านที่ใช้ Ubuntu ก็คงต้องมาหาทางแก้ไขกัน ใน Ubuntu มีเครื่องมือหลายอย่างในการรับส่งไฟล์ผ่าน MTP เช่น Go-Mtpfs, Gvfs เป็นต้น แต่ทั้งหมดก็สร้างปัญหา หรือที่เรียกว่าใช้งานไม่ได้มาเกือบ 1 ปี แต่ Gvfs และ libmtp ก็ทะยอยแก้ปัญหามาเรื่อยๆ สำหรับท่านที่อยากลอง สามารถติดตั้งเพื่อทดสอบกันได้ จาก PPA ของนักพัฒนา ดังนี้

เพิ่ม PPA ของ Gvfs

sudo add-apt-repository ppa:langdalepl/gvfs-mtp

sudo apt-get update

จากนั้นสั่ง Upgrade

sudo apt-get upgrade

จากนั้น reboot เครื่อง แล้วลองเสียบเครื่อง Nexus ของคุณดูครับ จะพบว่า Ubuntu จะ Mount MTP Device ขึ้นมาให้พร้อมใช้งาน ;)

เนื่องจากรอ OTA ไม่ไหวก็เลยอัพเกรดด้วยตัวเอง เครื่องมือที่ต้องมีได้แก่

  1. Android SDK
  2. สาย USB
  3. Image ที่ตรงกับเครื่องของคุณ ของผมเป็น Yukju

วิธีการง่ายๆ มีดังนี้

  1. ตั้งค่า USB Debuging Mode ก่อน ถ้าหาเมนู Developer Options ไม่เจอ ให้ไปกดที่ Build Number ในหน้า About Phone 8 ครั้ง เดี๋ยวเมนูมันจะโผล่อออกมา
  2. ใช้คำสั่ง adb reboot bootloader โทรศัพท์จะ reboot แล้วแสดงหน้าจอมี Android นอนหงายท้องอยู่
  3. ใช้คำสั่ง fastboot oem unlock (ถ้าเป็น Linux ต้องใช้สิทธิ์ root ในการใช้สำสั่งนี้) หน้าจอจะขึ้นมาถามว่าต้องการ unlock bootloader หรือไม่ ตอบ Yes เลยคับ
  4. แตกไฟล์ที่ดาวน์โหลดมา แล้ว run script ชื่อ flash-all.sh แล้วนั่งรอ :) เท่านี้ก็ได้ Jelly Bean 4.3 แล้ว
  5. ใช้คำสั่ง adb reboot bootloader จากนั้นสั่ง lock bootloader โดยใช้คำสั่ง fastboot oem lock