Dalam artikel ini, kami akan menyambungkan papan ESP32 dengan telefon Android dan menyampaikan data melalui Bluetooth. Selanjutnya, kami akan mengawal LED yang disambungkan dengan pin GPIO ESP32 terus melalui telefon pintar Android.
kandungan:
- Apakah itu ESP32 Bluetooth LE
- Cara Memprogram ESP32 Untuk Berkomunikasi melalui Bluetooth dengan Telefon Pintar Android
- Langkah-langkah untuk Menyambungkan Bluetooth ESP32 dengan Telefon Android
- Rajah Litar
- Perkakasan
- Pengeluaran
- Kesimpulan
Apakah itu ESP32 Bluetooth LE
ESP32 ialah papan mikropengawal yang menyokong kedua-dua Bluetooth Klasik dan tenaga Bluetooth Rendah yang juga dikenali sebagai Bluetooth pintar. BLE atau Bluetooth pintar adalah khusus untuk komunikasi cekap tenaga atau direka untuk komunikasi jarak dekat atau pemindahan data kecil.
Fungsi BLE ESP32 membolehkannya bertindak sebagai pelayan atau klien dalam komunikasi Bluetooth. Ia boleh mengendalikan tugas seperti perkhidmatan membaca dan menulis. Ia juga boleh menyulitkan sambungan dan mewujudkan sambungan Profil Port Bersiri (SPP) untuk penghantaran data dalam mod lulus UART-BLE. Bluetooth ESP32 menyokong protokol 4.2, yang bermaksud ia serasi dengan lapisan berbeza seperti Lapisan Fizikal (PHY) dan Lapisan Pautan (LL). Ia juga mempunyai sokongan untuk Antara Muka Pengawal Hos (HCI), antara lain.
Semak jadual perbezaan untuk ESP32 Classic dan BLE Bluetooth.
Ciri | Bluetooth klasik | Bluetooth Tenaga Rendah (BLE) |
Jenis Komunikasi | Komunikasi dua hala yang berterusan | Terputus-putus, terutamanya sehala data pecah |
Julat Operasi | Boleh mencecah sehingga 100 meter | Biasanya beroperasi di bawah 100 meter |
Penggunaan Kuasa | Menggunakan sehingga 1 Watt | Berjulat dari 10 miliwatt hingga 500 miliwatt |
Kelajuan Pemindahan | Kadar pemindahan data berbeza dari 1 hingga 3 Megabit sesaat | Menyokong 125 Kilobit sesaat hingga 2 Megabit sesaat |
Masa tindak balas | Latensi sekitar 100 milisaat | Respons pantas dengan kependaman 6 milisaat |
Sokongan Suara | Dilengkapi dengan penghantaran suara | Tidak mempunyai fungsi penghantaran suara |
Lihat artikel Bluetooth ESP32 ini untuk mengetahui lebih lanjut mengenainya.
- ESP32 Bluetooth – Panduan Terbaik
- ESP32 – Bluetooth Klasik lwn Bluetooth Tenaga Rendah (BLE)
Cara Memprogram ESP32 Untuk Berkomunikasi melalui Bluetooth dengan Telefon Pintar Android
Untuk memprogram ESP32 supaya ia boleh berkomunikasi dengan telefon Android menggunakan protokol Bluetooth, anda perlu menyediakan perpustakaan bersiri Bluetooth ESP32. Untuk itu, anda mesti mempunyai persediaan IDE Arduino dengan papan ESP32 dipasang.
Selepas menetapkan Bluetooth ESP32, anda perlu memasang aplikasi Android bersiri Bluetooth. Ini akan membolehkan anda menghantar arahan daripada telefon Android ke ESP32 menggunakan komunikasi Bersiri Bluetooth.
Mari kita lihat dengan lebih dekat setiap langkah ini:
Langkah-langkah untuk Menyambungkan Bluetooth ESP32 dengan Telefon Android
Untuk memprogramkan papan ESP32 untuk komunikasi Bluetooth, ikuti langkah yang diberikan ini:
Langkah 1: Memasang Papan ESP32 dalam Arduino IDE
Untuk memasang ESP32 pada Arduino IDE, cuma ikut panduan yang disediakan dalam artikel ini.
Memasang Papan ESP32 dalam Arduino IDE
Selepas pemasangan, papan ESP32 boleh disambungkan dan diprogramkan menggunakan Arduino IDE.
Langkah 2: Muat naik Kod Bluetooth ESP32
Setelah papan ESP32 dipasang, anda akan melihat perpustakaan pra-pasang yang berbeza dan contoh-contohnya dalam Arduino IDE. Semua perpustakaan ini berkaitan dengan papan ESP32. Untuk komunikasi bersiri Bluetooth, kami akan menggunakan ESP32 BluetoothSerial.h kod contoh perpustakaan.
Untuk membuka kod contoh, buka Arduino IDE dan pergi ke: Fail > Contoh > BluetoothSerial > SerialtoSerialBT
Untuk membuka kod contoh ini, pastikan papan ESP32 dipilih.
Selepas membuka kod contoh, anda akan melihat kod berikut dalam tetingkap Arduino IDE anda:
//Selamat Datang Ke Linuxhint#include 'BluetoothSerial.h'
//#define USE_PIN // Nyahkomen ini jika anda mahu PIN semasa berpasangan
const char * pin = '1234' ; // Tentukan PIN berpasangan tersuai
Nama_peranti rentetan = 'ESP32' ;
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth tidak didayakan! Jalankan `make menuconfig` untuk mendayakannya
#endif
#if !defined(CONFIG_BT_SPP_ENABLED)
#error Bluetooth bersiri tiada atau tidak didayakan. Ia hanya tersedia untuk cip ESP32.
#endif
BluetoothSerial SerialBT ;
batal persediaan ( ) {
bersiri. bermula ( 115200 ) ;
SerialBT. bermula ( Nama peranti ) ; //Nama peranti Bluetooth
bersiri. printf ( 'Peranti' % s 'dimulakan. \n Mula memasangkan peranti anda! \n ' , Nama peranti. c_str ( ) ) ;
//Serial.printf('Peranti '%s' dengan alamat MAC %s dimulakan.\nMula pasangkannya dengan Bluetooth!\n', device_name.c_str(), SerialBT.getMacString());
#ifdef USE_PIN
SerialBT. setPin ( pin ) ;
bersiri. println ( 'Menggunakan PIN' ) ;
#endif
}
batal gelung ( ) {
jika ( bersiri. tersedia ( ) ) {
SerialBT. menulis ( bersiri. membaca ( ) ) ;
}
jika ( SerialBT. tersedia ( ) ) {
bersiri. menulis ( SerialBT. membaca ( ) ) ;
}
kelewatan ( dua puluh ) ;
}
Selepas memuat naik kod, anda akan melihat mesej berikut pada skrin. Mesej ini menerangkan bahawa papan ESP32 anda sedia untuk berpasangan.
Langkah 3: Penerangan Kod
Kod itu bermula dengan memasukkan perpustakaan yang diperlukan dan menyemak ketersediaan Bluetooth. Ia juga menyediakan pembolehubah untuk nama peranti Bluetooth dan PIN.
Di dalam persediaan() fungsi, komunikasi baud bersiri ditakrifkan dan peranti Bluetooth dimulakan dengan namanya. PIN tersuai boleh ditetapkan untuk pengesahan semasa berpasangan.
The gelung() fungsi memeriksa secara berterusan untuk data pada sambungan bersiri dan Bluetooth. Ini membolehkannya mewujudkan komunikasi dua hala antara ESP32 dan peranti Bluetooth berpasangan.
Langkah 4: Pasang Aplikasi Android
Setelah kod dimuat naik, langkah seterusnya ialah memasang dan mengkonfigurasi aplikasi Android untuk sambungan Bluetooth.
Buka Gedung Play dan pasangkan Terminal Bluetooth Bersiri permohonan.
Selepas pemasangan, buka tetapan Bluetooth telefon pintar dan sambungkan telefon anda dengan Bluetooth ESP32. Jika anda telah menentukan PIN dalam kod IDE Arduino anda perlu memasukkan PIN jika tidak ia akan bersambung secara langsung.
Sekarang buka aplikasi Bluetooth Bersiri dan pilih Peranti pilihan.
Daripada menu yang baru dibuka, pilih peranti ESP32. Senarai ini menunjukkan semua peranti Bluetooth yang sedang aktif.
Seperti yang anda lihat, Bluetooth ESP32 disambungkan ke telefon pintar Android anda.
Untuk menguji sambungan, kami akan menghantar rentetan. Di sini saya telah menghantar dua rentetan yang berbeza.
Anda akan melihat dua rentetan yang sama juga akan dipaparkan pada terminal IDE Arduino.
Sekarang mari kita bergerak selangkah lebih jauh dan mengawal peranti luaran seperti LED menggunakan ESP32 Bluetooth melalui telefon pintar Android.
Langkah 5: Kawal LED Menggunakan Telefon Android melalui Bluetooth
Untuk mengawal LED menggunakan ESP32 dan Android Bluetooth, mula-mula ubah suai kod di atas dan tentukan pin GPIO untuk LED. Selepas itu, anda mesti menetapkan nilai untuk menghidupkan dan mematikan LED.
Muat naik kod di bawah untuk meneruskan lebih jauh.
#include#define LED_PIN 15 // Tentukan pin LED
BluetoothSerial SerialBT ; // Cipta objek BluetoothSerial
bait BT_INP ; // Pembolehubah untuk menyimpan input Bluetooth
// Semak sama ada Bluetooth dan Bluedroid didayakan dalam konfigurasi SDK
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth tidak didayakan. Jalankan `make menuconfig` untuk mendayakannya.
#endif
batal persediaan ( ) {
pinMod ( PIN_LED , PENGELUARAN ) ; // Tetapkan pin LED sebagai output
bersiri. bermula ( 115200 ) ;
SerialBT. bermula ( 'ESP32' ) ; // Mulakan Bluetooth dengan nama 'ESP32'
bersiri. println ( 'Peranti Bluetooth sedia untuk dipasangkan.' ) ; // Tunjukkan bahawa Bluetooth sudah sedia
}
batal gelung ( ) {
// Semak sama ada terdapat sebarang data yang tersedia untuk dibaca daripada Bluetooth
jika ( SerialBT. tersedia ( ) ) {
BT_INP = SerialBT. membaca ( ) ; // Baca bait masuk daripada Bluetooth
bersiri. menulis ( BT_INP ) ; // Gema bait baca kepada monitor bersiri
}
// Semak data Bluetooth yang diterima dan tetapkan keadaan LED
jika ( BT_INP == '1' ) {
digitalWrite ( PIN_LED , TINGGI ) ; // Hidupkan LED jika '1' diterima
} lain jika ( BT_INP == '0' ) {
digitalWrite ( PIN_LED , RENDAH ) ; // Matikan LED jika '0' diterima
}
}
Kod ini adalah untuk mikropengawal ESP32 mengawal LED menggunakan Bluetooth. Ia termasuk perpustakaan untuk komunikasi Bluetooth. Seterusnya, ia mentakrifkan pin LED dan menyediakan Bluetooth dengan peranti bernama ESP32. Gelung utama membaca data Bluetooth dan menghidupkan atau MATI LED berdasarkan arahan yang diterima (1 untuk HIDUP, 0 untuk MATI).
Rajah Litar
Gambar rajah litar adalah mudah, dengan LED disambungkan pada pin D15 daripada ESP32. Anda boleh menentukan mana-mana GPIO lain untuk kawalan LED.
Berkaitan: Rujukan Pinout ESP32–Panduan Muktamad
Perkakasan
Dalam perkakasan, anda memerlukan papan roti, papan ESP32 dan LED. Sambungkan ESP32 dengan sistem dan muat naik program kepadanya.
Sekarang hantar 1 dan 0 daripada aplikasi komunikasi Bersiri Bluetooth telefon Android.
Anda akan melihat input yang sama pada terminal IDE Arduino yang diterima daripada telefon Android.
Pengeluaran
Sebaik sahaja anda menghantar nilai Tinggi atau 1, LED akan dihidupkan, begitu juga apabila anda menghantar nilai Rendah, LED akan dimatikan.
Tetapkan Butang Tersuai
Anda juga boleh menetapkan butang tersuai di dalam aplikasi Bluetooth Bersiri. Sebagai contoh, butang nilai TINGGI dan RENDAH boleh dibuat. Dengan cara ini, anda tidak perlu menaip nilai secara manual. Sebaliknya, anda hanya perlu menekan butang pintasan, dan ia akan melaksanakan arahan yang anda tetapkan.
Catatan: Untuk membuka tetapan butang, tekan lama pada butang.
Untuk menetapkan nilai butang HIGH, tentukan tetapan berikut.
Persamaan untuk nilai butang LOW, anda perlu menentukan tetapan di bawah.
Kami telah berjaya menyambungkan papan ESP32 dengan telefon Android menggunakan Bluetooth. Kini anda boleh membuat banyak projek menggunakannya. Seperti, anda boleh mengawal peralatan rumah anda menggunakan Bluetooth ESP32 melalui litar geganti.
Berkaitan: Relay dengan ESP32 Menggunakan Arduino IDE
Kesimpulan
ESP32 ialah papan mikropengawal termaju dengan keupayaan Wi-Fi dan Bluetooth. Kedua-dua modul terbina dalam ini membantu anda untuk mereka bentuk projek lanjutan dan mengawal peranti secara wayarles. Begitu juga, anda boleh menyambungkan ESP32 dengan telefon Android dan melakukan operasi yang berbeza. Untuk itu, anda perlu memasang aplikasi Android Serial Bluetooth. Setelah dipasang, buka contoh kod untuk ESP32 Bluetooth dan muat naik ke papan anda. Setelah kod dimuat naik, anda boleh memasangkannya dengan papan anda melalui telefon Android.