Memulai ESP32 Bluetooth Classic dengan Arduino IDE

ESP32 dilengkapi dengan Wi-Fi, Bluetooth Low Energy, dan Bluetooth Classic. Dalam tutorial ini, Anda akan belajar cara menggunakan ESP32 Bluetooth Classic dengan Arduino IDE untuk bertukar data antara ESP32 dan smartphone Android.

Kami akan mengontrol output ESP32, dan mengirim pembacaan sensor ke smartphone Android menggunakan Bluetooth Classic.

Catatan: proyek ini hanya kompatibel dengan smartphone Android.

Tonton Video Tutorialnya

Anda dapat menonton video tutorial atau terus membaca halaman ini untuk instruksi tertulis.

Bluetooth Klasik dengan ESP32

Saat ini, menggunakan Bluetooth Classic jauh lebih sederhana daripada Bluetooth Low Energy. Jika Anda sudah memprogram Arduino dengan modul Bluetooth seperti HC-06, ini sangat mirip. Ini menggunakan protokol dan fungsi serial standar.

Dalam tutorial ini, kita akan mulai dengan menggunakan contoh yang disertakan dengan Arduino IDE. Kemudian, kami akan membuat proyek sederhana untuk bertukar data antara ESP32 dan smartphone Android Anda.

Bagian yang Diperlukan

Untuk mengikuti tutorial ini, Anda memerlukan bagian-bagian berikut :

    ESP32 DOIT DEVKIT V1 Board (baca Papanpengembangan ESP32 Terbaik)

    • Smartphone Android dengan Bluetooth

    LED 5mm

    330 Ohm resistor

    Sensor suhu DS18B20

     Resistor 4.7k Ohm

    Kabel jumper

    Breadboard

Aplikasi Terminal Bluetooth

Untuk melanjutkan tutorial ini, Anda memerlukan aplikasi Terminal Bluetooth yang diinstal di ponsel cerdas Anda.

Kami merekomendasikan menggunakan aplikasi Android "Serial Bluetooth Terminal" yang tersedia di Play Store.

Serial ke Serial Bluetooth

Kami akan memprogram ESP32 menggunakan Arduino IDE, jadi pastikan Anda telah menginstal add-on ESP32 sebelum melanjutkan:

    Windows: instruksi – Papan ESP32 diArduino IDE

    Mac dan Linux: instruksi – Papan ESP32 diArduino IDE

Buka Arduino IDE Anda, dan buka File > Examples > BluetoothSerial > SerialtoSerialBT.

Kode berikut harus dimuat.



Cara Kerja Kode

Kode ini membuat komunikasi Bluetooth serial dua arah antara dua perangkat.

Kode dimulai dengan menyertakan perpustakaan BluetoothSerial.

Tiga baris berikutnya memeriksa apakah Bluetooth diaktifkan dengan benar.

Kemudian, buat instance BluetoothSerial yang disebut SerialBT:

setup()

Dalam setup() inisialisasi komunikasi serial pada baud rate 115200.

Inisialisasi perangkat serial Bluetooth dan berikan argumen nama Perangkat Bluetooth. Secara default ini disebut ESP32test tetapi Anda dapat mengganti namanya dan memberinya nama yang unik.

loop()

Di loop(), kirim dan terima data melalui Bluetooth Serial.

Pada pernyataan if pertama, kami memeriksa apakah ada byte yang diterima di port serial. Jika ada, kirimkan informasi tersebut melalui Bluetooth ke perangkat yang terhubung.

SerialBT.write() mengirimkan data menggunakan serial bluetooth.

Serial.read() mengembalikan data yang diterima di port serial.

Pernyataan if berikutnya, memeriksa apakah ada byte yang tersedia untuk dibaca di port Serial Bluetooth. Jika ada, kami akan menulis byte tersebut di Serial Monitor.

Akan lebih mudah untuk memahami dengan tepat bagaimana sketsa ini bekerja dalam demonstrasi.

Menguji Kode

Upload kode sebelumnya ke ESP32. Pastikan Anda memilih papan dan port COM yang tepat.

