Bluetooth และ BLE: คืออะไร ความแตกต่างระหว่าง Classic และ Low Energy และทำงานอย่างไร

ผู้แต่ง: IT Sectr เผยแพร่เมื่อ: 2026-03-24 เวลาอ่าน: 12 นาที

Bluetooth และ Bluetooth Low Energy เป็นมาตรฐานการสื่อสารไร้สายสำหรับการส่งข้อมูลในระยะใกล้ Bluetooth Classic (BR/EDR) ให้ช่องทางการสตรีมที่เสถียรสำหรับเสียงและไฟล์ ในขณะที่ BLE ได้รับการปรับให้เหมาะสมสำหรับการทำงานที่ประหยัดพลังงานกับเซ็นเซอร์และอุปกรณ์ต่อพ่วง ตามข้อมูลของ Bluetooth SIG, 2025 มีการจัดส่งอุปกรณ์ที่รองรับ BLE มากกว่า 5 พันล้าน เครื่องต่อปี — มาตรฐานนี้ได้กลายเป็นรากฐานของ IoT อิเล็กทรอนิกส์สวมใส่ได้ และอุปกรณ์เสริมมือถือ

ประเด็นสำคัญ

  • Bluetooth Classic — มาตรฐาน BR/EDR สำหรับการส่งเสียงและข้อมูลอย่างต่อเนื่องด้วยความเร็วสูงสุด 3 Mbit/s และการใช้พลังงาน 10–30 mA
  • Bluetooth Low Energy — โปรโตคอลสำหรับการส่งข้อมูลปริมาณน้อยเป็นระยะ ๆ ด้วยกระแสสูงสุด 5–15 mA และอายุการใช้งานแบตเตอรี่นานถึงหลายปี
  • โปรไฟล์ GATT — โมเดลไคลเอ็นต์-เซิร์ฟเวอร์แบบรวมที่กำหนดว่าแอปมือถืออ่านคุณลักษณะของอุปกรณ์ต่อพ่วงอย่างไร
  • Advertising — กลไกที่อุปกรณ์ BLE ส่งแพ็กเก็ตบีคอนเป็นระยะเพื่อให้ถูกค้นพบโดยอุปกรณ์ศูนย์กลาง (สมาร์ทโฟน)
  • iOS และ Android — แพลตฟอร์มใช้ API ที่แตกต่างกัน (Core Bluetooth และ android.bluetooth) แต่ทั้งคู่รองรับ GATT — โค้ดสามารถพกพาได้ด้วยการเปลี่ยนแปลงเพียงเล็กน้อย

Bluetooth และ BLE คืออะไร?

Bluetooth เป็นมาตรฐานเครือข่ายส่วนบุคคลไร้สาย (WPAN) ที่ทำงานในย่าน ISM 2.4 GHz ออกแบบมาสำหรับการสื่อสารระหว่างอุปกรณ์ในระยะสูงสุด 100 เมตร ข้อกำหนด IEEE 802.15.1 กำหนดเลเยอร์ทางกายภาพและ MAC ในขณะที่สแต็ก Bluetooth SIG กำหนดโปรไฟล์ระดับสูงสำหรับสถานการณ์เฉพาะ: หูฟังเสียง (HSP), การถ่ายโอนไฟล์ (OPP), การป้อนข้อมูลจากแป้นพิมพ์ (HID)

มาตรฐานนี้แบ่งออกเป็นสองสาขาตั้งแต่เวอร์ชัน 4.0 (2010): Bluetooth Classic (BR/EDR — Basic Rate / Enhanced Data Rate) และ Bluetooth Low Energy (BLE, เดิมชื่อ Bluetooth Smart) Classic ออกแบบมาสำหรับสตรีมต่อเนื่อง — สายเสียง, เพลง, ไฟล์ BLE ถูกสร้างขึ้นสำหรับแอปพลิเคชันที่ข้อมูลถูกส่งในแพ็กเก็ตสั้น ๆ โดยมีการหยุดชั่วคราวหลายสิบวินาทีหรือนาที — เครื่องวัดอัตราการเต้นของหัวใจ, แท็ก, เซ็นเซอร์อุณหภูมิ

ตามข้อมูลของ Bluetooth SIG (2025) สมาร์ทโฟนใหม่ 99% รองรับทั้งสองเวอร์ชัน และระบบนิเวศ BLE มีโปรไฟล์มากกว่า 15 ประเภทตั้งแต่ Blood Pressure ถึง Environmental Sensing

Bluetooth Classic เทียบกับ BLE: การเปรียบเทียบ

