NFC (Near Field Communication) คือเทคโนโลยีการสื่อสารไร้สายระยะสั้นที่ช่วยให้สามารถแลกเปลี่ยนข้อมูลระหว่างอุปกรณ์ในระยะสูงสุด 10 เซนติเมตร NFC ถูกใช้ในโทรศัพท์มือถือสำหรับการชำระเงินแบบไร้สัมผัส การถ่ายโอนไฟล์ และการอ่านแท็ก ตามรายงานของ Grand View Research, 2025 ตลาดชิป NFC มีมูลค่าถึง 34.5 พันล้านดอลลาร์ เนื่องจากการนำ NFC มาใช้อย่างแพร่หลายในสมาร์ตโฟนและโครงสร้างพื้นฐานการชำระเงินทั่วโลก
ประเด็นสำคัญ
NFC (Near Field Communication) คือมาตรฐานการส่งข้อมูลไร้สายระยะสั้นที่ทำงานที่ความถี่ 13.56 MHz เทคโนโลยีนี้มีพื้นฐานมาจาก RFID (การระบุความถี่วิทยุ) และสามารถทำงานร่วมกับ ISO 14444 ซึ่งเป็นมาตรฐานสำหรับสมาร์ตการ์ดแบบไร้สัมผัสได้ ความเร็วในการถ่ายโอนข้อมูลคือ 106, 212 หรือ 424 kbps ขึ้นอยู่กับโหมดที่เลือก
แตกต่างจาก Bluetooth ตรงที่ NFC ไม่ต้องมีขั้นตอนการจับคู่ — อุปกรณ์จะแลกเปลี่ยนข้อมูลทันทีเมื่อนำมาใกล้กัน ระยะการสื่อสารสูงสุดคือ 10 ซม. ซึ่งให้การป้องกันตามธรรมชาติจากการสกัดกั้น ตามข้อมูลของ NFC Forum เทคโนโลยีนี้รองรับโดยอุปกรณ์มากกว่า 3 พันล้านเครื่องทั่วโลก และจำนวนนี้เพิ่มขึ้น 15–20% ต่อปี
มาตรฐาน NFC ได้รับการพัฒนาโดย NFC Forum ซึ่งเป็นกลุ่มที่ก่อตั้งโดย Sony, Philips และ Nokia ในปี 2004 โทรศัพท์เครื่องแรกที่มี NFC (Nokia 6131) วางจำหน่ายในปี 2006 แต่การนำมาใช้อย่างแพร่หลายเริ่มขึ้นหลังจากการเปิดตัว Android 4.0 (Ice Cream Sandwich) ในปี 2011 และการเปิดตัว Apple Pay ในปี 2014 ปัจจุบัน สมาร์ตโฟนเกือบทั้งหมดที่มีราคาสูงกว่า 150 ดอลลาร์ รองรับ NFC
คอนโทรลเลอร์ NFC ในสมาร์ตโฟนรองรับสามโหมดการทำงาน แต่ละโหมดออกแบบมาสำหรับงานประเภทของตัวเอง การสลับระหว่างโหมดเกิดขึ้นโดยอัตโนมัติขึ้นอยู่กับประเภทของอุปกรณ์ที่โต้ตอบ
ในโหมดนี้ โทรศัพท์ทำหน้าที่เป็นเครื่องอ่านแท็ก NFC แบบแอคทีฟ เมื่อนำเข้าใกล้แท็ก NFC — สติกเกอร์ กำไลข้อมือ หรือโปสเตอร์ — โทรศัพท์จะอ่านข้อมูลจากหน่วยความจำของแท็ก แท็กประกอบด้วยหน่วยความจำตั้งแต่ 48 ไบต์ถึง 32 KB และเก็บ URL ข้อความ หรือคำสั่ง Android Beam (ถูกแทนที่ด้วย Nearby Share) ใช้โหมดนี้เพื่อถ่ายโอนลิงก์และรายชื่อติดต่อ
อุปกรณ์ NFC สองเครื่องแลกเปลี่ยนข้อมูลโดยตรง อุปกรณ์หนึ่งทำหน้าที่เป็นผู้เริ่มต้น อีกเครื่องเป็นเป้าหมาย มาตรฐาน LLCP (Logical Link Control Protocol) จัดการการเชื่อมต่อ และ SNEP (Simple NDEF Exchange Protocol) จัดการรูปแบบข้อมูล โหมด P2P ใช้สำหรับการถ่ายโอนรายชื่อติดต่อ ลิงก์อย่างรวดเร็ว หรือการเริ่มจับคู่ Bluetooth ความเร็ว ในโหมด P2P สูงถึง 424 kbps
โทรศัพท์จำลองสมาร์ตการ์ดแบบไร้สัมผัส — บัตรชำระเงิน บัตรโดยสาร หรือบัตรผ่านเข้าใช้งาน อุปกรณ์ NFC ภายนอก (เครื่อง POS, ประตูหมุน) โต้ตอบกับโทรศัพท์เช่นเดียวกับบัตรพลาสติกทั่วไป โหมดนี้ใช้ใน Apple Pay, Google Pay และ Samsung Pay ความปลอดภัยของการชำระเงินได้รับการรับรองโดย Secure Element — ชิปที่แยกออกมาซึ่งเก็บข้อมูลบัตรชำระเงิน
| โหมด | ตัวอย่างการใช้งาน | ต้องใช้ Secure Element |
|---|---|---|
| Reader/Writer | อ่านแท็ก NFC ที่มี URL | ไม่ |
| Peer-to-Peer | ถ่ายโอนรายชื่อระหว่างโทรศัพท์ | ไม่ |
| Card Emulation | ชำระเงินผ่าน Google Pay | ใช่ |
NFC และ Bluetooth LE (พลังงานต่ำ) เป็นเทคโนโลยีการสื่อสารระยะสั้นสองชนิดที่มักถูกเปรียบเทียบ NFC ดีกว่าในด้านความเร็วในการสร้างการเชื่อมต่อ (0.1 วินาที) และไม่ต้องจับคู่ แต่ด้อยกว่าในด้านความเร็วในการถ่ายโอนข้อมูลและระยะ Bluetooth LE ต้องจับคู่ (2–5 วินาที) แต่ให้ความเร็วสูงถึง 2 Mbps และระยะสูงถึง 100 เมตร
ในทางปฏิบัติ NFC และ Bluetooth ไม่ได้แข่งขันแต่เสริมซึ่งกันและกัน NFC ใช้สำหรับการเริ่มต้นการเชื่อมต่อ (handover): เพียงนำโทรศัพท์เข้าใกล้อุปกรณ์เพื่อให้ NFC ส่งพารามิเตอร์การเชื่อมต่อ Bluetooth (NFC Bluetooth Handover) หลังจากนั้น อุปกรณ์จะสลับไปใช้ Bluetooth สำหรับการถ่ายโอนไฟล์หรือสตรีมเสียงที่รวดเร็ว
โมดูล NFC ของสมาร์ตโฟนประกอบด้วยสามองค์ประกอบ: คอนโทรลเลอร์ NFC เสาอากาศ NFC และ Secure Element (สำหรับการทำงานที่ปลอดภัย) คอนโทรลเลอร์ NFC คือชิปแยกต่างหากหรือส่วนหนึ่งของโมดูลการสื่อสารแบบรวม (NFC + Bluetooth + Wi-Fi เช่น WCN3990 จาก Qualcomm) มันจัดการอินเทอร์เฟซวิทยุและโปรโตคอลการแลกเปลี่ยน
เสาอากาศ NFC คือขดลวดพิมพ์บนวัสดุพิมพ์ที่ยืดหยุ่น (FPC) หรือบนเคสแบตเตอรี่ ขนาดเสาอากาศคือ 20×30 มม. จำนวนรอบคือ 3–5 เสาอากาศเชื่อมต่อกับคอนโทรลเลอร์ผ่านวงจรจับคู่ที่ปรับจูนที่ ความถี่ 13.56 MHz ตามข้อมูลของ NXP Semiconductors การทำงานของเสาอากาศอย่างมีประสิทธิภาพต้องคำนวณค่าความเหนี่ยวนำและปัจจัยคุณภาพอย่างแม่นยำ
Secure Element (eSE) คือชิปเข้ารหัสแยกต่างหาก (NXP P71, Samsung S3K) หรือพื้นที่แยกใน SoC (iSE — Secure Element แบบรวม) มันเก็บข้อมูลบัตรชำระเงินและดำเนินการเข้ารหัสสำหรับ HCE (Host Card Emulation) Secure Element ถูกแยกจาก Android/iOS: มีเพียงคอนโทรลเลอร์ NFC เท่านั้นที่สามารถเข้าถึงได้ผ่าน คำสั่ง APDU บนบัส SWP (Single Wire Protocol)
// ตัวอย่างคำสั่ง APDU สำหรับการโต้ตอบกับ Secure Element
const uint8_t SELECT_APDU[] = {
0x00, 0xA4, 0x04, 0x00, // CLA, INS, P1, P2
0x07, // ความยาวข้อมูล (7 ไบต์)
0xA0, 0x00, 0x00, 0x00, // RID — ลงทะเบียนแล้ว
0x03, 0x10, 0x10, // PIX — ตัวระบุแอปพลิเคชัน
0x00 // Le — ความยาวการตอบสนองที่คาดหวัง
};
// ส่งคำสั่งผ่านคอนโทรลเลอร์ NFC ไปยัง Secure Element
NfcStatus nfcStatus = sendApdu(SELECT_APDU, sizeof(SELECT_APDU));
NFC ในโทรศัพท์ ถูกใช้ในสี่สถานการณ์หลัก: การชำระเงินแบบไร้สัมผัส การเดินทาง การเข้าถึงวัตถุ และการทำงานอัตโนมัติ การใช้งานที่แพร่หลายที่สุดคือระบบการชำระเงิน: Apple Pay, Google Pay และ Samsung Pay พวกเขาใช้โหมดจำลองบัตรกับ HCE (Host Card Emulation) หรือ Secure Element เพื่อจำลองบัตรธนาคาร
ระบบการเดินทางทั่วโลก (รถไฟใต้ดินมอสโก, London Tube, New York MTA) รองรับการชำระเงิน NFC ผ่านกระเป๋าเงินมือถือ ในญี่ปุ่น เทคโนโลยี FeliCa (Sony) ที่ใช้ NFC ถูกใช้สำหรับการเดินทาง การช้อปปิ้ง และการเข้าถึงสำนักงานตั้งแต่ปี 2004 สมาร์ตโฟนที่มีชิป FeliCa เช่น iPhone สำหรับตลาดญี่ปุ่น รองรับ Suica และ PASMO
แท็ก NFC ช่วยให้สามารถทำงานอัตโนมัติในสถานการณ์ “บ้านอัจฉริยะ”: นำโทรศัพท์ไปใกล้แท็กข้างเตียง — ปลุกจะเปิดและการแจ้งเตือนจะปิด บน Android สิ่งนี้ทำผ่าน Android Beam / NFC Tools บน iOS — ผ่าน Shortcuts และทริกเกอร์ NFC สมาร์ตโฟนบางรุ่นยังใช้ NFC สำหรับ การชาร์จเร็ว — มาตรฐาน Qi ใช้ NFC เพื่อระบุเครื่องชาร์จ
Android มี API สำหรับการประมวลผลแท็ก NFC ผ่าน Intent System เมื่อนำแท็กเข้าใกล้โทรศัพท์ ระบบจะสร้าง intent พร้อมแท็ก และแอปพลิเคชันจะรับข้อมูลในรูปแบบ NDEF (NFC Data Exchange Format) ด้านล่างเป็นตัวอย่างของ Activity ที่อ่าน URL หรือข้อความจากแท็ก NFC
class NfcReaderActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_nfc)
handleNfcIntent(intent)
}
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
handleNfcIntent(intent)
}
private fun handleNfcIntent(intent: Intent) {
if (intent.action == NfcAdapter.ACTION_NDEF_DISCOVERED) {
val rawMessages = intent
.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)
rawMessages?.forEach { rawMsg ->
val msg = rawMsg as NdefMessage
msg.records.forEach { record ->
val payload = String(record.payload)
println("NFC data: $payload")
}
}
}
}
}
ในการทำงานกับ NFC ต้องประกาศสิทธิ์ android.permission.NFC ใน manifest และกำหนดค่า intent-filter สำหรับ ACTION_NDEF_DISCOVERED, ACTION_TECH_DISCOVERED หรือ ACTION_TAG_DISCOVERED Android จะกรองแท็ก NFC โดยอัตโนมัติตามประเภทระเบียน NDEF — ซึ่งช่วยให้แอปพลิเคชันตอบสนองต่อแท็กที่มีประเภท MIME หรือคำนำหน้า URL ที่เฉพาะเจาะจงเท่านั้น โปรดทราบว่าเสาอากาศ NFC มักจะอยู่ที่ส่วนบนของแผงด้านหลังของโทรศัพท์ — ในการอ่านแท็ก ให้นำส่วนบนของโทรศัพท์เข้าใกล้แท็ก
คำถามที่พบบ่อย
ใช่ สำหรับการชำระเงินแบบไร้สัมผัส NFC ต้องเปิดอยู่ในการตั้งค่าโทรศัพท์ Google Pay จะเปิดใช้งาน NFC โดยอัตโนมัติเมื่อเข้าใกล้เครื่องชำระเงิน แม้ว่าหน้าจอจะปิดอยู่ (บนอุปกรณ์ที่ใช้ Android 10+ และติดตั้ง Google Wallet) สำหรับ Apple Pay NFC จะเปิดโดยอัตโนมัติและไม่ต้องเปิดใช้งานด้วยตนเอง
ระยะมาตรฐานของ NFC สูงสุด 10 เซนติเมตร ในทางปฏิบัติ เพื่อการเชื่อมต่อที่เชื่อถือได้ ควรนำโทรศัพท์เข้าใกล้เครื่องอ่านในระยะ 2–4 ซม. ระยะที่สั้นกว่าทำให้ NFC ปลอดภัยกว่า Bluetooth — ผู้โจมตีไม่สามารถอ่านข้อมูลจากระยะไกลได้
ในทางทฤษฎี แท็ก NFC อาจมีลิงก์ไปยังเว็บไซต์ที่เป็นอันตราย แต่ต้องอาศัยการกระทำของผู้ใช้ — การคลิกลิงก์ การติดเชื้ออัตโนมัติ ผ่าน NFC เป็นไปไม่ได้เนื่องจากเทคโนโลยีไม่สนับสนุนการเรียกใช้โค้ดหรือการติดตั้งไฟล์โดยไม่ได้รับการยืนยัน ระบบปฏิบัติการ Android และ iOS บล็อกการดำเนินการ NFC ที่อาจเป็นอันตราย
บน Android: เปิด การตั้งค่า → การเชื่อมต่อ → NFC (หรือค้นหา “NFC” ในการตั้งค่า) บน iPhone: ทุกรุ่นตั้งแต่ iPhone 6 ขึ้นไปรองรับ NFC ผู้ผลิตบางรายทำเครื่องหมายเคสหรือกล่องด้วยสัญลักษณ์ NFC คุณสามารถใช้แอป NFC Check จาก Play Market เพื่อวินิจฉัยได้
NFC ใช้พลังงานเฉพาะในโหมดแอคทีฟ — ระหว่างการส่งข้อมูล ในโหมดสแตนด์บาย คอนโทรลเลอร์ NFC แทบไม่ใช้พลังงาน (0.01 mA) การเปิด NFC ไว้ไม่ส่งผลต่ออายุแบตเตอรี่ของโทรศัพท์ สิ่งนี้แตกต่างจาก Bluetooth ซึ่งใช้พลังงานแม้ในโหมดสแตนด์บาย
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ
อ่านเพิ่มเติม