Setelah mengupload kode, buka Serial Monitor dengan baud rate 115200. Tekan tombol ESP32 Enable.

Setelah beberapa detik, Anda akan mendapatkan pesan yang mengatakan: "Perangkat dimulai, sekarang Anda dapat memasangkannya dengan bluetooth!".

Buka ponsel cerdas Anda dan buka aplikasi "Terminal Bluetooth Serial". Pastikan Anda telah mengaktifkan Bluetooth ponsel cerdas Anda.

Untuk menghubungkan ke ESP32 untuk pertama kalinya, Anda perlu memasangkan perangkat baru.

Buka Perangkat.

Klik ikon pengaturan, dan pilih Pasangkan perangkat baru. Anda harus mendapatkan daftar dengan perangkat Bluetooth yang tersedia, termasuk ESP32test. Pasangkan dengan tes ESP32.

Kemudian, kembali ke Terminal Bluetooth Serial. Klik ikon di bagian atas untuk terhubung ke ESP32. Anda harus mendapatkan pesan "Terhubung".

Setelah itu, ketik sesuatu di aplikasi Terminal Bluetooth Serial. Misalnya, "Halo".

Anda akan langsung menerima pesan itu di Arduino IDE Serial Monitor.

Anda juga dapat bertukar data antara Serial Monitor dan ponsel cerdas Anda. Ketik sesuatu di bilah atas Serial Monitor dan tekan tombol "Kirim".

Anda akan langsung menerima pesan itu di Aplikasi Terminal Bluetooth Serial.

Tukar Data menggunakan Bluetooth Serial

Sekarang setelah Anda mengetahui cara bertukar data menggunakan Bluetooth Serial, Anda dapat memodifikasi sketsa sebelumnya untuk membuat sesuatu yang bermanfaat. Misalnya, mengontrol output ESP32 saat Anda menerima pesan tertentu, atau mengirim data ke ponsel cerdas Anda seperti pembacaan sensor.

Proyek yang akan kami bangun mengirimkan pembacaan suhu setiap 10 detik ke ponsel cerdas Anda. Kami akan menggunakan sensor suhu DS18B20.

Melalui aplikasi Android, kami akan mengirim pesan untuk mengontrol output ESP32. Ketika ESP32 menerima pesan led_on, kami akan mengaktifkan GPIO, ketika menerima pesan led_off, kami akan mematikan GPIO.

Skema

Sebelum melanjutkan dengan proyek ini, merakit sirkuit dengan mengikuti diagram skema berikutnya.

Hubungkan LED ke GPIO25, dan sambungkan pin data DS18B20 ke GPIO32.

Kode

Untuk bekerja dengan sensor suhu DS18B20, Anda perlu menginstal perpustakaan One Wire oleh Paul Stoffregen dan library Suhu Dallas. Ikuti petunjuk selanjutnya untuk menginstal pustaka ini, jika Anda belum melakukannya.

Library Satu Kawat

1. Klik di sini untuk mengunduh library One Wire. Anda harus memiliki folder .zip di Unduhan Anda

2. Buka zip folder .zip dan Anda akan mendapatkan folder master OneWire

3. Ganti nama folder Anda dari OneWire-master ke OneWire

4. Pindahkan folder OneWire ke folder perpustakaan instalasi Arduino IDE Anda

5. Terakhir, buka kembali Arduino IDE Anda

Library Suhu Dallas

1. Klik di sini untuk mengunduh library Suhu Dallas. Anda harus memiliki folder .zip di Unduhan Anda

2. Buka zip folder .zip dan Anda akan mendapatkan folder Arduino-Temperature-Control-Library-master

3. Ganti nama folder Anda dari Arduino-Temperature-Control-Library-master ke DallasTemperature

4. Pindahkan folder DallasTemperature ke folder library instalasi Arduino IDE Anda

5. Terakhir, buka kembali Arduino IDE Anda

Setelah merakit sirkuit dan menginstal perpustakaan yang diperlukan, salin sketsa berikut ke Arduino IDE Anda.





Cara Kerja Kode