การเลือกระหว่าง Classic และ BLE ขึ้นอยู่กับสถานการณ์: สำหรับการสตรีมเสียงมีเพียง Classic เท่านั้นที่เหมาะสม สำหรับการสอบถามเซ็นเซอร์ชั่วโมงละครั้ง — มีเพียง BLE เท่านั้น BR/EDR ใช้ 79 ช่องสัญญาณโดยเว้นระยะ 1 MHz และการกระโดดความถี่แบบปรับได้ (AFH) ให้ความต้านทานต่อสัญญาณรบกวน Wi-Fi

พารามิเตอร์Bluetooth Classic (BR/EDR)Bluetooth Low Energy (BLE)
อัตราข้อมูล1–3 Mbit/s (EDR)125 kbit/s – 2 Mbit/s (LE 2M PHY)
กระแสสูงสุด10–30 mA5–15 mA
เวลาออกอากาศ~100 ms~3 ms
โทโพโลยีPiconet (1 มาสเตอร์, ทาสสูงสุด 7 ตัว)Broadcaster / Observer / Peripheral / Central
โปรไฟล์HFP, A2DP, HSP, SPP, OPPแบบ GATT (HRS, BLS, CTS ฯลฯ)
อุปกรณ์ทั่วไปหูฟัง, ลำโพง, ชุดแฮนด์ฟรีรถยนต์สายรัดข้อมือเพื่อสุขภาพ, แท็ก, เครื่องวัดอัตราการเต้นของหัวใจ, เซ็นเซอร์ IoT
ความเข้ากันได้ไม่เข้ากันกับ BLE ในระดับกายภาพชิปแบบดูอัลโหมดรองรับทั้งสองสแต็ก

BLE 5.x เพิ่ม LE Coded PHY เพื่อเพิ่มระยะสูงสุด 1 กม. (ในพื้นที่เปิด) และ LE Audio พร้อมตัวแปลงสัญญาณ LC3 — เวอร์ชันใหม่กำลังค่อย ๆ ทำให้ขอบเขตระหว่าง Classic และ BLE สำหรับสถานการณ์เสียงไม่ชัดเจน

สถาปัตยกรรม BLE: คอนโทรลเลอร์ โฮสต์ และแอปพลิเคชัน

สแต็ก BLE แบ่งออกเป็นสามเลเยอร์: คอนโทรลเลอร์ (Controller) (เลเยอร์ทางกายภาพและลิงก์), โฮสต์ (Host) (L2CAP, ATT, GATT, ตัวจัดการความปลอดภัย), และ แอปพลิเคชัน (Application) (การใช้งานโปรไฟล์ในแอป) การแยกนี้ช่วยให้ผู้ผลิตชิปสามารถติดตั้งคอนโทรลเลอร์ในเฟิร์มแวร์ ในขณะที่นักพัฒนาแอปมือถือทำงานเฉพาะกับนามธรรม GATT

เลเยอร์ลิงก์ (LL) จัดการเวลาออกอากาศ: อุปกรณ์สลับระหว่างสถานะ Standby, Advertising, Scanning, Initiating และ Connection ในสถานะ Connected, Central และ Peripheral ตกลงกันเรื่องช่วงเวลาการเชื่อมต่อ — ความถี่ในการแลกเปลี่ยนแพ็กเก็ตข้อมูล ช่วงเวลาทั่วไปคือ 7.5–1000 ms ยิ่งการแลกเปลี่ยนบ่อยเท่าไร ปริมาณงานก็ยิ่งสูงขึ้นและการใช้พลังงานก็มากขึ้นเท่านั้น

ตัวจัดการความปลอดภัย (SM) ใช้การเข้ารหัส AES-128 พร้อมการแลกเปลี่ยนคีย์ผ่านโปรโตคอลการจับคู่ มีสามโหมด: Just Works (ไม่ต้องป้อน PIN), Passkey Entry (รหัส 6 หลักบนหน้าจอ), และ OOB (NFC หรือ QR) สำหรับอุปกรณ์สวมใส่ มักใช้ Just Works สำหรับอุปกรณ์ทางการแพทย์ — ใช้ OOB พร้อมการตรวจสอบเพิ่มเติม

ตาม Bluetooth Core Specification 5.4 (2023) เวลาการตั้งค่าการเชื่อมต่อที่ปลอดภัยในโหมด LE Secure Connections ไม่เกิน 300 ms ที่ช่วงเวลาการเชื่อมต่อ 30 ms

โปรไฟล์ GATT: บริการ คุณลักษณะ และตัวอธิบาย

