Ada dua mode Bluetooth utama yang dapat digunakan pada ESP32, masing-masing memiliki fungsi dan skenario penggunaan yang berbeda: Bluetooth Classic dan Bluetooth Low Energy (BLE).
1. Bluetooth Classic (BT)
Bluetooth Classic, juga dikenal sebagai Bluetooth Standard atau BR/EDR, cocok untuk transfer data yang stabil dan berkecepatan tinggi, ideal untuk streaming data besar atau koneksi data yang terus-menerus.
⚙️ Karakteristik Utama
Kecepatan Data: Lebih cepat (hingga 2-3 Mbps).
Konsumsi Daya: Lebih tinggi, tidak ideal untuk perangkat bertenaga baterai yang kecil.
Koneksi: Menggunakan profil spesifik seperti SPP (Serial Port Profile) untuk komunikasi serial nirkabel.
💻 Contoh Penggunaan (Profil SPP)
Dalam mode ini, ESP32 bertindak seperti kabel serial nirkabel, memungkinkan komunikasi dua arah dengan perangkat lain (misalnya, aplikasi kontrol di ponsel).
📖 Cara Kerja Skrip Ini
Inklusi Library: Memanggil semua library yang diperlukan untuk fungsi BLE.
UUID:
SERVICE_UUIDdanCHARACTERISTIC_UUIDadalah alamat unik (ID) data yang digunakan oleh klien untuk menemukan service dan data yang ditawarkan oleh ESP32.Setup (Inisialisasi):
ESP32 menginisialisasi dirinya sebagai perangkat BLE.
Membuat BLE Server yang dapat menerima koneksi.
Membuat Service dan Characteristic di bawah server tersebut, mendefinisikan bahwa Characteristic tersebut bisa dibaca, ditulis, dan memberi notifikasi (notify).
Mulai Advertising (beriklan) sehingga smartphone atau perangkat BLE lain dapat melihat ESP32.
Loop (Pengiriman Data):
Setiap 2 detik, jika ada klien yang terhubung (
deviceConnected == true), nilaivalue(counter) diubah menjadi string.pCharacteristic->setValue(txString);danpCharacteristic->notify();digunakan untuk memperbarui nilai dan mengirimkan pembaruan (notification) ke klien secara real-time.
💡 Untuk Menguji Kode Ini:
Pastikan Anda telah menginstal board ESP32 di Arduino IDE.
Upload skrip ke ESP32 Anda.
Gunakan aplikasi scanner BLE di smartphone Anda (seperti nRF Connect atau BLE Scanner) untuk menemukan perangkat bernama "ESP32_BLE_Counter" dan membaca Characteristic di dalamnya.
📚 Referensi
Untuk memulai pemrograman komunikasi Bluetooth pada ESP32, Anda akan membutuhkan sumber daya berikut:
Dokumentasi Resmi ESP-IDF: Dokumentasi framework pengembangan Espressif Systems yang menyediakan detail mendalam tentang implementasi Bluetooth Classic dan BLE.
Arduino Core for the ESP32: Repositori GitHub yang menyediakan library seperti
BluetoothSerial.hdanBLEDevice.h.Arduino IDE Software: Lingkungan pengembangan untuk menulis dan mengunggah kode ke ESP32.
- GitHub – ESP32 BLE Arduino Library oleh Neil Kolban. Diakses 10 November 2025.
- Random Nerd Tutorials – ESP32 BLE Server dan Client. Diakses 10 November 2025.
- Espressif Docs – ESP-IDF BLE API Reference. Diakses 10 November 2025.
- UUID Generator – Buat UUID unik untuk BLE Service dan Characteristic. Diakses 10 November 2025.
- Arduino.cc – Referensi Fungsi Arduino. Diakses 10 November 2025.