เรื่องน่ารู้เกี่ยวกับ Bluetooth กับอุปกรณ์แอนดรอยด์

แลกเปลี่ยนประสบการณ์และ ปัญหาการใช้งาน Mobile การพัฒนา App บน SmartMobile , tablet Android, iOS, Window Phone และ ฯลฯ

Moderators: mindphp, ผู้ดูแลกระดาน

prakasit.bank
PHP Super Member
PHP Super Member
Posts: 316
Joined: 02/06/2015 9:47 am

เรื่องน่ารู้เกี่ยวกับ Bluetooth กับอุปกรณ์แอนดรอยด์

Post by prakasit.bank »

Bluetooth คำนี้คงไม่มีใครไม่รู้จัก แต่พูดคำนี้ทีไรแล้วนึกถึงสมัย Nokia ตระกูล N70 ยอดนิยม ที่ต้องส่งไฟล์เพลงให้กับเพื่อนผ่าน Bluetooth เพราะสมัยนั้นยังไม่มี WiFi ให้ใช้บนมือถือ (รู้สึกแก่)
ในทุกวันนี้บทบาทของ Bluetooth เริ่มน้อยลงไปบ้าง เพราะเดี๋ยวนี้อะไรๆก็ WiFi ไปหมด แต่ทว่าบนแอนดรอยด์ก็ยังมีการใช้งาน Bluetooth พอสมควร ผมจึงขอหยิบเรื่อง Bluetooth กับแอนดรอยด์มาให้ได้อ่านกันเล่นๆอีกตามเคย

ทบทวนเล็กน้อย
Bluetooth เป็นหนึ่งในเทคโนโลยีที่ใช้สื่อสารหรือรับส่งข้อมูลระหว่างอุปกรณ์สองตัวแบบไร้สาย โดยใช้คลื่นวิทยุความถี่ช่วง 2.4 GHz ในการสื่อสาร เฉกเช่นเดียวกับ WiFi เพียงแต่ว่าเป็นคนละโปรโตคอล (Protocol) กัน และมาตรฐาน Bluetooth อยู่ภายใต้การดูแลของ Bluetooth Special Interest Group (Bluetooth SIG) ที่คอยพัฒนาและกำหนดมาตรฐานของ Bluetooth ในแต่ละเวอร์ชัน

พัฒนาการของ Bluetooth แบบคร่าวๆ
ในสมัยแอนดรอยด์ 2.2 เริ่มเข้ามาในบ้านเรา ตอนนั้นก็มี Bluetooth ติดเครื่องกันมานมนานแล้ว (ยกเว้นเครื่องจีนบางเจ้าที่ตัดออกเพื่อลดต้นทุน) ซึ่งเจ้า Bluetooth 2.0 ก็ถือเป็นพื้นฐานขั้นต่ำสำหรับเครื่องที่มี Bluetooth และได้พัฒนาเป็น Bluetooth 2.1 เพื่อปรับปรุงในเรื่องของความปลอดภัยและความเสถียรของสัญญาณ
แต่ข้อด้อยของ 2.0 ก็คือมันช้าเหลือเกินความเร็วสูงสุดก็ได้แค่ 2.1Mbps แถมเวลาใช้งานจริงๆความเร็วก็ไม่เคยได้ความเร็วสูงสุดเลย จึงทำให้มีการพัฒนาขึ้นมาเป็น Bluetooth 3.0 เพื่อให้มีความเร็วเพิ่มมากขึ้นถึง 24 Mpbs ซึ่งถือว่าดีขึ้นมาก ตอนนั้นแอนดรอยด์ที่เริ่มมี Bluetooth 3.0 ก็ยังอยู่ในช่วง Android 2.3 - 3.0 เองนะเออ และหลังจากนั้นก็มีทั้งเครื่องที่เป็น Bluetooth 2.0 และ Bluetooth 3.0 ปนๆกันไป (ขึ้นอยู่กับสเปค)
การมาของ Bluetooth 4.0 นั้นแตกต่างจากเดิม เพราะว่าการพัฒนาในเรื่องความเร็วนั้นไม่ใช่คำตอบที่จำเป็นแล้วในเมื่อ WiFi ยังไงก็เร็วกว่า ดังนั้น Bluetooth 4.0 จึงหันไปพัฒนาในด้านของการประหยัดพลังงานแทน จึงได้ออกมาเป็น Bluetooth Low Energy หรือที่รู้จักกันว่า Bluetooth LE หรือ BLE ซึ่งเริ่มเข้ามามีบทบาทใน Android 4.3 เป็นต้นมา และมีการพัฒนามาเป็น Bluetooth 4.1 ที่ปรับปรุงการทำงานให้ดีขึ้น และล่าสุดเป็น Bluetooth 4.2 ที่เพิ่มในเรื่องของ IoT เข้ามาด้วย แต่ยังไม่มีอุปกรณ์แอนดรอยด์ตัวไหนใช้งาน Bluetooth 4.2 นะ


