Development

ประสบการณ์ NFC บน Nexus S

ไม่ได้เขียนบทความในเชิงเทคนิคเสียนาน ขอเขียนหน่อยละกันนะ 🙂

เผอิญมีโอกาสได้ทำงานเกี่ยวกับ NFC บน Nexus S ก็เลยมาแบ่งปันประสบการณ์ว่าการที่ทีมแอนดรอยด์บอกว่า Android 2.3 Gingerbread สนับสนุน NFC นั้นมันเป็นอย่างไร

NFC คืออะไร

ก่อนอื่นก็คงขอพูดโดยคร่าวๆก่อนว่า NFC คืออะไร

NFC ย่อมาจาก Near Field Communication หรือการสื่อสารด้วยการจับให้อุปกรณ์มาอยู่ใกล้ๆกัน โดยระยะทำการจะอยู่แค่เพียง 5 ซม. เรียกว่าแทบจะจูบปากกันแล้วทีเดียว โดยอุปกรณ์ทั้งสองจะใช้การเหนี่ยวนำของขดลวดในการสื่อสารซึ่งกันและกัน หากนึกไม่ออกมันก็คือบัตรรถไฟฟ้าที่เราแค่แตะประตูก็เดินเข้าไปได้แล้วนั่นเอง

แต่เจ้าสิ่งที่เราเห็นบนรถไฟฟ้าอันนั้นจริงๆเรียกว่า Proximity หรือถ้าเรียกอีกชื่อหนึ่งที่คนอาจจะคุ้นเคยกว่าคือ RFID (ซึ่งจริงๆแล้วมันคือคนละคำกัน RFID เป็น Proximity แบบหนึ่ง) การทำงานจะต้องมีตัวที่เรียกว่าตัวอ่าน (Reader) และการ์ด (Tag)

ส่วน NFC นั้นก็คล้ายกับ RFID อีกนั่นแหละเพราะเบื้องหลังมันคือ Proximity ตัวหนึ่งและมันสนับสนุนเทคโนโลยี RFID ได้แบบเต็มรูปแบบ เราสามารถใช้ NFC ในการอ่านหรือเขียน RFID ได้ทันที แต่สิ่งที่ NFC เหนือกว่าคือ NFC สามารถปรับเปลี่ยนตัวเองให้เป็น Reader หรือ Tag ก็ได้! ยังผลให้เราสามารถนำมันไปใช้ในการสื่อสารระหว่างกันได้ โดยจะมีอยู่ 3 โหมดการใช้งานที่ใช้กันคือ

1) ทำตัวเป็น Reader
2) แปลงร่างเป็น Tag
3) คุยกันแบบ P2P

ไม่ได้เขียนบทความในเชิงเทคนิคเสียนาน ขอเขียนหน่อยละกันนะ 🙂

เผอิญมีโอกาสได้ทำงานเกี่ยวกับ NFC บน Nexus S ก็เลยมาแบ่งปันประสบการณ์ว่าการที่ทีมแอนดรอยด์บอกว่า Android 2.3 Gingerbread สนับสนุน NFC นั้นมันเป็นอย่างไร

NFC คืออะไร

ก่อนอื่นก็คงขอพูดโดยคร่าวๆก่อนว่า NFC คืออะไร

NFC ย่อมาจาก Near Field Communication หรือการสื่อสารด้วยการจับให้อุปกรณ์มาอยู่ใกล้ๆกัน โดยระยะทำการจะอยู่แค่เพียง 5 ซม. เรียกว่าแทบจะจูบปากกันแล้วทีเดียว โดยอุปกรณ์ทั้งสองจะใช้การเหนี่ยวนำของขดลวดในการสื่อสารซึ่งกันและกัน หากนึกไม่ออกมันก็คือบัตรรถไฟฟ้าที่เราแค่แตะประตูก็เดินเข้าไปได้แล้วนั่นเอง

แต่เจ้าสิ่งที่เราเห็นบนรถไฟฟ้าอันนั้นจริงๆเรียกว่า Proximity หรือถ้าเรียกอีกชื่อหนึ่งที่คนอาจจะคุ้นเคยกว่าคือ RFID (ซึ่งจริงๆแล้วมันคือคนละคำกัน RFID เป็น Proximity แบบหนึ่ง) การทำงานจะต้องมีตัวที่เรียกว่าตัวอ่าน (Reader) และการ์ด (Tag)

