- Bagaimana Tenaga Rendah Bluetooth (BLE) berbeza?
- Keupayaan BLE Modul NRF24L01
- Komponen Diperlukan
- Bermula dengan Modul nRF24L01
- Arduino
- Memadankan nRF24L01 dengan Arduino untuk komunikasi BLE
Tenaga Rendah Bluetooth (BLE) adalah versi Bluetooth dan ia hadir sebagai versi Bluetooth klasik yang lebih kecil dan sangat dioptimumkan. Ia juga dikenali sebagai Bluetooth Pintar. BLE dirancang dengan mempertimbangkan penggunaan kuasa serendah mungkin khusus untuk kos rendah, lebar jalur rendah, daya rendah dan kerumitan rendah. ESP32 mempunyai keupayaan BLE yang terbina dalam tetapi untuk pengawal mikro lain seperti Arduino, nRF24L01 dapat digunakan. Modul RF ini juga dapat digunakan sebagai modul BLE untuk mengirim data ke peranti Bluetooth lain seperti telefon pintar, komputer dll.
Di sini dalam tutorial ini kita akan menunjukkan cara mengirim data melalui BLE menggunakan nRF24L01. Kami akan menghantar bacaan suhu dari DHT11 ke telefon pintar menggunakan modul Arduino dan nRF melalui BLE.
Bagaimana Tenaga Rendah Bluetooth (BLE) berbeza?
BLE diadopsi kerana fitur penggunaan kuasanya kerana dapat berjalan untuk jangka waktu yang panjang dengan hanya menggunakan sel duit. Berbanding dengan piawaian tanpa wayar lain, pertumbuhan BLE yang semakin pesat semakin cepat kerana aplikasi fenomenalnya di telefon pintar, tablet, dan pengkomputeran mudah alih.
Keupayaan BLE Modul NRF24L01
BLE menggunakan jalur ISM 2,4 GHz yang sama dengan kecepatan baud dari 250Kbps hingga 2Mbps yang dibenarkan di banyak negara dan dapat digunakan untuk aplikasi industri dan perubatan. Band bermula pada 2400 MHz hingga 2483.5 MHz dan ia dibahagikan kepada 40 saluran. Tiga saluran ini dikenali sebagai 'Advertising' dan digunakan oleh peranti untuk menghantar paket iklan dengan maklumat tentangnya sehingga peranti BLE lain dapat berhubung. Saluran-saluran ini pada mulanya dipilih di bahagian bawah bahagian bawah band dan tengah band untuk mengelakkan gangguan yang mungkin boleh mengganggu sebilangan saluran. Untuk mengetahui lebih lanjut mengenai BLE, ikuti tutorial ini.
Tutorial ini akan menerangkan bagaimana menggunakan modul NRF24L01 sebagai pemancar BLE. Tutorial mengenai NRF24L01 sebagai modul RF telah dijelaskan dalam menghubungkan nRF24L01 dengan tutorial Arduino. Hari ini fungsi BLE modul ini akan dijelaskan dengan menghantar data sensor ke telefon pintar. Di sini modul nRF24L01 ini akan dihubungkan dengan Arduino Microcontroller dan data suhu sensor DHT11 akan dihantar ke aplikasi android Nordic BLE rasmi.
Komponen Diperlukan
Perkakasan:
- Arduino UNO
- Modul nRF24L01 BLE
- Sensor Suhu dan Kelembapan DHT11
- Pelompat
Perisian:
- Arduino IDE
- Aplikasi Android Nordic BLE (nRF Temp 2.0 untuk BLE atau nRF Connect untuk Mudah Alih)
Bermula dengan Modul nRF24L01
Modul nRF24L01 adalah modul transceiver, yang bermaksud setiap modul dapat mengirim dan menerima data tetapi kerana mereka adalah separuh dupleks mereka boleh menghantar atau menerima data pada satu masa. Modul ini mempunyai IC nRF24L01 generik dari separa konduktor Nordik yang bertanggungjawab untuk penghantaran dan penerimaan data. IC berkomunikasi menggunakan protokol SPI dan dengan itu dapat dihubungkan dengan mudah dengan mikrokontroler mana pun. Ia menjadi lebih mudah dengan Arduino kerana perpustakaan sudah tersedia. Kami sudah menggunakan modul nRF24L01 dengan Arduino untuk membuat ruang sembang dan mengawal motor servo secara wayarles.
Pin modul nRF24L01 standard ditunjukkan di bawah:
Modul ini mempunyai voltan operasi dari 1.9V hingga 3.6V (biasanya 3.3V) dan menggunakan arus yang sangat kurang hanya 12mA semasa operasi biasa yang menjadikannya bateri cekap dan dengan itu boleh berjalan pada sel duit syiling. Walaupun voltan operasi 3.3V kebanyakan pin bertoleransi 5V dan oleh itu dapat dihubungkan secara langsung dengan mikrokontroler 5V seperti Arduino. Kelebihan lain menggunakan modul ini ialah, setiap modul mempunyai 6 Pipeline. Maksudnya, setiap modul dapat berkomunikasi dengan 6 modul lain untuk menghantar atau menerima data. Ini menjadikan modul sesuai untuk membuat rangkaian bintang atau jaringan dalam aplikasi IoT. Juga mereka mempunyai rangkaian alamat 125 ID yang unik, oleh itu di kawasan tertutup kita dapat menggunakan 125 modul ini tanpa mengganggu satu sama lain.
Arduino
Memadankan nRF24L01 dengan Arduino untuk komunikasi BLE
NRF24L01 berfungsi pada SPI, jadi antara muka akan menggunakan SPI Protocol. The kod dan video lengkap akan dilampirkan pada akhir tutorial ini. Panduan aplikasi Android juga dijelaskan dalam video. Di sini modul nRF24L01 digunakan untuk berkomunikasi dengan Aplikasi Telefon Pintar Nordic.Pertama, masukkan perpustakaan yang diperlukan. Perpustakaan termasuk RF24 untuk mengakses perintah nRF24L01, perpustakaan DHT11 untuk mengakses perintah DHT11 dan perpustakaan BTLE untuk menggunakan fungsi BLE.
#sertakan
Tentukan dan mulakan pin dan fungsi untuk modul DHT11 dan BLE. Jenis DHT diinisialisasi sebagai DHT11 kerana kami menggunakan DHT11. DHT disambungkan ke pin GPIO Pin 4 dan CE dan CSN modul nRF masing-masing disambungkan ke Pin 9 dan 10.
#tentukan DHTPIN #definisi DHTTYPE DHT11 DHT22 DHT dht (DHTPIN, DHTTYPE); Radio RF24 (9, 10); BTLE btle (& radio);
Mulakan port bersiri pada 9600, anda boleh memilih port mana pun. Kemudian mulakan sensor DHT dan mulakan juga BTLE dengan Nama Tempatan Bluetooth dengan panjang maksimum 8 aksara.
Serial.begin (9600); dht.begin (); btle.begin ("CD Temp");
Baca suhu di atas gelung dan simpan ke suhu variabel apungan. Tambahkan baris debug untuk menunjukkan mesej ralat jika DHT kehilangan kuasanya atau sesuatu yang tidak dijangka berlaku.
float temp = dht.readTemperature (); // baca data suhu jika (isnan (h) - isnan (t)) { Serial.println (F ("Gagal membaca dari sensor DHT!")); kembali; }
Simpan nilai ke Buffer dan huraikan ke modul BLE. Hantarkan juga nilai Suhu 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); jika (! btle.advertise (0x16, & buf, sizeof (buf))) { Serial.println ("BTLE gagal..!"); }
Setelah selesai, terus ke saluran seterusnya.
btle.hopChannel ();
Oleh kerana dokumentasi sensor DHT mengesyorkan untuk mengekalkan kelewatan minimum 2 saat selepas satu bacaan, jadi tambahkan kelewatan 2 saat.
kelewatan (2000);
Setelah memuat naik dan memasangkan telefon pintar dengan modul nRF, anda akan mula mendapat nilai pada aplikasi nRF Temp 2.0 untuk aplikasi android BLE seperti gambar di bawah. Prosedur lengkap memasangkan dan mendapatkan data pada aplikasi android juga dijelaskan dalam video:
Ini menyelesaikan tutorial lengkap untuk mengiklankan data sensor ke Aplikasi Android Nordik menggunakan BLE nRF24L01. Sekiranya anda menghadapi kesukaran, maka komen di bawah atau tulis ke forum kami. Untuk meneroka lebih lanjut mengenai nRF24L02, anda juga boleh mencuba Membuat Bilik Sembang Peribadi menggunakan Arduino, nRF24L01 dan Memproses.