Bluetooth 4.0 ใช้งานกับ Bluetooth 2.0 ได้มั้ย?
คำถามยอดนิยมสำหรับใครหลายๆคนที่สงสัยว่าอุปกรณ์แอนดรอยด์ของตัวเองนั้นเป็น Bluetooth 4.0 แต่ทว่าอุปกรณ์ที่จะเอามาเชื่อมต่อด้วยกลับเขียนว่าเป็น Bluetooth 2.0 ก็เลยไม่แน่ใจว่ามันจะใช้งานได้หรือป่าว
ได้ครับ เวอร์ชันของ Bluetooth ไม่ต่างอะไรกับเวอร์ชันของแอนดรอยด์ เพราะเวอร์ชันใหม่กว่ารองรับฟีเจอร์และการทำงานของเวอร์ชันเก่าอยู่แล้วครับ ดังนั้นถ้าเครื่องที่ใช้อยู่เป็น Bluetooth 4.1 ก็รองรับการทำงานของ Bluetooth 2.0 2.1 และ 3.0 อยู่แล้วครับ ไม่ต้องห่วง
bluetooth_with_android_006.jpg
bluetooth_with_android_006.jpg (25.09 KiB) Viewed 688 times
แต่ต้องดูด้วยว่าจะใช้งานอะไร เช่น ต่อรีโมตกับไม้เซลฟี่ ถ้าแบบนั้นจะ Bluetooth 2.0 หรือ Bluetooth 4.0 มันก็ใช้ได้หมดนั่นแหละ แต่ถ้าซื้อ Android Wear มาใช้งาน จะต้องเป็น Bluetooth 4.0 เท่านั้นนะ (อยากรู้ว่าเพราะอะไร ก็ไปอ่านต่อช่วงท้ายๆ)

แล้วเลขเวอร์ชันของ Bluetooth มันสื่อถึงอะไร?
เข้าใจง่ายกว่าของแอนดรอยด์เยอะครับ เพราะเลขเวอร์ชันหลัก (Major Version) อย่างเช่น 2.0, 3.0 และ 4.0 คือมีการเปลี่ยนแปลงในระดับฮาร์ดแวร์ แต่ในเลขเวอร์ชันรอง (Minor Version) อย่างเช่น 4.1 หรือ 4.2 เป็นการเปลี่ยนแปลงในระดับซอฟต์แวร์
หรือก็คือ Bluetooth 4.0, 4.1 และ 4.2 ไม่ต้องเปลี่ยนฮาร์ดแวร์ใหม่ แค่อัพเดทซอฟต์แวร์ใหม่ก็ได้แล้ว
อ้าว แบบนี้เครื่องผมเป็น Bluetooth 4.0 ก็อัพเป็น Bluetooth 4.1 หรือ 4.2 ได้ใช่มั้ย?
อ่า....ก็ไม่ใช่อีกนั่นแหละครับ เพราะตัวแอนดรอยด์ไม่ได้ทำมาให้อัพเดทเวอร์ชันของ Bluetooth ได้นี่นา (หรือผมไม่รู้หว่า) และการอัพเดทแอนดรอยด์เวอร์ชันใหม่ก็ไม่ได้หมายความว่าจะอัพเดท Bluetooth เวอร์ชันใหม่นะ แต่ต้องทำมาตั้งแต่โรงงานผลิตแล้ว

