Cara Mengatur dan Memprogram ESP32 untuk Berkomunikasi dengan Smartphone Android melalui Bluetooth

Cara Mengatur Dan Memprogram Esp32 Untuk Berkomunikasi Dengan Smartphone Android Melalui Bluetooth



ESP32 adalah papan mikrokontroler dengan berbagai kemampuan. Ini memiliki modul Wi-Fi dan Bluetooth bawaan. Dengan menggunakan kedua modul ini, Anda dapat memprogram ESP32 secara nirkabel. Dengan ini, Anda tidak perlu khawatir tentang koneksi kabel panjang untuk mengendalikan periferal ESP32.

Pada artikel ini, kita akan menghubungkan papan ESP32 dengan ponsel Android dan mengkomunikasikan data melalui Bluetooth. Selanjutnya kita akan mengontrol LED yang terhubung dengan pin GPIO ESP32 langsung melalui smartphone Android.

Isi:







Apa itu Bluetooth LE ESP32

ESP32 adalah papan mikrokontroler yang mendukung Bluetooth Classic dan Bluetooth Low Energy yang juga dikenal sebagai Bluetooth pintar. BLE atau Bluetooth pintar khusus untuk komunikasi hemat energi atau dirancang untuk komunikasi jarak pendek atau transfer data kecil.



Fungsionalitas BLE ESP32 memungkinkannya bertindak sebagai server atau klien dalam komunikasi Bluetooth. Ini dapat menangani tugas-tugas seperti layanan membaca dan menulis. Itu juga dapat mengenkripsi koneksi dan membuat koneksi Serial Port Profile (SPP) untuk transmisi data dalam mode pass-through UART-BLE. Bluetooth ESP32 mendukung protokol 4.2, yang berarti kompatibel dengan berbagai lapisan seperti Lapisan Fisik (PHY) dan Lapisan Tautan (LL). Ia juga memiliki dukungan antara lain untuk Host Controller Interface (HCI).



Periksa tabel perbedaan untuk ESP32 Classic dan BLE Bluetooth.





Fitur Bluetooth klasik Bluetooth Energi Rendah (BLE)
Tipe Komunikasi Komunikasi dua arah yang berkelanjutan Semburan data yang bersifat intermiten, terutama satu arah
Jangkauan Operasional Bisa mencapai hingga 100 meter Biasanya beroperasi di bawah 100 meter
Penggunaan daya Mengkonsumsi hingga 1 Watt Berkisar dari 10 miliwatt hingga 500 miliwatt
Kecepatan Transfer Kecepatan transfer data bervariasi dari 1 hingga 3 Megabit per detik Mendukung 125 Kilobit per detik hingga 2 Megabit per detik
Waktu merespon Latensi sekitar 100 milidetik Respons cepat dengan latensi 6 milidetik
Dukungan Suara Dilengkapi dengan transmisi suara Tidak memiliki fungsi transmisi suara

Lihat artikel Bluetooth ESP32 ini untuk mengetahui lebih banyak tentangnya.

Cara Memprogram ESP32 Untuk Berkomunikasi melalui Bluetooth dengan Smartphone Android

Untuk memprogram ESP32 agar dapat berkomunikasi dengan ponsel Android menggunakan protokol Bluetooth, Anda harus mengatur perpustakaan serial Bluetooth ESP32. Untuk itu, Anda harus memiliki setup Arduino IDE dengan board ESP32 yang terpasang.



Setelah melakukan setting Bluetooth ESP32, Anda harus menginstal aplikasi Android serial Bluetooth. Ini memungkinkan Anda mengirim instruksi dari ponsel Android ke ESP32 menggunakan komunikasi Serial Bluetooth.

Mari kita lihat lebih dekat setiap langkah berikut:

Langkah-langkah Menghubungkan Bluetooth ESP32 dengan Ponsel Android

Untuk memprogram papan ESP32 untuk komunikasi Bluetooth, ikuti langkah-langkah berikut:

Langkah 1: Memasang Papan ESP32 di Arduino IDE

Untuk menginstal ESP32 di Arduino IDE, cukup ikuti panduan yang disediakan di artikel ini.

Memasang Papan ESP32 di Arduino IDE

Setelah instalasi, board ESP32 dapat dihubungkan dan diprogram menggunakan Arduino IDE.

Langkah 2: Unggah Kode Bluetooth ESP32

Setelah papan ESP32 diinstal, Anda akan melihat berbagai perpustakaan pra-instal dan contohnya di Arduino IDE. Semua perpustakaan ini terkait dengan papan ESP32. Untuk komunikasi serial Bluetooth, kita akan menggunakan ESP32 BluetoothSerial.h kode contoh perpustakaan.

Untuk membuka kode contoh, buka Arduino IDE dan buka: File > Contoh > BluetoothSerial > SerialtoSerialBT