ATT (Attribute Protocol) เป็นโมเดลการขนส่งพื้นฐานที่เซิร์ฟเวอร์ (อุปกรณ์ต่อพ่วง) เก็บคุณลักษณะและไคลเอ็นต์ (สมาร์ทโฟน) อ่านหรือเขียนค่าเหล่านั้น GATT (Generic Attribute Profile) สร้างลำดับชั้นเหนือ ATT: Service → Characteristic → Descriptor

แต่ละบริการคือกลุ่มตรรกะของคุณลักษณะที่อธิบายฟังก์ชันหนึ่งของอุปกรณ์: Heart Rate Service (UUID 0x180D) ประกอบด้วยคุณลักษณะ Heart Rate Measurement (UUID 0x2A37) พร้อมตัวอธิบายการกำหนดค่าคุณลักษณะของไคลเอ็นต์ (0x2902) ที่ควบคุมการแจ้งเตือน นักพัฒนาแอปมือถือได้รับรายการบริการผ่าน discoverServices() จากนั้นค้นหาคุณลักษณะที่ต้องการด้วย UUID และสมัครรับการแจ้งเตือน

BLE ใช้ UUID 16 บิตสำหรับบริการมาตรฐานของ Bluetooth SIG และ UUID 128 บิตสำหรับบริการที่กำหนดเองของผู้ผลิต ตัวอย่างเช่น กล่องใส่ตัวติดตามสามารถกำหนดบริการ A000-… พร้อมคุณลักษณะสำหรับส่งระดับการชาร์จแบตเตอรี่

ตัวอย่างการทำงานกับ GATT ใน Kotlin (Android)

kotlin
private val gattCallback = object BluetoothGattCallback() {
    override fun onServicesDiscovered(
        gatt: BluetoothGatt, status: Int
    ) {
        val service = gatt.getService(UUID.fromString("0000180d-0000-1000-8000-00805f9b34fb"))
        val char = service?.getCharacteristic(
            UUID.fromString("00002a37-0000-1000-8000-00805f9b34fb")
        )
        gatt.setCharacteristicNotification(char, true)
    }

    override fun onCharacteristicChanged(
        gatt: BluetoothGatt, char: BluetoothGattCharacteristic
    ) {
        val heartRate = char.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT8, 1)
        updateUi("ชีพจร: $heartRate ครั้ง/นาที")
    }
}

ในตัวอย่าง แอปค้นหาบริการ Heart Rate ด้วย UUID มาตรฐานของ Bluetooth SIG รับคุณลักษณะการวัดอัตราการเต้นของหัวใจ และสมัครรับการแจ้งเตือน — ทุกครั้งที่อัตราการเต้นของหัวใจเปลี่ยนแปลง อุปกรณ์ต่อพ่วงจะส่งข้อมูลโดยไม่ต้องร้องขอจาก Central อย่างชัดเจน

Advertising การสแกน และการตั้งค่าการเชื่อมต่อ

Advertising เป็นกลไกสำคัญของ BLE ที่อุปกรณ์ Peripheral ส่งแพ็กเก็ตกระจายเสียง (advertising PDU) เป็นระยะบนสามช่องสัญญาณหลัก (37, 38, 39) อุปกรณ์ศูนย์กลางสแกนช่องสัญญาณเหล่านี้ รับข้อมูล advertising และสามารถเริ่มการเชื่อมต่อได้

แพ็กเก็ต Advertising มีเพย์โหลดสูงสุด 31 ไบต์: แฟล็ก, ระดับพลังงาน TX, ชื่อท้องถิ่น, UUID บริการ, ข้อมูลเฉพาะของผู้ผลิต เพียงพอสำหรับการส่งค่าอ่านเซ็นเซอร์โดยไม่ต้องตั้งค่าการเชื่อมต่อ — โหมดไม่มีการเชื่อมต่อ (ประเภท Broadcaster) สำหรับการส่งข้อมูลอย่างต่อเนื่อง (เช่น อุณหภูมินาทีละครั้ง) จะใช้การเชื่อมต่อกับช่วงเวลาสูงสุด 1000 ms

บนแพลตฟอร์มมือถือ การสแกนเริ่มต้นผ่าน startScan() (Android) หรือ scanForPeripherals() (iOS) การกรองตาม UUID บริการช่วยประหยัดพลังงานโดยไม่ต้องประมวลผลอุปกรณ์ที่มองเห็นได้ทั้งหมด — แอปจะได้รับการเรียกกลับเฉพาะแท็กหรือเซ็นเซอร์ที่เกี่ยวข้องเท่านั้น

ตัวอย่างการสแกนอุปกรณ์ BLE ใน Swift (iOS)