Bluetooth 2.0+EDR และ Bluetooth 3.0+HS มันคืออะไร ?
เชื่อว่าทุกๆคนต้องเคยสงสัย เวลาดูพวกสเปคมือถือในหลายๆที่ เห็นชอบเขียนต่อท้ายกันว่า +EDR บ้าง หรือ +HS บ้าง แต่ก็ไม่รู้อยู่ดีว่ามันคืออะไร
EDR ย่อมาจาก Enhanced Data Rate ส่วน HS ก็คือ High-Speed หรือก็คือมีการปรับปรุงความเร็วให้เพิ่มขึ้นนั่นเอง
จากเดิม Bluetooth 2.0 ธรรมดาๆจะมีความเร็วในการรับส่งข้อมูลอยู่ที่ 2.1 Mbps แต่ถ้าเป็น Bluetooth 2.0 +EDR จะมีการปรับปรุงความเร็วให้เพิ่มมากขึ้นเป็น 3 Mbps แทน แต่สำหรับ Bluetooth 3.0 นั้นส่วนมากจะ +HS ทั้งหมด (ก็ยังไม่เห็นตัวไหนที่ไม่มี High-Speed) ซึ่งมีความเร็วที่ 24 Mbps
และถ้าเป็น Bluetooth 4.0 บางทีจะเห็นคำว่า APT-x ต่อท้ายด้วย นั่นก็คือ Bluetooth ตัวนี้รองรับ Audio Codec Compression หรือรูปแบบการเข้ารหัสของข้อมูลเสียงแบบ APT-x นั่นเอง ซึ่งเป็นการเข้ารหัสข้อมูลเสียงที่บริษัท CSR (ผู้ผลิตอุปกรณ์ Bluetooth) คิดค้นขึ้น เพื่อให้สามารถรับส่งข้อมูลเสียงคุณภาพสูงได้โดยส่งข้อมูลผ่าน A2DP เหมือนเดิม (เดิมทีมันรับส่งข้อมูลเสียงแบบคุณภาพสูงไม่ไหว)
bluetooth_with_android_003.jpg
bluetooth_with_android_003.jpg (152.79 KiB) Viewed 688 times
แล้ว Bluetooth 4.0 มีความเร็วเท่าไร ทำไมไม่เห็นพูดถึงกัน?
อย่างที่เล่าไปในตอนแรกว่าเมื่อความเร็วไม่ใช่หัวใจสำคัญของ Bluetooth ดังนั้น Bluetooth 4.0 จึงนำเสนอออกมาในรูปแบบของการประหยัดพลังงานมากกว่า ซึ่งความเร็วในการรับส่งข้อมูลก็คือ 24 Mbps เหมือนกับ Bluetooth 3.0 นั่นแหละ แต่ปรับเปลี่ยนรูปแบบการทำงานให้ประหยัดพลังงานมากขึ้นเพื่อใช้กับใน Smart Device อย่างพวก Wearable Device
bluetooth_with_android_007.jpg
bluetooth_with_android_007.jpg (21.02 KiB) Viewed 688 times
ฟีเจอร์ต่างๆใน Bluetooth ที่ใช้บ่อยๆบนแอนดรอยด์
เรารู้กันอยู่แล้วว่า Bluetooth ไม่ได้มีไว้แค่รับส่งไฟล์ระหว่างเครื่องสองเครื่อง แต่มันยังทำได้มากกว่านั้น ไม่ว่าจะต่อออกลำโพง หรือใช้กับหูฟังไร้สาย หรือแม้แต่รีโมตของไม้เซลฟี่
ดังนั้นใน Bluetooth หนึ่งตัวก็จะประกอบไปด้วย Profile หลายๆแบบด้วยกัน แต่ถ้านึกไม่ออกว่า Profile เป็นยังไง ก็ให้คิดซะว่ามันคือ Feature ละกันนะ
และผู้อ่านก็น่าจะเคยผ่านตากับชื่อเรียกเหล่านี้ของ Bluetooth กันมาบ้างแล้ว ไม่ว่าจะเป็น A2DP, AVRCP, HID หรือ BLE พวกนี้คือ Feature ที่มีอยู่ใน Bluetooth นั่นแหละครับ เพียงแต่ว่าแต่ละ Profile จะถูกใช้งานในคนละด้านแตกต่างกันไป
A2DP (Advanced Audio Distribution Profile) คือ Sound Streaming นั่นเอง เวลาที่คุณซื้อ Bluetooth Speaker /Headset/Earphone มาใช้ เวลาเชื่อมต่อมันจะเชื่อมต่อแบบ A2DP นั่นเอง
AVRCP (Audio/Video Remote Control Profile) คือ Remote Control ยกตัวอย่างเช่น เวลาที่ผมใช้ Bluetooth Headset อยู่ ผมสามารถกดเพิ่ม/ลดเสียง หรือสั่งเล่นเพลงถัดไปได้ จะใช้ Profile ตัวนี้นี่แหละ รวมไปถึงรีโมตจากไม้เซลฟี่ด้วยนะเออ (อะไรที่กดปุ่มสั่งงานผ่าน Bluetooth นั่นแหละ)
HID (Human Interface Device Profile) อันนี้ถ้าคุ้นๆหูกันจะนึกถึง USB มากกว่า แต่จริงๆก็เหมือนกันนั่นแหละ เป็น Profile สำหรับเชื่อมต่อกับอุปกรณ์จำพวก Mouse, Keyboard หรือ Joystick ที่เอาไว้ควบคุมเครื่องผ่าน Bluetooth นั่นเอง เช่น คุณซื้อ Bluetooth Keyboard มาเอาไว้ต่อกับแอนดรอยด์เพื่อพิมพ์งาน มันก็จะเชื่อมต่อผ่าน HID นั่นแหละ
BLE (Bluetooth Low Energy) จริงๆควรเรียกว่า GATT ซะมากกว่า เพราะ GATT คือชื่อ Profile ส่วน BLE คือคำที่ใช้เรียกการทำงานโดยรวม แต่เพื่อความคุ้นหูก็ขอเรียกเป็น BLE ละกัน โดย BLE จะมีไว้สำหรับเชื่อมต่อกับอุปกรณ์จำพวก Wearable Device หรือ Smart Device ที่ใช้พลังงานน้อย เช่น Android Wear, Smartband และอื่นๆ โดยอุปกรณ์พวกนี้มีขนาดเล็กเน้นพกพาติดตัวได้ ทำให้แบตเตอรีมีขนาดเล็ก จึงต้องใช้ BLE เพื่อให้ประหยัดพลังงานมากที่สุดเวลาที่เชื่อมต่อกับอุปกรณ์แอนดรอยด์
bluetooth_with_android_005.png
bluetooth_with_android_005.png (39.88 KiB) Viewed 688 times
ก็มีเท่านี้แหละสำหรับ Profile ที่นิยมใช้กันบนอุปกรณ์แอนดรอยด์ จริงๆแล้วมีเยอะกว่านี้อีกมาก แค่เราไม่ค่อยได้ใช้งานกันซักเท่าไร และ Profile ที่พูดถึง ส่วนใหญ่จะใช้ได้กับแอนดรอยด์ทุกรุ่นที่มี Bluetooth แต่จะมี BLE ที่พิเศษหน่อย (เดี๋ยวเล่าให้ฟังตอนท้ายๆ)