Untuk membuka kode contoh ini, pastikan papan ESP32 dipilih.

Setelah membuka kode contoh, Anda akan melihat kode berikut di jendela Arduino IDE Anda:

//Selamat Datang di Linuxhint

#termasuk 'BluetoothSerial.h'

//#define USE_PIN // Batalkan komentar ini jika Anda ingin PIN saat memasangkan
konstanta arang * pin = '1234' ; // Tentukan PIN penyandingan khusus

String nama_perangkat = 'ESP32' ;

#jika !didefinisikan(CONFIG_BT_ENABLED) || !ditentukan(CONFIG_BLUEDROID_ENABLED)
#kesalahan Bluetooth tidak diaktifkan! Jalankan `make menuconfig` untuk mengaktifkannya
#berakhir jika

#jika !ditentukan(CONFIG_BT_SPP_ENABLED)
#error Serial Bluetooth hilang atau tidak diaktifkan. Ini hanya tersedia untuk chip ESP32.
#berakhir jika

BluetoothSerial SerialBT ;

ruang kosong mempersiapkan ( ) {
Serial. mulai ( 115200 ) ;
SerialBT. mulai ( nama perangkat ) ; //nama perangkat Bluetooth
Serial. printf ( 'Perangkat ' % S ' dimulai. \N Mulai memasangkan perangkat Anda! \N ' , nama perangkat. c_str ( ) ) ;
//Serial.printf('Perangkat '%s' dengan alamat MAC %s dimulai.\nMulai memasangkannya dengan Bluetooth!\n', nama_perangkat.c_str(), SerialBT.getMacString());
#ifdef USE_PIN
SerialBT. setPin ( pin ) ;
Serial. cetakln ( 'Menggunakan PIN' ) ;
#berakhir jika
}

ruang kosong lingkaran ( ) {
jika ( Serial. tersedia ( ) ) {
SerialBT. menulis ( Serial. membaca ( ) ) ;
}
jika ( SerialBT. tersedia ( ) ) {
Serial. menulis ( SerialBT. membaca ( ) ) ;
}
menunda ( dua puluh ) ;
}

Setelah mengunggah kode, Anda akan melihat pesan berikut di layar. Pesan ini menjelaskan bahwa papan ESP32 Anda siap dipasangkan.

Langkah 3: Penjelasan Kode

Kode dimulai dengan memasukkan perpustakaan yang diperlukan dan memeriksa ketersediaan Bluetooth. Ini juga mengatur variabel untuk nama dan PIN perangkat Bluetooth.

Dalam mempersiapkan() fungsi, komunikasi serial baud ditentukan dan perangkat Bluetooth diinisialisasi dengan namanya. PIN khusus dapat diatur untuk otentikasi selama pemasangan.

Itu lingkaran() fungsi terus menerus memeriksa data pada koneksi serial dan Bluetooth. Hal ini memungkinkannya menjalin komunikasi dua arah antara ESP32 dan perangkat Bluetooth yang dipasangkan.

Langkah 4: Instal Aplikasi Android

Setelah kode diunggah, langkah selanjutnya adalah menginstal dan mengkonfigurasi aplikasi Android untuk koneksi Bluetooth.

Buka Play Store dan instal Terminal Bluetooth Seri aplikasi.

Setelah instalasi, buka pengaturan Bluetooth ponsel cerdas dan sambungkan ponsel Anda dengan Bluetooth ESP32. Jika Anda telah menentukan PIN dalam kode Arduino IDE Anda harus memasukkan PIN tersebut jika tidak maka PIN akan langsung terhubung.

Sekarang buka aplikasi Serial Bluetooth dan pilih Perangkat pilihan.

Dari menu yang baru dibuka, pilih perangkat ESP32. Daftar ini menampilkan semua perangkat Bluetooth yang aktif saat ini.

Seperti yang Anda lihat, Bluetooth ESP32 terhubung ke ponsel pintar Android Anda.

Untuk menguji koneksi, kami akan mengirimkan string. Di sini saya telah mengirimkan dua string berbeda.

Anda akan melihat dua string yang sama juga akan ditampilkan di terminal Arduino IDE.

Sekarang mari melangkah lebih jauh dan mengontrol periferal eksternal seperti LED menggunakan Bluetooth ESP32 melalui smartphone Android.

Langkah 5: Kontrol LED Menggunakan Ponsel Android melalui Bluetooth

Untuk mengontrol LED menggunakan ESP32 dan Bluetooth Android, pertama-tama ubah kode di atas dan tentukan pin GPIO untuk LED tersebut. Setelah itu, Anda harus mengatur nilai untuk menghidupkan dan mematikan LED.

Unggah kode di bawah ini untuk melangkah lebih jauh.

#include // Sertakan perpustakaan komunikasi serial Bluetooth

#define LED_PIN 15 // Tentukan pin LED