swift
import CoreBluetooth

class ScannerViewController: UIViewController {
    private var centralManager: CBCentralManager!

    override func viewDidLoad() {
        centralManager = CBCentralManager(
            delegate: self, queue: nil
        )
    }

    func centralManagerDidUpdateState(central: CBCentralManager) {
        if central.state == .poweredOn {
            centralManager.scanForPeripherals(
                withServices: nil, options: nil
            )
        }
    }

    func centralManager(
        central: CBCentralManager,
        didDiscover peripheral: CBPeripheral,
        advertisementData: [String : Any],
        rssi RSSI: NSNumber
    ) {
        if let name = advertisementData[CBAdvertisementDataLocalNameKey] {
            print("พบอุปกรณ์: \(name)")
        }
    }
}

หลังจากค้นพบอุปกรณ์ Central เรียก connect() โดยส่งวัตถุ CBPeripheral พารามิเตอร์การเชื่อมต่อ (ช่วงเวลา, ความหน่วง, การหมดเวลาการควบคุม) จะถูกเจรจาในระดับเลเยอร์ลิงก์ — นักพัฒนาไม่ได้จัดการโดยตรง แต่สามารถมีอิทธิพลผ่าน requestConnectionPriority บน Android

Bluetooth LE ในการพัฒนาแอปมือถือ: Core Bluetooth และ android.bluetooth

ทั้งสองแพลตฟอร์มมือถือมี API ดั้งเดิมสำหรับการทำงานกับ BLE Core Bluetooth (iOS) ใช้วิธีการมอบหมาย: ตัวจัดการศูนย์กลางเริ่มต้นการดำเนินการ และวัตถุต่อพ่วงรายงานผลลัพธ์ผ่านวิธีการมอบหมาย android.bluetooth (Android) สร้างขึ้นบนอินเทอร์เฟซการเรียกกลับและรองรับการดำเนินการ GATT แบบขนานกับอุปกรณ์หลายเครื่อง

ความแตกต่างหลักระหว่างแพลตฟอร์ม:

  • iOS — รองรับการเชื่อมต่อพร้อมกันสูงสุด 7 รายการ; โหมด BLE พื้นหลังต้องใช้ UIBackgroundModes = bluetooth-central; หลังจากออกจากเบื้องหน้า ระบบอาจหน่วงการเรียกกลับหลายนาที
  • Android — ไม่มีการจำกัดการเชื่อมต่อคงที่ (จำกัดด้วยหน่วยความจำ); ต้องได้รับอนุญาต BLUETOOTH_SCAN และ BLUETOOTH_CONNECT (Android 12+); จำเป็นต้องใช้บริการเบื้องหน้าสำหรับการสแกนพื้นหลังที่เชื่อถือได้
  • Flutter — แพ็กเกจ flutter_blue_plus ทำให้ API ของแพลตฟอร์มเป็นนามธรรมด้วยอินเทอร์เฟซ Dart แบบรวม: โค้ดสำหรับการสแกนและการดำเนินการ GATT เหมือนกันบนทั้งสองแพลตฟอร์ม

จากการทดสอบของ Bluetooth SIG (2024) เวลาในการเชื่อมต่อ BLE ระหว่างสมาร์ทโฟนและสายรัดข้อมือเพื่อสุขภาพเฉลี่ย 150–300 ms บน Android และ 100–250 ms บน iOS — ความแตกต่างเกิดจากนโยบายการจัดการโมดูลความถี่วิทยุ

ตัวอย่างการเชื่อมต่อ BLE ใน Dart (Flutter)

dart
import 'package:flutter_blue_plus/flutter_blue_plus.dart';

class BleService {
  final FlutterBluePlus fbp = FlutterBluePlus();

  Future<void> scanAndConnect(String deviceName) async {
    await fbp.startScan(timeout: Duration(seconds: 15));

    await for (final result in fbp.scanResults) {
      if (result.device.advName == deviceName) {
        await fbp.stopScan();
        await result.device.connect();
        break;
      }
    }
  }
}

นักพัฒนา Flutter ได้รับอินเทอร์เฟซ API แบบรวม; เบื้องหลัง flutter_blue_plus แปลงการเรียกเป็น android.bluetooth ดั้งเดิมหรือ Core Bluetooth วิธีการนี้ช่วยลดเวลาในการพัฒนาแอปสำหรับทำงานกับอุปกรณ์ต่อพ่วง BLE บนทั้งสองแพลตฟอร์ม

คำถามที่พบบ่อย

ความแตกต่างระหว่าง Bluetooth Classic และ BLE คืออะไร?