ทำไม Bluetooth Speaker/Headset/Earphone บางตัวเสียงช้า (Delay)
คำถามนี้ก็เป็นคำถามยอดนิยมอีกคำถามหนึ่งเลยก็ว่าได้ พบกันได้บ่อยเวลาซื้อ Bluetooth Speaker หรือ Bluetooth Headset มาใช้แล้วพบว่ามันช้ากว่าที่ควรจะเป็น เช่น ดูหนังบนอุปกรณ์แอนดรอยด์แล้วพบว่าภาพวีดีโอในหนังเรื่องนั้นมันเล่นไปไวกว่าเสียงซะอีก หรือเวลาเล่นเกมต่อสู้ กดโจมตีแล้วพบว่าเสียงที่ได้ยินมันช้าที่เห็นในภาพ
ทั้งนี้ก็เพราะว่าเป็น Bluetooth 2.0 นั่นเอง ลองไปเช็คดูข้างกล่องสิ หรือไม่ก็อุปกรณ์แอนดรอยด์ที่ใช้อยู่เป็นแค่ Bluetooth 2.0 ซึ่งมีความเร็วในการรับส่งข้อมูลน้อย แต่เวลารับส่งข้อมูลจำพวกเสียงมันต้องใช้ความเร็วมากกว่านั้นเพื่อให้มัน Realtime จึงเป็นเรื่องปกติที่เสียงจะดีเลย์ ซึ่งเดิมที Bluetooth 2.0 เน้นฟังเพลงซะมากกว่า เพราะฟังแค่เพลงไม่จำเป็นต้อง Realtime มากนัก
bluetooth_with_android_004.png
ดังนั้นวิธีแก้ไขคือไปหาซื้อตัวที่เป็น Bluetooth 3.0 ซะ ดูว่าอุปกรณ์นั้นรองรับ Bluetooth 3.0 มั้ย และอุปกรณ์แอนดรอยด์ที่ใช้อยู่รองรับ Bluetooth 3.0 ขึ้นไปใช่มั้ย ถ้าใช่ทั้งสองอย่างก็จะไม่เจอปัญหาเรื่องเสียงดีเลย์แต่อย่างใด