ส่วน NFC นั้นก็คล้ายกับ RFID อีกนั่นแหละเพราะเบื้องหลังมันคือ Proximity ตัวหนึ่งและมันสนับสนุนเทคโนโลยี RFID ได้แบบเต็มรูปแบบ เราสามารถใช้ NFC ในการอ่านหรือเขียน RFID ได้ทันที แต่สิ่งที่ NFC เหนือกว่าคือ NFC สามารถปรับเปลี่ยนตัวเองให้เป็น Reader หรือ Tag ก็ได้! ยังผลให้เราสามารถนำมันไปใช้ในการสื่อสารระหว่างกันได้ โดยจะมีอยู่ 3 โหมดการใช้งานที่ใช้กันคือ

1) ทำตัวเป็น Reader
2) แปลงร่างเป็น Tag
3) คุยกันแบบ P2P


Android 2.3 พร้อมสนับสนุน NFC มันเป็นอย่างไรกัน!?!

ตอนแรกก็ไม่เข้าใจว่ามันสนับสนุนยังไงกัน ก็เลยมาลองเล่นเอง ปรากฎว่ามันทำงานเป็น Intent ตัวนึง …. แบบนี้!

เราสามารถสั่งเปิดปิด NFC ได้เหมือนที่ทำกับ WiFi และ Bluetooth

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

และเมื่อมี Tag มาเข้าใกล้ ระบบก็ยิง Intent ที่ชื่อว่า android.nfc.action.TAG_DISCOVEREDg ออกมา จากนั้นโปรแกรมทั้งหลายที่เรียกดัก Intent ไว้ก็จะเสนอหน้าออกมาให้เลือก

ซึ่งตรงนี้มันก็เหมือนกับว่าเราจะสั่งเปิดเว็บ ถ้าเราลงโปรแกรมไว้หลายตัว มันก็จะเด้งให้เลือกว่าจะเปิดเว็บด้วยโปรแกรมอะไร

เมื่อเราเลือกโปรแกรมเสร็จ ก็สามารถนำ ID และข้อมูลในการ์ดไปใช้งานต่อได้ทันทีในฟังก์ชั่น resolveIntent(…)

ตรงนี้จะเห็นความไม่สะดวกของการใช้งานเกิดขึ้นแล้ว เพราะสิ่งที่แอนดรอยด์วาง NFC ไว้คือการยิง Intent ออกมาให้โปรแกรมต่างๆรับไป แต่มันเป็นไปไม่ได้เลยที่ทุก Service ที่เกิดจาก NFC จะรวมอยู่ในโปรแกรมเดียวกัน ดังนั้นจึงไม่สามารถเลือกโปรแกรมใดโปรแกรมหนึ่งเป็น Default Application ได้ในการใช้งานจริง

สรุปคือการใช้งานจะต้อง (1) เปิด NFC (2) แตะบัตร (3) เลือกโปรแกรมที่จะเปิด … ซึ่งไม่สะดวกเอาเลยหละจริงๆแล้ว

ข้อดีและข้อเสียของ NFC

ข้อดี
– อ่านทะลุวัสดุหลายๆชนิดได้เช่นกระจก(บางๆ) หรือเนื้อคน
– การตรวจจับและเริ่มต้นเชื่อมต่อทำได้เร็วมาก
– ใช้ในที่มืดได้
– นำไปใช้แทนระบบ RFID ที่มีอยู่ในชีวิตประจำวันได้ … ตามหลักการแล้วเราสามารถเปลี่ยนมือถือของเราเป็นบัตรรถไฟฟ้าได้ทันที (แต่ไม่ใช่แบบข่าวใน DroidSans ที่เพิ่งเขียนไปนะ!)
– อายุการใช้งานยืนยาว อายุขัยค่อนข้างสูง

