Generare numeri casuali usando ESPTOP 10 e Arduino IDE

Generare numeri casuali usando ESPTOP 10 e Arduino IDE
Usando ESP32 possiamo creare progetti diversi e realizzare prodotti unici in grado di risolvere più problemi. ESP32 è una scheda microcontrollore, quindi usando le funzioni di programmazione IDE Arduino possiamo creare un output interessante. Questa lezione guida come si possono generare numeri casuali usando la scheda ESP32.

Quali sono i numeri casuali

I numeri casuali svolgono un ruolo importante nella sicurezza e nella crittografia. Potresti aver usato i suggerimenti su Google Password. Funziona su un principio che è in qualche modo simile alla generazione di numeri casuali.

I numeri casuali sono una sequenza di numeri che non si può prevedere, ed è un numero che viene scelto da un insieme di numeri.

Perché abbiamo bisogno di numeri casuali

I numeri casuali sono importanti per le operazioni crittografiche, il calcolo e le simulazioni moderne. I numeri casuali aiutano anche a migliorare la sicurezza dei computer. Ecco alcune applicazioni principali di numeri casuali:

  • Numeri casuali usati negli algoritmi
  • Contenuti generati proceduralmente come immagini casuali, nomi e molti altri
  • Per simulazioni non deterministiche come il modello, il rossificazione dei dadi e i modelli meteorologici

Come ora comprendiamo le applicazioni di base del generatore di numeri casuali ESP32, diamo un'occhiata al codice e genera alcuni numeri casuali.

Funzione per generare numero casuale in ESP32

La scheda ESP32 contiene un generatore di numeri casuali hardware che utilizza la funzione esp_random ().

esp_random () Non prende alcun argomento e ci dà un valore generato casualmente da 0 a uint32_max (è il valore massimo che un INT non firmato può archiviare al suo interno).

Nota: Una cosa da ricordare qui è ESP32 Hardware Random Number Generator funziona usando WiFi e Bluetooth. Il vero numero casuale viene generato solo quando entrambi sono abilitati. Se questi due sono disabilitati ESP32 non può solo generare a numero pseudo. Per maggiori dettagli, consultare la documentazione del numero casuale ESPRESSIF ESP32.

Informazione interessante: Un'informazione interessante sul generatore di numeri casuali hardware ESP32 è che ESP32 ha superato il test del numero casuale Dieharder quando viene prelevato un campione di dati di 2 GB utilizzando ESP32 quando il suo WiFi è abilitato. Morire più duro è un test per il generatore di numeri casuali.

Sintassi
Ecco la sintassi della funzione ESP32 per il numero casuale:

esp_random ()

Ritorno
Questa funzione restituisce un valore casuale tra 0 e uint32_max.

Codice per generare un numero casuale

Apri Arduino IDE e caricare il codice dato in ESP32 per generare un numero casuale tra 0 e 4294967295 (valore int massimo senza segno).

void setup ()
Seriale.Inizia (115200); /*Tasso di baud definito*/

void loop ()
Seriale.println ("**********");
Seriale.print ("Random Number =");
Seriale.println (esp_random ()); /*Stampare qualsiasi numero casuale da 0 al più grande int*/
ritardo (2000); /*ritardo di 2 sec*/

Produzione
Dopo il caricamento del codice, possiamo vedere l'output sul monitor seriale. Qui possiamo vedere ESP32 generato due diversi numeri casuali.

Codice per generare un numero casuale tra l'intervallo specifico

Supponiamo che se il WiFi ESP32 non è abilitato, esiste un'alternativa alla funzione esp_random (). Possiamo usare la funzione del generatore di numeri casuali Arduino (casuale()).

Usando questa funzione, possiamo generare qualsiasi numero casuale in un intervallo specificato.

Apri Arduino IDE e caricare un determinato codice che ci darà un numero casuale tra 10-20.

void setup ()
Seriale.Inizia (115200); /*Tasso di baud definito*/

void loop ()
Seriale.println ("**********");
Seriale.print ("Numero casuale tra 10 e 20 =");/*Stampa qualsiasi numero casuale tra 10 e 20*/
Seriale.println (casuale (10,20));
ritardo (2000); /*ritardo di 2 sec*/

Produzione
Seguendo l'output può essere visualizzato sul monitor seriale: viene generato un numero casuale ogni 2 sec.

Abbiamo coperto con successo le funzioni che ESP32 utilizzava per generare numeri casuali.

Conclusione

I numeri casuali svolgono un ruolo importante nella probabilità e nelle statistiche. È anche utile per la crittografia della sicurezza e le operazioni crittografiche. Questa lezione ti guiderà sulla generazione di numeri casuali diversi. Possiamo anche definire un intervallo per ottenere un numero casuale.