- Komponen Diperlukan
- Diagram Litar Modul Bluetooth ESP8266 HC-05
- Modul Bluetooth HC-05
- Menggunakan Terminal Bluetooth Bersiri (Aplikasi Android)
- Pengaturcaraan NodeMCU ESP8266 untuk antara muka Bluetooth
Kini beberapa hari, Bluetooth telah menjadi sebahagian penting dari peranti digital dan terdapat dalam kebanyakan peranti seperti Telefon Pintar, Komputer riba, PC, Kamera, Jam Tangan, Jalur Kecergasan dan banyak lagi. Bluetooth sentiasa mendominasi protokol dalam komunikasi tanpa wayar sejak ia ditemui. Walaupun Teknologi Bluetooth pada asasnya adalah sistem penggantian kabel tetapi ia juga memanfaatkan jambatan universal ke rangkaian data yang ada dan mekanisme sambungan ad hoc untuk jumlah peranti dalam pelbagai konfigurasi. Kami telah menggunakan modul Bluetooth HC05 dan HC06 dengan banyak pengawal mikro lain untuk menjadikannya berkomunikasi tanpa wayar:
- Memadankan Bluetooth HC-05 dengan Pil Biru STM32F103C8: LED Pengawal
- Memadankan modul Bluetooth HC-05 dengan AVR Microcontroller
- Robot Terkawal Android menggunakan Mikrokontroler 8051
- Mengendalikan Raspberry Pi GPIO menggunakan Aplikasi Android melalui Bluetooth
- Kereta Mainan Terkawal Bluetooth menggunakan Arduino
Hari ini kita akan menghubungkan Modul Bluetooth HC-05 dengan modul Wi-Fi yang popular ESP8266 dan mengawal LED secara wayarles dengan menghantar arahan melalui Bluetooth. LED ini dapat diganti dengan Relay dan alat AC untuk membina Aplikasi Automasi Rumah.
Komponen Diperlukan
Perkakasan:
- NodeMCU ESP8266
- Modul Bluetooth HC-05
Perisian:
- Arduino IDE
- Terminal Bluetooth Bersiri (Aplikasi Android): Untuk Memantau Data Bluetooth pada Telefon Pintar.
Diagram Litar Modul Bluetooth ESP8266 HC-05
Gambarajah litar untuk menghubungkan modul Bluetooth HC-05 dengan NodeMCU ESP8266 sangat mudah dan ditunjukkan di bawah:
Modul Bluetooth luaran diperlukan dengan ESP8266 kerana ia tidak mempunyai Bluetooth bawaan seperti ESP32. ESP32 mempunyai Bluetooth Tenaga Rendah (BLE) dan Bluetooth Klasik, yang sebelumnya kami telah membahas beberapa tutorial:
- Pelayan ESP32 BLE - Perkhidmatan GATT untuk Petunjuk Tahap Bateri
- Pelanggan ESP32 BLE - Menyambung ke Jalur Kecergasan untuk Mencetuskan Mentol
- Cara Menggunakan Serial Bluetooth di ESP32
Modul Bluetooth HC-05
HC-05 adalah modul Bluetooth bersiri. Ia dapat dikonfigurasi menggunakan perintah AT. Ia boleh berfungsi dalam tiga konfigurasi yang berbeza (Master, Slave, Loop back). Dalam projek kami, kami akan menggunakannya sebagai hamba. Ciri-ciri modul HC-05 merangkumi,
- Kepekaan -80dBm khas.
- Kadar baud lalai: 9600bps, 8 bit data, 1 bit berhenti, tanpa pariti.
- Kod pin berpasangan secara automatik: kod pin lalai "1234" atau "0000".
- Ia mempunyai 6 pin.
- Pin Vcc dan Gnd digunakan untuk menghidupkan HC-05.
- Pin Tx dan Rx digunakan untuk berkomunikasi dengan mikrokontroler.
- Aktifkan pin untuk mengaktifkan modul HC-05. apabila rendah, modul dilumpuhkan
- Pin keadaan bertindak penunjuk status. Apabila tidak dipasangkan / disambungkan dengan peranti Bluetooth lain, LED berkedip secara berterusan. Apabila ia disambungkan / dipasangkan dengan peranti Bluetooth lain, maka LED berkelip dengan kelewatan berterusan 2 saat.
Untuk mengetahui lebih lanjut mengenai modul Bluetooth, lihat projek berkaitan Bluetooth kami yang lain.
Menggunakan Terminal Bluetooth Bersiri (Aplikasi Android)
Menggunakan aplikasi ini sangat mudah dan memerlukan beberapa langkah. Tangkapan skrin diberikan di bawah dengan langkah-langkah. Pasangkan HC-05 dengan Telefon Pintar. Kod lalai adalah '0000' atau '1234' tetapi kebanyakannya '1234' berfungsi.
- Mula-mula memuat turun dan memasang aplikasi Kemudian pergi ke peranti untuk mencari Modul HC-05. Pilih Modul HC-05 yang dicari di aplikasi. Sekiranya tidak dijumpai, periksa sama ada HC-05 dihidupkan dengan betul.
- Setelah mengklik HC-05, ia akan disambungkan. Sekarang taipkan sebarang mesej di kotak mesej dan hantarkan. Ia akan dicetak di Arduino Serial Monitor.
Pengaturcaraan NodeMCU ESP8266 untuk antara muka Bluetooth
Untuk memprogram NodeMCU ESP8266 menggunakan ArduinoIDE, pasangkan sahaja dari Laptop atau PC menggunakan Kabel USB Mikro dan buka Arduino IDE. Untuk tutorial ini, siri perkakasan dan siri perisian akan digunakan. Siri perkakasan akan digunakan untuk membaca dan menulis data ke Arduino Serial Monitor dan Sofware Serial akan digunakan berkomunikasi dengan HC-05. Seperti biasa kod lengkap dan Video Demo diberikan pada akhir tutorial.
Pada mulanya, sertakan perpustakaan Serial Perisian kerana ia akan digunakan dalam tutorial ini.
#sertakan
Tentukan pin RX dan TX untuk komunikasi bersiri perisian, juga tentukan pin yang disambungkan ke NodeMCU. Kami menggunakan LED dalaman NodeMCU yang berada di Pin D4.
SoftwareSerial btSerial (D2, D3); // RX, int led = D4;
Mulakan Serial Perisian dan Perkakasan pada kadar 9600 baud. Tetapkan Pin Led sebagai output. Cetak beberapa mesej selamat datang dan nyahpepijat.
Serial.begin (9600); btSerial.begin (9600); pinMode (D4, OUTPUT); Serial.println ("Bermula…");
Pertama, baca dari modul Bluetooth dan tentukan kes bahawa jika Modul Bluetooth Menerima "B" dari Telefon maka Mula Berkedip Led disambungkan ke D4 dari NodeMCU yang lain jika menerima "S", kemudian berhenti berkedip dipimpin. Kami tidak menggunakan kelewatan () di sini. Tetapi Arduino 'millis' akan digunakan untuk tidak menghambat prestasi Arduino.
jika (btSerial.available ()> 0) { char data = btSerial.read (); beralih (data) { case 'B': ledB = "blink"; rehat; kes 'S': ledB = "berhenti"; rehat; lalai: rehat; } }
Mili didefinisikan dan menetapkan kelewatan pada 500ms iaitu led akan berkelip setelah setiap 500ms. Anda juga boleh mengkonfigurasi kelewatan yang dipimpin dengan mengubah nilai 'selang'. Keadaan yang dipimpin akan ditukar.
arus panjang yang tidak ditandatanganiMillis = millis ();
if (ledB == "blink") { Serial.println ("berkelip dimulakan"); if (currentMillis - sebelumnyaMillis> = selang) { sebelumnyaMillis = currentMillis; jika (ledState == RENDAH) { ledState = TINGGI; } lain { ledState = RENDAH; } digitalWrite (led, ledState); } }
Dan ini akan menyelesaikan pengaturcaraan NodeMCU untuk Blink LED tanpa wayar menggunakan Bluetooth. Anda juga dapat mengubah program untuk melakukan tugas yang berbeza dengan LED seperti LED dapat diganti dengan alat Relay dengan AC untuk membuat projek automasi Bluetooth Home. Sekiranya terdapat keraguan atau cadangan, sila ke forum kami atau komen di bawah.