Genera numeri casuali utilizzando ESP32 e Arduino IDE

Genera Numeri Casuali Utilizzando Esp32 E Arduino Ide



Utilizzando ESP32 possiamo creare diversi progetti e realizzare prodotti unici in grado di risolvere molteplici problemi. ESP32 è una scheda microcontrollore, quindi utilizzando le funzioni di programmazione IDE di Arduino possiamo creare output interessanti. Questa lezione spiega come generare numeri casuali utilizzando la scheda ESP32.

Cosa sono i numeri casuali

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

I numeri casuali sono una sequenza di numeri che non è possibile prevedere, ed è un numero scelto da un insieme di numeri.







Perché abbiamo bisogno di numeri casuali

I numeri casuali sono importanti per le operazioni crittografiche, l'informatica moderna e le simulazioni. I numeri casuali aiutano anche a migliorare la sicurezza del computer. Ecco alcune delle principali applicazioni dei numeri casuali:



  • Numeri casuali utilizzati negli algoritmi
  • Contenuti generati proceduralmente come immagini casuali, nomi e molti altri
  • Per simulazioni non deterministiche, ad esempio pattern, mescolamento dei dadi e modelli meteorologici

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



Funzione per generare numeri casuali in ESP32

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





esp_casuale() non accetta argomenti e ci fornisce un valore generato casualmente da 0 a UINT32_MAX (è il valore massimo che un int senza segno può memorizzare al suo interno).

Nota : Una cosa da ricordare qui è che il generatore di numeri casuali hardware ESP32 funziona utilizzando WiFi e Bluetooth. Il vero numero casuale viene generato solo quando entrambi sono abilitati. Se questi due sono disabilitati, ESP32 può generare solo un file pseudo numero . Per maggiori dettagli, si prega di controllare il Espressif ESP32 Documentazione di numeri casuali .



Informazione interessante : Un'informazione interessante sul generatore di numeri casuali hardware ESP32 è che ESP32 ha superato il Testsuite di numeri casuali di Dieharder quando viene prelevato un campione di dati di 2 GB utilizzando ESP32 quando il suo WiFi è abilitato. Die harder è un test per il generatore di numeri casuali.

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

esp_casuale ( )

Ritorno
Questa funzione restituisce un valore casuale compreso tra 0 e UINT32_MAX.

Codice per generare un numero casuale

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

configurazione nulla ( ) {
Inizio.seriale ( 115200 ) ; /* Velocità di trasmissione definita */
}
anello vuoto ( ) {
Serial.println ( '**********' ) ;
Stampa.seriale ( 'Numero casuale= ' ) ;
Serial.println ( esp_casuale ( ) ) ; /* Stampa qualsiasi numero casuale da 0 al più grande int senza segno */
ritardo ( 2000 ) ; /* ritardo di 2 sec */
}

Produzione
Dopo aver caricato il codice, possiamo vedere l'output sul monitor seriale. Qui possiamo vedere che ESP32 ha generato due diversi numeri casuali.

Codice per generare un numero casuale tra un intervallo specifico

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

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

Apri Arduino IDE e carica un dato codice che ci darà un numero casuale compreso tra 10 e 20.

configurazione nulla ( ) {
Inizio.seriale ( 115200 ) ; /* Velocità di trasmissione definita */
}
anello vuoto ( ) {
Serial.println ( '**********' ) ;
Stampa.seriale ( 'Numero casuale compreso tra 10 e 20= ' ) ; /* Stampa qualsiasi numero casuale tra 10 e venti */
Serial.println ( a caso ( 10 , venti ) ) ;
ritardo ( 2000 ) ; /* ritardo di 2 sec */
}

Produzione
Il seguente output può essere visto sul monitor seriale: un numero casuale viene generato ogni 2 sec.

Abbiamo coperto con successo le funzioni utilizzate da ESP32 per generare numeri casuali.

Conclusione

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