ข้อเสีย
– ใช้อ่านทะลุโลหะไม่ได้
– นำ Tag ไปวางไว้บนโลหะจะอ่านไม่ได้
– ความเร็วในการรับส่งข้อมูลยังไม่สูงมากนัก
– ต้นทุนสูงกว่า Barcode และ 2D Barcode (มากกกกก)
– ต้องพึ่งพา Hardware พิเศษ ต่างกับ 2D Barcode ที่ใช้กล้องมือถือธรรมดาๆได้เลย

การประยุกต์ใช้ NFC

เอาวีดีโอบางตัวมาให้ดูกันจะได้เกิดแรงบันดาลใจ ^_^

ตัวแรกเป็นของโนเกีย ทำเอาไว้เมื่อ 2 ปีที่แล้ว อธิบายถึงการใช้งานของ NFC บนมือถือของตนว่าจะเปลี่ยนโลกได้อย่างไรบ้าง

อันนี้เป็นวีดีโอสดๆใหม่ๆ เมื่อมีโรงแรมหัวใสพัฒนาระบบ Check-in โรงแรมตั้งแต่เราอยู่ที่สนามบิน เมื่อถึงโรงแรมเราสามารถนำมือถือไปเปิดประตูห้องได้ทันที!

ความคิดเห็นส่วนตัวเกียวกับ NFC

ทั้งนี้ทั้งนั้น NFC ไม่ใช่เทคโนโลยีใหม่เลย หากแต่เป็นเทคโนโลยีที่โนเกียเคยทำมาแล้วเมื่อ 4-5 ปีที่แล้ว จนถึงตอนนี้มีเป็นสิบรุ่นที่มี NFC แต่… NFC ก็ไม่เกิด คงเพราะว่า Target ของ Nokia User ต่างออกไปและไม่คิดที่จะใช้อะไรพวกนี้ แต่พอ Nexus S ประกาศตัวมาว่าสนับสนุนปุ๊บ ก็เริ่มเห็นวี่แววของอนาคตลางๆแล้วหละ ^_^ และยิ่งได้ยินแว่วๆว่า iPhone 5 ก็จะสนับสนุน ดังนั้น … NFC … มาแน่ 😀

อย่างไรก็ตาม NFC ยังต้องพึ่งพา Hardware โดยเฉพาะในการใช้งาน จึงเกิดเป็นคำถามว่า ดังนั้นเทคโนโลยีนี้จะเกิดหรือไม่ก็ขึ้นอยู่กับผู้ผลิตโทรศัพท์มือถือเป็นส่วนใหญ่ หากสุดท้าย Device ยังไม่สามารถเข้าถึงคนส่วนใหญ่ได้ เทคโนโลยีนี้ก็ยากนักที่จะเกิดในวงกว้าง

Resource ที่น่าสนใจสำหรับนักพัฒนา

1. ใน SDK ที่โหลดมา ค้นหาตัวอย่างที่ชื่อว่า NFCDemo ตัวนี้เหมาะกับการเริ่มต้นมาก

2. สำหรับการต่อยอด ดูมาหลายเว็บแล้วพบว่าเว็บนี้เวอร์คที่สุด ไปอ่านกันได้เลย http://programming-android.labs.oreilly.com/ch18.html

อย่างไรก็ตามมันจะมีเรื่ององค์ความรู้เกี่ยวกับ RFID หลายประการที่อาจจะต้องศึกษากันเพิ่มอีก อันนี้ก็ลองหาอ่านหาลองกันดูครับ ซับซ้อนนิดหน่อยแต่ก็ไม่ได้ยากเกินความสามารถแน่นอน ^_^