Mari kita lihat sekilas kodenya dan lihat cara kerjanya.

Mulailah dengan menyertakan perpustakaan yang diperlukan. Pustaka BluetoothSerial untuk Bluetooth, dan OneWire dan DallasTemperature untuk sensor suhu DS18B20.

Buat instance BluetoothSerial yang disebut SerialBT.

Buat variabel bernama ledPin untuk menampung GPIO yang ingin Anda kendalikan. Dalam hal ini, GPIO25 memiliki LED yang terhubung.

Tentukan pin sensor DS18B20 dan buat objek untuk membuatnya berfungsi. Sensor suhu terhubung ke GPIO32.

Buat string kosong bernama pesan untuk menyimpan pesan yang diterima.

Buat variabel char bernama incomingChar untuk menyimpan karakter yang datang melalui Bluetooth Serial.

Variabel temperatureString menyimpan pembacaan suhu yang akan dikirim melalui Bluetooth.

Buat variabel pengatur waktu tambahan untuk mengirim bacaan setiap 10 detik.

setup()

Di setup(), atur ledPin sebagai output.

Inisialisasi ESP32 sebagai perangkat bluetooth dengan nama "ESP32".

loop()

Di loop(), kirim pembacaan suhu, baca pesan yang diterima dan lakukan tindakan yang sesuai.

Cuplikan kode berikut, memeriksa apakah 10 detik telah berlalu sejak pembacaan terakhir. Jika sudah waktunya untuk mengirim bacaan baru, kami mendapatkan suhu terbaru dan menyimpannya dalam Celcius dan Fahrenheit di variabel temperatureString.

Kemudian, untuk mengirim temperatureString melalui bluetooth, gunakan SerialBT.println().

Pernyataan if berikutnya membaca pesan masuk. Saat Anda menerima pesan melalui serial, Anda menerima satu karakter sekaligus. Anda tahu bahwa pesan itu berakhir, ketika Anda menerima \n.

Jadi, kami memeriksa apakah ada data yang tersedia di port serial Bluetooth.

Jika ada, kita akan menyimpan karakter dalam variabel IncomingChar.

Jika incomingChar berbeda dari \n, kami akan menggabungkan karakter char tersebut ke pesan kami.

Setelah selesai membaca karakter, kami menghapus variabel pesan. Jika tidak, semua pesan yang diterima akan ditambahkan satu sama lain.

Setelah itu, kami memiliki dua pernyataan if untuk memeriksa isi pesan. Jika pesannya led_on, maka LED akan menyala.

Jika pesan led_off, LED mati.

Menguji Proyek

Unggah sketsa sebelumnya ke papan ESP32 Anda. Kemudian, buka Serial Monitor, dan tekan tombol ESP32 Enable. Saat Anda menerima pesan berikut, Anda dapat membuka ponsel cerdas Anda dan terhubung dengan ESP32.

Kemudian, Anda dapat menulis pesan "led_on" dan "led_off" untuk mengontrol LED.

Aplikasi ini memiliki beberapa tombol di mana Anda dapat menyimpan pesan default. Misalnya, Anda dapat mengaitkan M1 dengan pesan "led_on", dan M2 dengan pesan "led_off".

Sekarang, Anda dapat mengontrol GPIO ESP32.

Pada saat yang sama, Anda harus menerima pembacaan suhu setiap 10 detik.

Membungkus

Singkatnya, ESP32 mendukung BLE dan Bluetooth Classic. Menggunakan Bluetooth Classic semudah menggunakan komunikasi serial dan fungsinya.

Jika Anda ingin mempelajari cara menggunakan BLE dengan ESP32, Anda dapat membaca panduan kami:

    Memulai dengan ESP32 Bluetooth Low Energy(BLE) di Arduino IDE

Kami harap tutorial ini bermanfaat bagi Anda. Untuk proyek lainnya dengan ESP32, Anda dapat memeriksa kompilasi proyek kami: 20+ Proyek dan Tutorial ESP32.

 Sumber : randomnerdtutorials.com

Posting Komentar

0 Komentar