Senin, 10 November 2025

Komunikasi Bluetooth dengan ESP32

ESP32 adalah pilihan mikrokontroler yang populer untuk proyek

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).

FungsiDeskripsi
ServerESP32 menunggu koneksi dari klien (misalnya, ponsel).
KlienESP32 mencari dan terhubung ke perangkat Bluetooth lain.

📖 Cara Kerja Skrip Ini

  1. Inklusi Library: Memanggil semua library yang diperlukan untuk fungsi BLE.

  2. UUID: SERVICE_UUID dan CHARACTERISTIC_UUID adalah alamat unik (ID) data yang digunakan oleh klien untuk menemukan service dan data yang ditawarkan oleh ESP32.

  3. 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.

  4. Loop (Pengiriman Data):

    • Setiap 2 detik, jika ada klien yang terhubung (deviceConnected == true), nilai value (counter) diubah menjadi string.

    • pCharacteristic->setValue(txString); dan pCharacteristic->notify(); digunakan untuk memperbarui nilai dan mengirimkan pembaruan (notification) ke klien secara real-time.

💡 Untuk Menguji Kode Ini:

  1. Pastikan Anda telah menginstal board ESP32 di Arduino IDE.

  2. Upload skrip ke ESP32 Anda.

  3. 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:

  1. Dokumentasi Resmi ESP-IDF: Dokumentasi framework pengembangan Espressif Systems yang menyediakan detail mendalam tentang implementasi Bluetooth Classic dan BLE.

  2. Arduino Core for the ESP32: Repositori GitHub yang menyediakan library seperti BluetoothSerial.h dan BLEDevice.h.

  3. Arduino IDE Software: Lingkungan pengembangan untuk menulis dan mengunggah kode ke ESP32.

Wi-Fi hotspot dengan captive portal