Bluetooth Low Energy ที่พึ่งหลักแห่ง Smart Device
BLE เป็นคุณสมบัติที่เพิ่มเข้ามาใน Bluetooth 4.0 นั่นก็หมายความว่าอุปกรณ์แอนดรอยด์ที่ใช้งานได้จะต้องมี Bluetooth 4.0 ด้วย
แต่ก็ยังไม่หมดนะ เพราะว่าต้องเป็น Android 4.3 ขึ้นไปด้วย เนื่องจากแอนดรอยด์เวอร์ชันต่ำกว่า 4.3 ลงไปมันไม่รู้จัก BLE ดังนั้นต่อให้เครื่องเป็น Bluetooth 4.0 แต่ดันเป็น Android 4.2 ก็ใช้ไม่ได้นะ จึงเห็นกันอยู่บ่อยๆว่าทำไมพวกอุปกรณ์ Wearable Device มักจะบอกว่าต้องเป็น Android 4.3 ขึ้นไปและมี Bluetooth 4.0 ขึ้นไปด้วย
bluetooth_with_android_008-001.jpg
bluetooth_with_android_008-001.jpg (251.78 KiB) Viewed 688 times
สำหรับ BLE ถึงแม้จะมีความเร็วในการรับส่งข้อมูลเท่ากับ Bluetooth 3.0 ก็จริง แต่รูปแบบในการทำงานนั้นแตกต่างกันออกไป โดยปกติเวลาที่ Bluetooth 3.0 เชื่อมต่ออยู่มันก็จะทำงานอยู่ตลอดเวลา ซึ่งไม่ว่าอะไรที่มีความเร็วมาก เวลาทำงานมันก็จะใช้พลังงานมากเป็นเรื่องปกติ แต่สำหรับ BLE นั้นไม่ได้ทำงานอยู่ตลอดเวลา แต่จะส่งข้อมูลเป็นช่วงๆแทน ในช่วงเวลาที่ไม่ได้ส่งข้อมูลก็จะอยู่ในสถานะที่กินพลังงานน้อยมาก จึงเป็นที่มาของชื่อ Bluetooth Low Energy นั่นเอง
และใน Bluetooth 4.2 ก็มีการรองรับกับ IoT ที่กำลังเป็นกระแสแล้วด้วย แต่จะใช้งานยังไงก็ต้องดูกันต่อไป

Bluetooth still alive and still be alive
เมื่อก่อนใครๆก็พูดกันว่าหมดยุคของ Bluetooth แล้ว เพราะ WiFi เข้ามาแทนที่ แต่เอาเข้าจริง WiFi กับ Bluetooth ก็ไม่สามารถแทนกันได้ ตราบใดที่ WiFi ยังกินพลังงานกว่า Bluetooth มาก เพราะในปัจจุบันนี้มีอุปกรณ์หลายๆอย่างที่ยังคงใช้ Bluetooth อยู่ เพื่อประหยัดพลังงาน ไม่ต้องการใช้ความเร็วในการรับส่งข้อมูลเยอะ และระยะการเชื่อมต่อไม่ต้องไกลมาก
จึงทำให้ Bluetooth ยังคงถูกใช้งานอยู่เรื่อยๆในทุกวันนี้และในอนาคตนั่นเอง

ขอบคุณบทความดีๆจาก : Droidsans.com
Image

Return to “Mobile Programming - Android, iOS, Window Phone”

Who is online

Users browsing this forum: No registered users and 18 guests