Bluetooth Classic (BR/EDR) ออกแบบมาสำหรับการสตรีมอย่างต่อเนื่อง — สายเสียง, เพลง, การถ่ายโอนไฟล์ BLE ได้รับการปรับให้เหมาะสมสำหรับแพ็กเก็ตข้อมูลสั้น ๆ ด้วยการใช้พลังงานน้อยที่สุด — เซ็นเซอร์, แท็ก, สายรัดข้อมือเพื่อสุขภาพ Classic กินไฟ 10–30 mA, BLE — 5–15 mA ที่จุดสูงสุด

Bluetooth Classic และ BLE เข้ากันได้หรือไม่?

ในระดับกายภาพไม่เข้ากัน — การมอดูเลตและแผนที่ช่องสัญญาณแตกต่างกัน อย่างไรก็ตาม ชิปสมัยใหม่ส่วนใหญ่เป็น แบบดูอัลโหมด และใช้งานทั้งสองสแต็ก สมาร์ทโฟนที่มีชิปดูอัลโหมดสามารถสื่อสารกับหูฟัง Classic และตัวติดตาม BLE พร้อมกันได้

ช่วงเวลาการเชื่อมต่อใน BLE คืออะไร?

ช่วงเวลาการเชื่อมต่อคือระยะเวลาระหว่างแพ็กเก็ตข้อมูลสองแพ็กเก็ตในการเชื่อมต่อที่ตั้งไว้ ค่าอยู่ในช่วงตั้งแต่ 7.5 ms ถึง 4 วินาที ยิ่งช่วงเวลาสั้นลง ปริมาณงานยิ่งสูงขึ้นและการใช้พลังงานยิ่งมากขึ้น สำหรับเซ็นเซอร์อุณหภูมิที่รายงานนาทีละครั้ง จะใช้ช่วงเวลา 1000 ms

การจับคู่ใน BLE ทำงานอย่างไร?

การจับคู่เป็นกระบวนการแลกเปลี่ยนคีย์การเข้ารหัสระหว่าง Central และ Peripheral BLE รองรับสามวิธี: Just Works (ไม่ต้องยืนยัน), Passkey Entry (ป้อน PIN บนหน้าจอ), และ OOB (แลกเปลี่ยนผ่าน NFC หรือ QR) หลังจากการจับคู่ อุปกรณ์จะเก็บคีย์ (การผูกมัด) และไม่ขอรับรองความถูกต้องอีกในการเชื่อมต่อครั้งต่อ ๆ ไป

โปรไฟล์ BLE ใดที่ใช้ในแอปพลิเคชันมือถือ?

ที่พบบ่อยที่สุด: Heart Rate Profile (0x180D) สำหรับเครื่องวัดอัตราการเต้นของหัวใจ, Blood Pressure Profile (0x1810) สำหรับเครื่องวัดความดันโลหิต, Environmental Sensing (0x181A) สำหรับเซ็นเซอร์อุณหภูมิและความชื้น, Battery Service (0x180F) สำหรับระดับการชาร์จ, Device Information (0x180A) สำหรับรุ่นและหมายเลขซีเรียล

สรุป

  • Bluetooth เป็นมาตรฐาน WPAN ในย่าน 2.4 GHz แบ่งออกเป็น Classic (BR/EDR) และ Low Energy (BLE) ตั้งแต่เวอร์ชัน 4.0
  • Bluetooth Classic ให้ความเร็วสูงสุด 3 Mbit/s และใช้สำหรับหูฟังเสียงและการถ่ายโอนไฟล์
  • BLE ได้รับการปรับให้เหมาะสมสำหรับการใช้พลังงานต่ำ (5–15 mA) และใช้ใน IoT สายรัดข้อมือเพื่อสุขภาพ และเซ็นเซอร์
  • โปรไฟล์ GATT จัดระเบียบข้อมูลในลำดับชั้น Service → Characteristic → Descriptor พร้อมการแลกเปลี่ยนผ่านโปรโตคอล ATT
  • Advertising ช่วยให้อุปกรณ์ต่อพ่วงสามารถส่งข้อมูลโดยไม่ต้องตั้งค่าการเชื่อมต่อบนสามช่องสัญญาณหลัก
  • iOS (Core Bluetooth) และ Android (android.bluetooth) มี API ดั้งเดิมพร้อมวิธีการทำงานเบื้องหลังและการอนุญาตที่แตกต่างกัน
  • Flutter (flutter_blue_plus) รวม API ของแพลตฟอร์มด้วยอินเทอร์เฟซ Dart เดียวสำหรับการพัฒนาข้ามแพลตฟอร์ม

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม