Hasilkan Nombor Rawak Menggunakan ESP32 dan Arduino IDE

Hasilkan Nombor Rawak Menggunakan Esp32 Dan Arduino Ide



Menggunakan ESP32 kami boleh mencipta projek yang berbeza dan membuat produk unik yang boleh menyelesaikan pelbagai masalah. ESP32 ialah papan mikropengawal jadi menggunakan fungsi pengaturcaraan Arduino IDE kita boleh mencipta output yang menarik. Pelajaran ini membimbing bagaimana seseorang boleh menjana nombor rawak menggunakan papan ESP32.

Apakah itu Nombor Rawak

Nombor rawak memainkan peranan utama dalam keselamatan dan penyulitan. Anda mungkin telah menggunakan cadangan kata laluan Google. Ia berfungsi pada prinsip yang entah bagaimana serupa dengan menjana nombor rawak.

Nombor rawak ialah urutan nombor yang tidak dapat diramalkan, dan ia adalah nombor yang dipilih daripada set nombor.







Mengapa Kami Memerlukan Nombor Rawak

Nombor rawak adalah penting untuk operasi kriptografi, pengkomputeran moden dan simulasi. Nombor rawak juga membantu meningkatkan keselamatan komputer. Berikut adalah beberapa aplikasi utama nombor rawak:



  • Nombor rawak yang digunakan dalam algoritma
  • Kandungan yang dihasilkan secara prosedur seperti imej rawak, nama dan banyak lagi
  • Untuk simulasi yang tidak tentu seperti sama ada corak, kocok dadu dan corak cuaca

Seperti sekarang kita memahami aplikasi asas penjana nombor rawak ESP32 mari kita lihat kod dan menjana beberapa nombor rawak.



Berfungsi untuk Menjana Nombor Rawak dalam ESP32

Papan ESP32 mengandungi penjana nombor rawak perkakasan yang menggunakan fungsi tersebut esp_random() .





esp_random() tidak mengambil hujah dan memberi kami nilai yang dijana secara rawak daripada 0 hingga UINT32_MAX (ia adalah nilai maksimum yang boleh disimpan oleh int yang tidak ditandatangani di dalamnya).

Nota : Satu perkara yang perlu diingat di sini ialah penjana nombor rawak perkakasan ESP32 berfungsi menggunakan WiFi dan Bluetooth. Yang benar nombor rawak hanya dijana apabila kedua-duanya didayakan. Jika kedua-dua ini dilumpuhkan ESP32 hanya boleh menjana a nombor pseudo . Untuk butiran lanjut, sila semak di Dokumentasi Nombor Rawak Espressif ESP32 .



Maklumat yang menarik : Maklumat menarik tentang penjana nombor rawak perkakasan ESP32 ialah ESP32 telah lulus Testsuite Nombor Rawak Dieharder apabila sampel data 2GB diambil menggunakan ESP32 apabila WiFinya didayakan. Die harder ialah ujian untuk penjana nombor rawak.

Sintaks
Berikut ialah sintaks fungsi ESP32 untuk nombor rawak:

esp_random ( )

Kembali
Fungsi ini mengembalikan nilai rawak antara 0 dan UINT32_MAX.

Kod untuk Menjana Nombor Rawak

Buka Arduino IDE dan muat naik kod yang diberikan dalam ESP32 untuk menjana nombor rawak antara 0 dan 4294967295 (nilai int tidak ditandatangani maksimum).

persediaan kosong ( ) {
Bersiri.mulakan ( 115200 ) ; /* Kadar Baud Ditakrifkan */
}
gelung kosong ( ) {
Serial.println ( '**********' ) ;
Bersiri.cetak ( 'Nombor Rawak=' ) ;
Serial.println ( esp_random ( ) ) ; /* Cetak sebarang nombor rawak daripada 0 kepada int tidak ditandatangani terbesar */
kelewatan ( 2000 ) ; /* kelewatan daripada 2 sec */
}

Pengeluaran
Selepas memuat naik kod, kita boleh melihat output pada monitor bersiri. Di sini kita dapat melihat ESP32 menghasilkan dua nombor rawak yang berbeza.

Kod untuk Menjana Nombor Rawak antara Julat Tertentu

Katakan jika ESP32 WiFi tidak didayakan maka terdapat alternatif untuk berfungsi esp_random() . Kita boleh menggunakan fungsi penjana nombor rawak Arduino (rawak()) .

Menggunakan fungsi ini, kita boleh menjana sebarang nombor rawak dalam julat tertentu.

Buka Arduino IDE dan muat naik kod yang diberikan yang akan memberi kita nombor rawak antara 10-20.

persediaan kosong ( ) {
Bersiri.mulakan ( 115200 ) ; /* Kadar Baud Ditakrifkan */
}
gelung kosong ( ) {
Serial.println ( '**********' ) ;
Bersiri.cetak ( 'Nombor Rawak Antara 10 & 20 = ' ) ; /* Cetak sebarang nombor rawak antara 10 dan dua puluh */
Serial.println ( rawak ( 10 , dua puluh ) ) ;
kelewatan ( 2000 ) ; /* kelewatan daripada 2 sec */
}

Pengeluaran
Output berikut boleh dilihat pada monitor bersiri: nombor rawak dijana setiap 2 saat.

Kami telah berjaya merangkumi fungsi yang ESP32 gunakan untuk menjana nombor rawak.

Kesimpulan

Nombor rawak memainkan peranan utama dalam kebarangkalian dan statistik. Ia juga membantu dalam penyulitan keselamatan dan operasi kriptografi. Pelajaran ini akan membimbing anda menjana nombor rawak yang berbeza. Kita juga boleh menentukan julat untuk mendapatkan nombor rawak.