BluetoothSerial SerialBT ; // Membuat objek BluetoothSerial
byte BT_INP ; // Variabel untuk menyimpan input Bluetooth

// Periksa apakah Bluetooth dan Bluedroid diaktifkan di konfigurasi SDK
#jika !didefinisikan(CONFIG_BT_ENABLED) || !ditentukan(CONFIG_BLUEDROID_ENABLED)
#kesalahan Bluetooth tidak diaktifkan. Jalankan `make menuconfig` untuk mengaktifkannya.
#berakhir jika

ruang kosong mempersiapkan ( ) {
Mode pin ( LED_PIN , KELUARAN ) ; // Atur pin LED sebagai output
Serial. mulai ( 115200 ) ;
SerialBT. mulai ( 'ESP32' ) ; // Inisialisasi Bluetooth dengan nama 'ESP32'
Serial. cetakln ( 'Perangkat Bluetooth siap dipasangkan.' ) ; // Tunjukkan bahwa Bluetooth sudah siap
}

ruang kosong lingkaran ( ) {
// Periksa apakah ada data yang tersedia untuk dibaca dari Bluetooth
jika ( SerialBT. tersedia ( ) ) {
BT_INP = SerialBT. membaca ( ) ; // Baca byte masuk dari Bluetooth
Serial. menulis ( BT_INP ) ; // Gema byte yang dibaca ke monitor serial
}

// Periksa data Bluetooth yang diterima dan atur status LED
jika ( BT_INP == '1' ) {
tulis digital ( LED_PIN , TINGGI ) ; // Nyalakan LED jika '1' diterima
} kalau tidak jika ( BT_INP == '0' ) {
tulis digital ( LED_PIN , RENDAH ) ; // Matikan LED jika '0' diterima
}
}

Kode ini untuk mikrokontroler ESP32 untuk mengontrol LED menggunakan Bluetooth. Ini termasuk perpustakaan untuk komunikasi Bluetooth. Selanjutnya, ia menentukan pin LED dan mengatur Bluetooth dengan perangkat bernama ESP32. Loop utama membaca data Bluetooth dan menyalakan atau mematikan LED berdasarkan perintah yang diterima (1 untuk ON, 0 untuk OFF).

Diagram Sirkuit

Diagram rangkaiannya sederhana, dengan LED terhubung pada pin D15 dari ESP32. Anda dapat menentukan GPIO lain untuk kontrol LED.

Terkait: Referensi Pinout ESP32–Panduan Utama

Perangkat keras

Dalam perangkat keras, Anda memerlukan papan tempat memotong roti, papan ESP32, dan LED. Hubungkan ESP32 dengan sistem dan unggah program ke dalamnya.

Sekarang kirim 1 dan 0 dari aplikasi komunikasi Bluetooth Serial ponsel Android.

Anda akan melihat input yang sama pada terminal Arduino IDE yang diterima dari ponsel Android.

Keluaran

Setelah Anda mengirimkan nilai Tinggi atau 1 LED akan menyala, demikian pula ketika Anda mengirimkan nilai Rendah LED akan mati.

Tetapkan Tombol Kustom

Anda juga dapat mengatur tombol khusus di dalam aplikasi Serial Bluetooth. Misalnya, tombol nilai TINGGI dan RENDAH dapat dibuat. Dengan cara ini, Anda tidak perlu mengetikkan nilainya secara manual. Sebagai gantinya, Anda hanya perlu menekan tombol pintasan, dan instruksi yang Anda tetapkan akan dijalankan.

Catatan: Untuk membuka pengaturan tombol, tekan lama tombol tersebut.

Untuk mengatur nilai tombol TINGGI, tentukan pengaturan berikut.

Kesamaan dengan nilai tombol LOW, Anda perlu menentukan pengaturan di bawah ini.

Kami telah berhasil menghubungkan papan ESP32 dengan ponsel Android menggunakan Bluetooth. Sekarang Anda dapat membuat banyak proyek dengan menggunakannya. Misalnya, Anda dapat mengontrol peralatan rumah tangga Anda menggunakan Bluetooth ESP32 melalui rangkaian relay.

Terkait: Relay dengan ESP32 Menggunakan Arduino IDE

Kesimpulan

ESP32 adalah papan mikrokontroler canggih dengan kemampuan Wi-Fi dan Bluetooth. Kedua modul bawaan ini membantu Anda merancang proyek tingkat lanjut dan mengontrol periferal secara nirkabel. Demikian pula, Anda dapat menghubungkan ESP32 dengan ponsel Android dan melakukan berbagai operasi. Untuk itu, Anda perlu menginstal aplikasi Bluetooth Serial Android. Setelah terinstal, buka kode contoh untuk ESP32 Bluetooth dan unggah ke board Anda. Setelah kode diunggah, Anda dapat memasangkannya dengan papan Anda melalui ponsel Android.