24 Comments

  1. sukhum111

    sukhum111 Post on January 26, 2011 at 10:42 pm

    #74610

    ความรู้ดีๆ จากนักพัฒนาดีๆ แบบนี้

    เยี่ยม!!!!!

  2. llPor_Zall

    llPor_Zall Post on January 26, 2011 at 10:47 pm

    #74614

    ว่ะว๊าวววขอบคุณสำหรับข้อมูลดีๆครับ
    เบื่อกับ RFID เเล้วมาเล่นอันนี้ดูบ้างดีกว่า

  3. octopatr

    bluemoko Post on January 26, 2011 at 10:49 pm

    #74616

    NFC = nuuneoi fan club

    • pbr400r

      pbr400r Post on January 26, 2011 at 11:11 pm

      #74635

      เค้านี่ไง ตัว คนหนึ่ง NFC

    • supagarn

      supagarn Post on January 26, 2011 at 11:13 pm

      #74638

      อีกหน่อย Meeting ต้องทำป้ายไฟด้วยมั้ยครับ

    • nuuneoi Post on January 27, 2011 at 12:17 am

      #74689

      กรี้ดดดด

    • DonPinyone

      DonPinyone Post on January 27, 2011 at 1:43 am

      #74738

      ฮา 1 จึ๊ก

  4. dahoba

    dahoba Post on January 26, 2011 at 10:50 pm

    #74618

    +Like

  5. squareroot

    squareroot Post on January 26, 2011 at 10:55 pm

    #74623

    แบบนี้ เราก็สามารถก๊อบ RFID มาเก็บไว้ในเครื่องเราได้เลยหรอครับ ?

    อนาคตเร็ว ๆ นี้ได้มีการ hack rfid แน่ ๆ เลย ฮ่าๆ

  6. neungs

    neungs Post on January 26, 2011 at 11:14 pm

    #74639

    เข้ามาฮา กับ noonoei fan club อิอิ

  7. k0ng

    k0ng Post on January 26, 2011 at 11:43 pm

    #74664

    ถ้าอ่านและเขียนได้ แสดงว่า NFC นำมา re-use ได้ใช่หรือเปล่า?

    • nuuneoi Post on January 27, 2011 at 12:16 am

      #74687

      ถ้าหมายถึง Tag ก็ได้งับ ด้านในเป็น EEPROM

      แต่ถ้าหมายถึงตัว NFC เลย มันปรับเปลี่ยนตัวเองเป็น Tag ที่ส่งค่าได้ตามใจได้เลย

  8. Thanapanp Post on January 27, 2011 at 12:50 am

    #74710

    ไม่เข้าใจตรง P2P อ่ะครับ ในเมื่อมันต้องใช้การเหนี่ยวนำของขดลวดในการสื่อสารซึ่งกันและกัน ต้องวางไว้ใกล้กัน พูดคุยกันตรงนั้นไม่ได้เหรอครับ LOL

    • wasanchai Post on January 27, 2011 at 1:58 am

      #74743

      ก็น่าจะเอาใว้ส่งข้อมูลครับ ไม่ได้พูด

  9. wasanchai Post on January 27, 2011 at 2:00 am

    #74745

    คือว่าเคยเขียนโปรแกรมกับ contactless smartcard ใช้ chip (Mifare ISO14443 A) มา เห็น ISO ตัวเดียวกันเลย
    ไม่รู้มันจะอ่านด้วยกันได้ป่าว ใครรู้ช่วยตอบทีครับ ขอบคุณครับ

    • nuuneoi Post on January 27, 2011 at 2:27 am

      #74759

      ได้ครับ ทดสอบเรียบร้อย

  10. rtsp

    rtsp Post on January 27, 2011 at 2:22 am

    #74755

    แหล่ม ก้อปบัตรกันสนุก

  11. Tulyavee

    Tulyavee Post on January 27, 2011 at 6:36 am

    #74845

    ถ้ามือถือหายคงแย่แน่เลย

  12. sixsaxboy Post on January 27, 2011 at 5:18 pm

    #74989

    ยอดครับผม แต่ผมกลัวเรื่องความปลอดภัยอุ่ะครับ
    มันอาจจะเป็นเหมือนดาบสองคมได้เหมือนพวกบัตรเครดิตอ่ะ

  13. dudex Post on January 27, 2011 at 6:10 pm

    #75014

    สัปดาห์ที่แล้วเห็นออกรายการ เช้าข่าวข้น ด้วยนี่ครับ

  14. napalm.potter Post on January 27, 2011 at 8:54 pm

    #75067

    นึกว่าแบบ NFC ใช้ขึ้นรถไฟฟ้าในกระทู้แถวๆนี้

  15. breambeem Post on January 28, 2011 at 3:18 am

    #75286

    ชอบตัวที่ใช้ขึ้นรถไฟฟ้า กว่า =]

  16. zelicker

    zelicker Post on March 22, 2011 at 12:40 am

    #109906

    เจ๋งเลยคับ

Leave a Reply

To Top