- Apa perbedaan Bluetooth Low Energy (BLE)?
- Kapabilitas BLE Modul NRF24L01
- Komponen Diperlukan
- Dimulai dengan Modul nRF24L01
- Arduino
- Menghubungkan nRF24L01 dengan Arduino untuk komunikasi BLE
Bluetooth Low Energy (BLE) adalah versi Bluetooth dan hadir sebagai versi Bluetooth klasik yang lebih kecil dan sangat dioptimalkan. Ia juga dikenal sebagai Smart Bluetooth. BLE dirancang dengan mengingat konsumsi daya serendah mungkin, khususnya untuk biaya rendah, bandwidth rendah, daya rendah, dan kompleksitas rendah. ESP32 memiliki kemampuan BLE bawaan tetapi untuk mikrokontroler lain seperti Arduino, nRF24L01 dapat digunakan. Modul RF ini juga dapat digunakan sebagai modul BLE untuk mengirim data ke perangkat Bluetooth lain seperti smartphone, komputer dll.
Di sini, di tutorial ini kami akan mendemonstrasikan cara mengirim data apa pun melalui BLE menggunakan nRF24L01. Kami akan mengirimkan pembacaan suhu dari DHT11 ke smartphone menggunakan modul Arduino dan nRF melalui BLE.
Apa perbedaan Bluetooth Low Energy (BLE)?
BLE diadopsi karena fitur konsumsi daya karena dapat berjalan untuk waktu yang lama hanya dengan menggunakan sel koin. Dibandingkan dengan standar nirkabel lainnya, pertumbuhan cepat BLE telah berjalan lebih cepat karena aplikasinya yang fenomenal di ponsel pintar, tablet, dan komputasi seluler.
Kapabilitas BLE Modul NRF24L01
BLE menggunakan pita ISM 2,4 GHz yang sama dengan kecepatan baud dari 250Kbps hingga 2Mbps yang diizinkan di banyak negara dan dapat diterapkan pada aplikasi industri dan medis. Band dimulai pada 2400 MHz hingga 2483,5 MHz dan dibagi menjadi 40 saluran. Tiga dari saluran ini dikenal sebagai 'Periklanan' dan digunakan oleh perangkat untuk mengirim paket iklan dengan informasi tentangnya sehingga perangkat BLE lainnya dapat terhubung. Saluran ini awalnya dipilih di bagian atas bawah pita dan tengah pita untuk menghindari gangguan yang mungkin dapat mengganggu sejumlah saluran. Untuk mempelajari lebih lanjut tentang BLE, ikuti tutorial ini.
Tutorial ini akan menjelaskan bagaimana menggunakan modul NRF24L01 sebagai transceiver BLE. Tutorial tentang NRF24L01 sebagai modul RF telah dijelaskan dalam menghubungkan nRF24L01 dengan tutorial Arduino. Sekarang fungsi BLE modul ini akan dijelaskan dengan mengirimkan data sensor ke ponsel pintar. Di sini modul nRF24L01 ini akan dihubungkan dengan Mikrokontroler Arduino dan data suhu sensor DHT11 akan dikirim ke aplikasi android resmi Nordic BLE.
Komponen Diperlukan
Perangkat keras:
- Arduino UNO
- Modul nRF24L01 BLE
- DHT11 Sensor Suhu dan Kelembaban
- Pelompat
Perangkat lunak:
- IDE Arduino
- Aplikasi Android Nordic BLE (nRF Temp 2.0 untuk BLE atau nRF Connect untuk Seluler)
Dimulai dengan Modul nRF24L01
Modul nRF24L01 adalah modul transceiver, yang berarti setiap modul dapat mengirim dan menerima data tetapi karena mereka setengah dupleks, mereka dapat mengirim atau menerima data sekaligus. Modul ini memiliki IC nRF24L01 generik dari semikonduktor Nordik yang bertanggung jawab untuk transmisi dan penerimaan data. IC berkomunikasi menggunakan protokol SPI dan karenanya dapat dengan mudah dihubungkan dengan mikrokontroler manapun. Ini menjadi jauh lebih mudah dengan Arduino karena perpustakaan sudah tersedia. Kami sudah menggunakan modul nRF24L01 dengan Arduino untuk membuat ruang obrolan dan untuk mengontrol motor servo secara nirkabel.
Pinout dari modul nRF24L01 standar ditunjukkan di bawah ini:
Modul ini memiliki tegangan operasi dari 1.9V hingga 3.6V (biasanya 3.3V) dan mengkonsumsi arus yang sangat sedikit hanya 12mA selama operasi normal yang membuatnya hemat baterai dan karenanya dapat berjalan pada sel koin. Meskipun tegangan operasinya 3.3V, sebagian besar pin toleran 5V dan karenanya dapat langsung dihubungkan dengan mikrokontroler 5V seperti Arduino. Keuntungan lain menggunakan modul ini adalah, setiap modul memiliki 6 jalur pipa. Artinya, setiap modul dapat berkomunikasi dengan 6 modul lainnya untuk mengirimkan atau menerima data. Ini membuat modul cocok untuk membuat jaringan bintang atau mesh dalam aplikasi IoT. Juga mereka memiliki kisaran alamat yang luas dari 125 ID unik, oleh karena itu di area tertutup kita dapat menggunakan 125 modul ini tanpa saling mengganggu.
Arduino
Menghubungkan nRF24L01 dengan Arduino untuk komunikasi BLE
NRF24L01 bekerja pada SPI, jadi antarmuka akan menggunakan Protokol SPI. The kode lengkap dan video yang akan melekat pada akhir tutorial ini. Panduan aplikasi Android juga dijelaskan dalam video. Di sini modul nRF24L01 digunakan untuk berkomunikasi dengan Aplikasi Smartphone Nordik.Pertama, sertakan pustaka yang diperlukan. Pustaka tersebut mencakup RF24 untuk mengakses perintah nRF24L01, pustaka DHT11 untuk mengakses perintah DHT11 dan pustaka BTLE untuk menggunakan fungsi BLE.
#include
Tentukan dan inisialisasi pin dan fungsi untuk modul DHT11 dan BLE. Jenis DHT diinisialisasi sebagai DHT11 karena kami menggunakan DHT11. DHT terhubung ke GPIO Pin 4 dan pin CE dan CSN modul nRF terhubung ke Pin 9 dan 10 masing-masing.
# Tentukan DHTPIN # Tentukan DHTTYPE DHT11 DHT22 DHT dht (DHTPIN, DHTTYPE); Radio RF24 (9, 10); BTLE btle (& radio);
Mulai port serial di 9600, Anda dapat memilih port apa saja. Kemudian mulai sensor DHT dan juga mulai BTLE dengan Nama Lokal Bluetooth dengan panjang maksimal 8 karakter.
Serial.begin (9600); dht.begin (); btle.begin ("CD Temp");
Baca suhu di atas loop dan simpan ke suhu variabel float. Tambahkan baris debug untuk menampilkan pesan kesalahan jika DHT kehilangan kekuatannya atau terjadi sesuatu yang tidak terduga.
suhu float = dht.readTemperature (); // membaca data suhu if (isnan (h) - isnan (t)) { Serial.println (F ("Gagal membaca dari sensor DHT!")); kembali; }
Simpan nilainya ke Buffer dan parsing ke modul BLE. Juga kirim nilai Temperatur ke Modul BLE. Modul BLE akan mengiklankan data Suhu. Aplikasi android dapat mencari modul BLE dan menerima data sensor.
nrf_service_data buf; buf.service_uuid = NRF_TEMPERATURE_SERVICE_UUID; buf.value = BTLE:: to_nRF_Float (temp); if (! btle.advertise (0x16, & buf, sizeof (buf))) { Serial.println ("BTLE gagal..!"); }
Setelah selesai, langsung saja ke saluran berikutnya.
btle.hopChannel ();
Karena dokumentasi sensor DHT merekomendasikan untuk menjaga penundaan minimal 2 detik setelah satu kali pembacaan, jadi tambahkan penundaan selama 2 detik.
penundaan (2000);
Setelah mengunggah dan memasangkan smartphone dengan modul nRF, Anda akan mulai mendapatkan nilai pada aplikasi android nRF Temp 2.0 untuk BLE seperti yang ditunjukkan di bawah ini. Prosedur lengkap memasangkan dan mendapatkan data di aplikasi android juga dijelaskan dalam video:
Ini menyelesaikan tutorial lengkap tentang mengiklankan data sensor ke Aplikasi Android Nordik menggunakan BLE nRF24L01. Jika Anda menemukan kesulitan, beri komentar di bawah atau tulis ke forum kami. Untuk menjelajahi lebih lanjut tentang nRF24L02, Anda juga dapat mencoba Membuat Ruang Obrolan Pribadi menggunakan Arduino, nRF24L01 dan Pemrosesan.