Ano ang Random Numbers
Ang mga random na numero ay may malaking papel sa seguridad at pag-encrypt. Maaaring gumamit ka ng mga suhestyon sa password ng Google. Gumagana ito sa isang prinsipyo na sa paanuman ay katulad ng pagbuo ng mga random na numero.
Ang mga random na numero ay isang pagkakasunud-sunod ng mga numero na hindi mahulaan ng isa, at ito ay isang numero na pinili mula sa isang hanay ng mga numero.
Bakit Kailangan Namin ang mga Random na Numero
Mahalaga ang mga random na numero para sa mga cryptographic na operasyon, modernong computing at simulation. Nakakatulong din ang mga random na numero upang mapahusay ang seguridad ng computer. Narito ang ilang pangunahing aplikasyon ng mga random na numero:
- Random na mga numero na ginagamit sa mga algorithm
- Mga nilalamang nabuo ayon sa pamamaraan tulad ng mga random na larawan, pangalan at marami pang iba
- Para sa mga simulation na hindi tiyak tulad ng pattern, dice shuffling at mga pattern ng panahon
Sa ngayon ay naiintindihan na natin ang mga pangunahing aplikasyon ng ESP32 random number generator, tingnan natin ang code at bumuo ng ilang random na numero.
Function na Bumuo ng Random na Numero sa ESP32
Ang ESP32 board ay naglalaman ng isang hardware random number generator na gumagamit ng function esp_random() .
esp_random() hindi tumatagal ng argumento at nagbibigay sa amin ng isang halaga na random na nabuo mula 0 hanggang UINT32_MAX (ito ang pinakamataas na halaga na maaaring iimbak ng isang unsigned int sa loob nito).
Tandaan : Isang bagay na dapat tandaan dito ay gumagana ang ESP32 hardware random number generator gamit ang WiFi at Bluetooth. Ang totoong random na numero ay mabubuo lamang kapag pareho ay pinagana. Kung ang dalawang ito ay hindi pinagana ang ESP32 ay maaari lamang bumuo ng a pseudo number . Para sa higit pang mga detalye, mangyaring suriin ang Espressif ESP32 Random Number Documentation .
Nakamamangha na impormasyon : Isang kawili-wiling impormasyon tungkol sa ESP32 hardware random number generator ay ang ESP32 ay nakapasa sa Dieharder Random Number Testsuite kapag ang isang sample ng data na 2GB ay kinuha gamit ang ESP32 kapag ang WiFi nito ay pinagana. Ang die harder ay isang pagsubok para sa random number generator.
Syntax
Narito ang syntax ng ESP32 function para sa random na numero:
Bumalik
Ang function na ito ay nagbabalik ng random na halaga sa pagitan ng 0 at UINT32_MAX.
Code para Bumuo ng Random na Numero
Buksan ang Arduino IDE at i-upload ang ibinigay na code sa ESP32 upang makabuo ng random na numero sa pagitan ng 0 at 4294967295 (maximum unsigned int value).
walang bisang setup ( ) {Serial.magsimula ( 115200 ) ; /* Tinukoy ang Baud Rate */
}
walang laman na loop ( ) {
Serial.println ( '**********' ) ;
Serial.print ( 'Random na Numero=' ) ;
Serial.println ( esp_random ( ) ) ; /* Mag-print ng anumang random na numero mula sa 0 sa pinakamalaking unsigned int */
pagkaantala ( 2000 ) ; /* pagkaantala ng 2 sec */
}
Output
Pagkatapos mag-upload ng code, makikita natin ang output sa serial monitor. Dito makikita natin ang ESP32 na nakabuo ng dalawang magkaibang random na numero.
Code para Bumuo ng Random na Numero sa pagitan ng Tukoy na Saklaw
Ipagpalagay na kung ang ESP32 WiFi ay hindi pinagana, mayroong isang alternatibo sa pag-andar esp_random() . Magagamit natin ang Arduino random number generator function (random()) .
Gamit ang function na ito, maaari kaming bumuo ng anumang random na numero sa isang tinukoy na hanay.
Buksan ang Arduino IDE at mag-upload ng ibinigay na code na magbibigay sa amin ng random na numero sa pagitan ng 10-20.
walang bisang setup ( ) {Serial.magsimula ( 115200 ) ; /* Tinukoy ang Baud Rate */
}
walang laman na loop ( ) {
Serial.println ( '**********' ) ;
Serial.print ( 'Random na Numero sa pagitan ng 10 at 20=' ) ; /* Mag-print ng anumang random na numero sa pagitan 10 at dalawampu */
Serial.println ( random ( 10 , dalawampu ) ) ;
pagkaantala ( 2000 ) ; /* pagkaantala ng 2 sec */
}
Output
Ang sumusunod na output ay makikita sa serial monitor: isang random na numero ang nabubuo tuwing 2 segundo.
Matagumpay naming nasaklaw ang mga function na ginamit ng ESP32 upang makabuo ng mga random na numero.
Konklusyon
Ang mga random na numero ay may malaking papel sa posibilidad at istatistika. Nakakatulong din ito sa pag-encrypt ng seguridad at mga pagpapatakbo ng cryptographic. Gagabayan ka ng araling ito sa pagbuo ng iba't ibang random na numero. Maaari din naming tukuyin ang isang hanay upang makakuha ng isang random na numero.