- Memulai dengan ESP32 Bluetooth
- Memahami Bluetooth Low Energy (BLE) dan ESP32 Classic Bluetooth
- Mempersiapkan Arduino IDE untuk ESP32
- Program Bluetooth Serial untuk ESP32
- Menguji Bluetooth Serial dengan ESP32
Modul Bluetooth seperti HC-05 dan HC-06 mudah diatur dan cepat digunakan dengan Arduino IDE, tetapi memiliki batasan sendiri seperti konsumsi daya tinggi dan beroperasi pada Bluetooth V2.0 lama. Juga, baru-baru ini saya mendapatkan kit ESP32 DEV baru, modul ini memiliki banyak fitur seperti Wi-Fi dan Bluetooth built-in, pin ADC dan DAC yang cukup, Dukungan Audio, Dukungan Kartu SD, Mode Tidur Nyenyak, dll. segalanya untuk membangun proyek IoT.
Dan sama seperti penghobi mana pun yang menyukainya, ESP32 sekarang secara resmi didukung oleh Arduino IDE. Sebelumnya kita harus melakukan pemecahan masalah besar dengan Perpustakaan Neil Kolbans, tetapi sekarang berkat kerja keras orang ini pemrograman ESP32 dengan Arduino IDE telah menjadi jalan kue. Oleh karena itu, saya meluncurkan Arduino IDE saya dan mengikuti beberapa contoh program BLE, yang mana saya tidak mengerti apa-apa. Setelah sekian lama berselancar dan bermain youtubing, saya menyadari bahwa ada lebih banyak hal yang perlu dipahami jika Anda harus bekerja dengan Bluetooth Low Energy (BLE) menggunakan ESP32. Saya memutuskan untuk membahas BLE dalam artikel terpisah, jadi di sini kita akan menggunakan Bluetooth Serial Klasik ESP32 untuk mengaktifkan LED menggunakan Ponsel Cerdas. Jika Anda tertarik untuk memeriksa cara menggunakan fitur BLE, periksa artikel ini di ESP32 BLE Server dan ESP32 BLE Client
Memulai dengan ESP32 Bluetooth
Program pertama yang ingin saya coba adalah program sederhana yang dapat saya gunakan untuk menyalakan atau mematikan LED dari aplikasi Terminal Bluetooth ponsel, seperti HC-05 hari yang baik. Namun ternyata, Bluetooth Low Energy (BLE) tidak menjorok ke dalam untuk itu. Saya juga menemukan bahwa ada dua jenis Bluetooth dalam modul ESP32, satu adalah Bluetooth Klasik dan yang lainnya adalah BLE Bluetooth Hemat Energi. Oke, tapi kenapa?…. mengapa kita memiliki dua jenis Bluetooth dan apa yang harus saya gunakan untuk proyek saya?
Memahami Bluetooth Low Energy (BLE) dan ESP32 Classic Bluetooth
Bluetooth Low Energy, seperti yang ditunjukkan namanya mengkonsumsi lebih sedikit daya daripada Bluetooth klasik. Ini dicapai dengan mengirim data sesuai kebutuhan dengan pembaruan berkala yang telah ditentukan sebelumnya. Tetapi tidak seperti Bluetooth klasik, ini tidak digunakan untuk mentransfer File atau Musik. Pernahkah Anda bertanya-tanya bagaimana ponsel Anda secara otomatis mengidentifikasi bahwa perangkat Bluetooth yang baru saja Anda pasangkan adalah perangkat audio atau laptop atau ponsel, Anda mungkin juga telah melihat bahwa level baterai di pemutar audio nirkabel atau pita kebugaran secara otomatis ditampilkan di bilah status ponsel Anda; semua ini dimungkinkan dengan karakteristik perangkat BLE. Sebuah perangkat BLE bekerja dengan Bluetooth V4.0 dan dapat beroperasi dengan daya rendah sebagai server atau sebagai klien yang membuatBLE pilihan ideal untuk suar, jam tangan pintar, gelang kebugaran, dll.
Bluetooth klasik di sisi lain hanyalah Bluetooth tua biasa sederhana yang kami gunakan untuk mentransfer file dan data lainnya. Hampir semua perangkat BLE memiliki fungsionalitas Bluetooth Klasik yang terkait dengannya. Bluetooth yang digunakan dalam modul seperti HC-05 adalah versi Bluetooth klasik yang disebut Bluetooth SSP (Serial Port Protocol), yang berarti Bluetooth mengikuti protokol serial standar yang membuatnya lebih mudah untuk mengirim dan menerima data tanpa banyak overhead. Di akhir tutorial ini kita akan belajar bagaimana menggunakan fungsionalitas Serial Bluetooth di ESP32.
Di sini, di artikel ini kita akan menggunakan fungsi Serial Bluetooth pada ESP32 untuk memasangkannya dengan Smartphone dan menggunakan aplikasi Terminal Bluetooth yang ada dari Play store untuk mengirim perintah ke ESP32 dan mengaktifkan LED on board yang sesuai.
Di artikel selanjutnya kita akan membahas ESP32 BLE sebagai server sekaligus klien. Server BLE umumnya digunakan untuk mengirim data BLE ke Perangkat Bluetooth lain dan klien BLE digunakan untuk memindai perangkat BLE lain sehingga bertindak sebagai suar.
Mempersiapkan Arduino IDE untuk ESP32
Perhatikan bahwa Arduino IDE secara default tidak mendukung papan ESP32; Anda harus mengunduh dan menginstalnya menggunakan pengelola papan. Jika ini adalah program pertama Anda dengan ESP32, ikuti tutorial memulai ini untuk menambahkan papan ESP32 ke Arduino Anda dan mengunggah sketsa tes.
Selanjutnya, Anda dapat melakukan lebih banyak proyek dengan ESP32, tanpa menggunakan Mikrokontroler apa pun dengannya.
Program Bluetooth Serial untuk ESP32
Program lengkap untuk mengaktifkan LED menggunakan ESP32 Bluetooth diberikan di akhir halaman ini. Di bawah tajuk ini, mari pecahkan kode menjadi potongan kecil dan coba pahami. Jika Anda telah menggunakan modul Bluetooth lain seperti HC-05 maka Anda akan menemukan program contoh ESP32 Bluetooth Classic ini sangat mirip.
Ide program ini adalah untuk menginisialisasi koneksi Bluetooth Serial menggunakan ESP32 dan mendengarkan data dari perangkat yang dipasangkan. Jika data yang masuk adalah '1' maka kita nyalakan LED dan jika '0' kita harus mematikan LED tersebut. Kami memulai program kami dengan menambahkan file header BluetoothSerial yang membuat ESP32 Bluetooth berfungsi sebagai Bluetoth SSP.
#include "BluetoothSerial.h" // File Header untuk Serial Bluetooth, akan ditambahkan secara default ke Arduino
Ada banyak hal yang terjadi di balik pustaka ini, tetapi kami memilih untuk tidak mendalami lebih dalam untuk membuat semuanya tetap sederhana. Hal berikutnya yang kami butuhkan adalah objek untuk operasi terkait Bluetooth kami. Di sini saya menamai saya sebagai ESP_BT , tetapi Anda dapat memilih nama apa pun.
BluetoothSerial ESP_BT; // Objek untuk Bluetooth
Selanjutnya, di dalam fungsi void setup () . Kami memulai komunikasi Serial dengan baud rate 9600 dan menginisialisasi sinyal Bluetooth dengan sebuah nama. Di sini saya menamakannya sebagai "ESP32_LED_Control ", ini akan menjadi nama yang akan ditemukan oleh ponsel kita saat mencoba memasangkan. Akhirnya saya telah menyatakan pin LED built-in sebagai pin keluaran karena kita akan mengaktifkannya berdasarkan sinyal Bluetooth.
void setup () { Serial.begin (9600); // Mulai monitor Serial di 9600 ESP_BT.begin ("ESP32_LED_Control"); // Nama Bluetooth Signal Serial.println Anda ("Perangkat Bluetooth Siap Dipasangkan"); pinMode (LED_BUILTIN, OUTPUT); // Tentukan bahwa pin LED adalah keluaran }
Di dalam fungsi infinite void loop , kami memeriksa apakah ada data yang masuk dari modul bluetooth, jika ya maka data tersebut dibaca dan disimpan di variabel yang masuk . Kami juga mencetak nilai ini di monitor Serial hanya untuk memeriksa silang apa yang diterima oleh Arduino.
if (ESP_BT.available ()) // Periksa apakah kami menerima sesuatu dari Bluetooth { incoming = ESP_BT.read (); // Baca apa yang kami terima Serial.print ("Received:"); Serial.println (masuk);
Sekarang, data apa pun yang diterima disimpan dalam variabel yang masuk , sehingga kita dapat langsung membandingkan variabel ini dengan nilai yang diharapkan dan melakukan tindakan yang diperlukan. Tetapi nilai yang dikirim dari Bluetooth akan berbentuk karakter dan Arduino akan membaca nilai Desimal dari karakter yang dikirim dari ponsel. Dalam kasus kita untuk char '0' nilai desimalnya adalah 48 dan untuk char '1' nilai desimalnya adalah 49. Anda dapat merujuk pada grafik ASCII untuk memahami apa yang akan menjadi nilai desimal untuk setiap karakter.
Di sini kita telah membandingkan variabel yang masuk dengan 48 dan 49 untuk memeriksa masing-masing 0 dan 1. Jika nilainya 1 maka kami mematikan LED dan juga mencetak pesan pengakuan kembali ke Bluetooth yang mengatakan bahwa LED dimatikan dan sebaliknya untuk 0.
if (masuk == 49) { digitalWrite (LED_BUILTIN, HIGH); ESP_BT.println ("LED dihidupkan"); } jika (masuk == 48) { digitalWrite (LED_BUILTIN, LOW); ESP_BT.println ("LED dimatikan"); }
Menguji Bluetooth Serial dengan ESP32
Hubungkan ESP Anda ke Arduino IDE Anda dan pilih papan dan port yang benar seperti yang dibahas dalam memulai tutorial. Karena itu adalah 3 rd manajer papan pihak mungkin butuh sedikit lebih lama untuk kode untuk mendapatkan disusun dan upload. Setelah diunggah, luncurkan monitor Serial (hanya untuk debugging) dan buka pengaturan Bluetooth di ponsel Anda. Anda harus menemukan perangkat Bluetooth bernama ESP32_LED_Control pair with.
Sekarang Anda dapat membuka aplikasi terminal Bluetooth apa pun di ponsel cerdas Anda, saya menggunakan yang bernama "Terminal Bluetooth" yang diunduh dari Google App store. Hubungkan aplikasi Bluetooth ke perangkat yang baru saja kita pasangkan dan ketik 1 dan tekan kirim.
Modul ESP32 harus menerimanya dan menyalakan LED sesuai program kami dan juga memberi Anda pesan pengakuan yang mengatakan LED dihidupkan seperti gambar yang ditunjukkan di atas. Anda juga dapat memeriksa monitor Serial yang akan menampilkan data yang diterima oleh ESP32 Bluetooth dalam format desimal yaitu Arduino Anda akan membaca 48 untuk 0 dan 49 untuk 1 seperti yang dijelaskan sebelumnya. Cuplikan dari jendela terminal saya ditampilkan di bawah.
Demikian pula, Anda juga harus dapat mematikan LED dengan mengirimkan 0 dari aplikasi seluler. Pekerjaan lengkap ditunjukkan pada video di bawah ini. Semoga Anda memahami tutorial dan mempelajari sesuatu yang bermanfaat. Jika Anda memiliki keraguan, silakan tinggalkan di bagian komentar di bawah atau gunakan forum kami untuk bantuan teknis lainnya.