Cara Program Bluetooth Classic Esp32 Devkit V1
Tutorial: Program Fitur Bluetooth Classic pada ESP32 DevKit V1
ESP32 DevKit V1 adalah papan pengembangan yang berbasis pada chip ESP32, yang memiliki kemampuan konektivitas Bluetooth dan Wi-Fi. Meskipun banyak tutorial berfokus pada Bluetooth Low Energy (BLE), ESP32 juga mendukung Bluetooth Classic, yang digunakan untuk aplikasi seperti komunikasi audio, perangkat input, atau pengiriman data secara langsung. Pada tutorial kali ini, kita akan membahas bagaimana cara memprogram fitur Bluetooth Classic pada ESP32 DevKitC V1, beserta contoh kode, penjelasan detail, dan bagaimana cara menggunakan fitur ini.
1. Persiapan Alat dan Bahan
Sebelum memulai, pastikan Anda memiliki beberapa bahan dan alat berikut:
- ESP32 DevKit V1
- Kabel USB (Micro-USB atau USB-C sesuai model ESP32)
- Software Arduino IDE:Platform pengembangan yang digunakan untuk memprogram ESP32.
- Pustaka Bluetooth Classic untuk ESP32.
Langkah pertama adalah menyiapkan Arduino IDE untuk pemrograman ESP32.
Instalasi Arduino IDE dan Pustaka ESP32
Jika Anda belum menginstal Arduino IDE, Anda bisa mengunduhnya dari situs resmi Arduino (https://www.arduino.cc/en/software).
Selanjutnya, untuk menambahkan pustaka ESP32 di Arduino IDE, ikuti langkah berikut:
- Buka Arduino IDE
- Masuk ke File > Preferences
- Tambahkan URL berikut ke bagian Additional Board Manager URLs:
- Buka Tools > Board > Board Manager dan cari ESP32, Lalu Instal board ESP32 by Espressif Systems.
https://dl.espressif.com/dl/package_esp32_index.json
Pilih Board ESP32
- Hubungkan ESP32 DevKit V1 ke komputer menggunakan kabel USB.
- Pada Arduino IDE, pilih Tools > Board > ESP32 Arduino > ESP32 Dev Module, Atau bisa juga pilih board ESP32 DevKitC V1.
- Pilih port COM yang sesuai (Tools > Port).
2. Mengenal Bluetooth Classic pada ESP32
Bluetooth Classic adalah teknologi Bluetooth yang lebih tua yang digunakan untuk komunikasi dengan perangkat lain seperti headset, speaker Bluetooth, perangkat input (keyboard, mouse), dan juga perangkat yang menggunakan protokol seperti Serial Port Profile (SPP) untuk komunikasi data.
ESP32 mendukung Bluetooth Classic dan menggunakan pustaka BluetoothSerial
untuk komunikasi berbasis serial menggunakan Bluetooth Classic. Pustaka ini memungkinkan ESP32 untuk bertindak sebagai perangkat Serial Bluetooth (RFCOMM) yang dapat mengirim dan menerima data menggunakan profil Bluetooth Classic SPP.
3. Program Sederhana Bluetooth Classic: Serial Bluetooth pada ESP32
Berikut adalah contoh sederhana untuk membuat ESP32 menjadi perangkat Bluetooth Serial yang dapat dihubungkan dengan perangkat lain melalui Bluetooth Classic.
Kode Program untuk Bluetooth Classic:
#include <BluetoothSerial.h>>
BluetoothSerial SerialBT; // Instansiasi objek BluetoothSerial
void setup() {
Serial.begin(115200); // Menginisialisasi komunikasi serial
SerialBT.begin("ESP32_BT"); // Mulai Bluetooth dengan nama "ESP32_BT"
Serial.println("Bluetooth is ready to pair...");
}
void loop() {
// Jika data diterima melalui Bluetooth
if (SerialBT.available()) {
char receivedChar = SerialBT.read(); // Membaca karakter yang diterima
Serial.print("Received via Bluetooth: ");
Serial.println(receivedChar); // Menampilkan karakter yang diterima di Serial Monitor
}
// Jika data diterima melalui Serial (dari komputer)
if (Serial.available()) {
char receivedChar = Serial.read(); // Membaca data dari Serial Monitor
SerialBT.write(receivedChar); // Mengirimkan data tersebut ke perangkat Bluetooth
}
}
Penjelasan Kode:
- BluetoothSerial SerialBT;:
- Ini adalah objek yang digunakan untuk mengelola koneksi Bluetooth Classic pada ESP32. Pustaka
BluetoothSerial
memungkinkan komunikasi melalui serial Bluetooth.
- Ini adalah objek yang digunakan untuk mengelola koneksi Bluetooth Classic pada ESP32. Pustaka
- SerialBT.begin("ESP32_BT");:
- Fungsi ini menginisialisasi Bluetooth dan memberi nama perangkat Bluetooth menjadi "ESP32_BT". Nama ini akan muncul ketika perangkat lain mencari perangkat Bluetooth di sekitar mereka.
- Serial.begin(115200);:
- Menginisialisasi komunikasi serial dengan komputer untuk debugging dan komunikasi melalui kabel USB.
- if (SerialBT.available()):
- Mengecek apakah ada data yang diterima melalui Bluetooth. Jika ada, data tersebut dibaca dan ditampilkan melalui Serial Monitor.
- if (Serial.available()):
- Mengecek apakah ada data yang dikirim dari Serial Monitor (komputer). Jika ada, data tersebut dikirimkan ke perangkat Bluetooth.
4. Menghubungkan dengan Perangkat Lain melalui Bluetooth
Setelah kode di atas diunggah ke ESP32, Anda dapat menghubungkannya ke perangkat lain seperti smartphone atau komputer yang mendukung Bluetooth Classic. Langkah-langkah berikut ini akan menunjukkan cara menghubungkan ESP32 dengan perangkat lain menggunakan aplikasi atau fitur Bluetooth di perangkat tersebut.
Langkah-langkah Menghubungkan dengan Perangkat Android
- Pasang Aplikasi Bluetooth Serial:
- Anda dapat mengunduh aplikasi seperti Bluetooth Terminal atau Serial Bluetooth Terminal dari Google Play Store untuk perangkat Android. Aplikasi ini memungkinkan Anda mengirim dan menerima data melalui Bluetooth.
- Menemukan Perangkat Bluetooth ESP32:
- Nyalakan Bluetooth di perangkat Android dan buka aplikasi Bluetooth Serial.
- Cari perangkat dengan nama ESP32_BT.
- Pilih perangkat ESP32_BT untuk menghubungkannya.
- Mengirim dan Menerima Data:
- Setelah terhubung, Anda dapat mengetikkan teks pada aplikasi Bluetooth Terminal dan mengirimnya ke ESP32. Teks tersebut akan diterima dan dicetak pada Serial Monitor di komputer yang terhubung ke ESP32.
- Sebaliknya, jika Anda mengirim data dari Serial Monitor ke ESP32, data tersebut akan dikirim melalui Bluetooth ke perangkat Android.
5. Fungsi dan Penggunaan Bluetooth Classic pada ESP32
Bluetooth Classic pada ESP32 memiliki banyak kegunaan, antara lain:
- Komunikasi Serial Bluetooth (SPP):
- Sebagaimana terlihat pada contoh di atas, Bluetooth Classic digunakan untuk komunikasi serial antara ESP32 dan perangkat lain. Ini adalah fitur yang sangat berguna ketika Anda ingin menghubungkan ESP32 dengan perangkat lain yang memiliki antarmuka serial, seperti komputer atau smartphone.
- Mengontrol Perangkat dari Jarak Jauh:
- Anda dapat membuat aplikasi untuk mengontrol perangkat lain (seperti lampu atau motor) dengan mengirimkan perintah melalui Bluetooth Classic ke ESP32, yang kemudian akan memproses perintah tersebut.
- Transmisi Data:
- ESP32 dapat digunakan untuk mentransmisikan data dalam jumlah besar antara perangkat Bluetooth Classic dan ESP32. Misalnya, Anda dapat mengirimkan data sensor atau status sistem ke aplikasi smartphone atau komputer.
- Audio Bluetooth:
- Meskipun tidak dijelaskan dalam tutorial ini, ESP32 juga dapat digunakan untuk transmisi audio Bluetooth menggunakan profil A2DP (Advanced Audio Distribution Profile) untuk mengirimkan suara ke speaker Bluetooth.
- Pengganti Kabel Serial:
- Bluetooth Classic juga memungkinkan Anda untuk menggantikan kabel serial fisik dengan koneksi Bluetooth. Ini sangat berguna untuk aplikasi di mana kabel fisik tidak praktis.
6. Menambahkan Fungsi Lainnya: Mengirim Data ke Beberapa Perangkat
Selain komunikasi satu-ke-satu antara ESP32 dan perangkat Bluetooth, ESP32 juga bisa dikonfigurasi untuk bekerja dengan banyak perangkat Bluetooth secara bersamaan. Fitur ini memungkinkan pembuatan aplikasi yang lebih kompleks, seperti pengiriman data ke beberapa perangkat secara simultan.
Namun, untuk itu, Anda harus mengonfigurasi ESP32 sebagai Bluetooth Master atau Bluetooth Slave sesuai dengan aplikasi yang diinginkan. Bluetooth Classic pada ESP32 dapat menangani beberapa koneksi, meskipun proses ini lebih rumit dan memerlukan pengaturan yang lebih mendalam.
Kesimpulan
Dalam tutorial ini, kita telah mempelajari cara memprogram dan menggunakan Bluetooth Classic pada ESP32 DevKit V1. Dengan menggunakan pustaka BluetoothSerial
, kita dapat membuat ESP32 berfungsi sebagai perangkat Serial Bluetooth yang dapat menghubungkan perangkat lain melalui Bluetooth Classic. Fitur ini sangat berguna untuk aplikasi seperti komunikasi data, pengontrol perangkat jarak jauh, dan bahkan penggantian kabel serial dengan koneksi nirkabel. Tutorial ini memberikan dasar yang kuat untuk mulai mengembangkan aplikasi berbasis Bluetooth Classic dengan ESP32.