Gere números aleatórios usando ESP32 e Arduino IDE

Gere Numeros Aleatorios Usando Esp32 E Arduino Ide



Com o ESP32 podemos criar diferentes projetos e fazer produtos únicos que podem resolver vários problemas. O ESP32 é uma placa de microcontrolador, portanto, usando as funções de programação do Arduino IDE, podemos criar uma saída interessante. Esta lição orienta como gerar números aleatórios usando a placa ESP32.

O que são números aleatórios

Os números aleatórios desempenham um papel importante na segurança e na criptografia. Você pode ter usado as sugestões de senha do Google. Funciona com um princípio que é de alguma forma semelhante à geração de números aleatórios.

Números aleatórios são uma sequência de números que não se pode prever, e é um número que é escolhido de um conjunto de números.







Por que precisamos de números aleatórios

Números aleatórios são importantes para operações criptográficas, computação moderna e simulações. Números aleatórios também ajudam a aumentar a segurança do computador. Aqui estão algumas aplicações principais de números aleatórios:



  • Números aleatórios usados ​​em algoritmos
  • Conteúdos gerados processualmente, como imagens aleatórias, nomes e muitos outros
  • Para simulações não determinísticas, como padrão, embaralhamento de dados e padrões climáticos

Como agora entendemos as aplicações básicas do gerador de números aleatórios do ESP32, vamos dar uma olhada no código e gerar alguns números aleatórios.



Função para Gerar Número Aleatório no ESP32

A placa ESP32 contém um gerador de números aleatórios de hardware que usa a função esp_random() .





esp_random() não leva nenhum argumento e nos dá um valor gerado aleatoriamente de 0 a UINT32_MAX (é o valor máximo que um unsigned int pode armazenar dentro dele).

Observação : Uma coisa a lembrar aqui é que o gerador de números aleatórios do hardware ESP32 funciona usando WiFi e Bluetooth. A verdade número aleatório só é gerado quando ambos estão ativados. Se esses dois estiverem desabilitados, o ESP32 só pode gerar um pseudo número . Para mais detalhes, por favor verifique o Documentação de números aleatórios do Espressif ESP32 .



Informação interessante : Uma informação interessante sobre o gerador de números aleatórios do hardware ESP32 é que o ESP32 passou no Dieharder Random Testsuite quando uma amostra de dados de 2 GB é obtida usando o ESP32 quando seu WiFi está ativado. Die Hard é um teste para o gerador de números aleatórios.

Sintaxe
Aqui está a sintaxe da função ESP32 para número aleatório:

esp_random ( )

Retornar
Esta função retorna um valor aleatório entre 0 e UINT32_MAX.

Código para gerar um número aleatório

Abra o IDE do Arduino e faça o upload do código fornecido no ESP32 para gerar um número aleatório entre 0 e 4294967295 (valor máximo unsigned int).

anular configuração ( ) {
Serial.begin ( 115200 ) ; /* Taxa de transmissão definida */
}
loop vazio ( ) {
Serial.println ( '************' ) ;
Serial.print ( 'Número aleatório = ' ) ;
Serial.println ( esp_random ( ) ) ; /* Imprima qualquer número aleatório de 0 para o maior int não assinado */
atraso ( 2000 ) ; /* atraso de 2 segundo */
}

Saída
Depois de carregar o código, podemos ver a saída no monitor serial. Aqui podemos ver que o ESP32 gerou dois números aleatórios diferentes.

Código para gerar um número aleatório entre intervalo específico

Suponha que, se o ESP32 WiFi não estiver ativado, existe uma alternativa para funcionar esp_random() . Podemos usar a função de gerador de números aleatórios do Arduino (aleatória()) .

Usando esta função, podemos gerar qualquer número aleatório em um intervalo especificado.

Abra o Arduino IDE e carregue um determinado código que nos dará um número aleatório entre 10-20.

anular configuração ( ) {
Serial.begin ( 115200 ) ; /* Taxa de transmissão definida */
}
loop vazio ( ) {
Serial.println ( '************' ) ;
Serial.print ( 'Número aleatório entre 10 e 20=' ) ; /* Imprima qualquer número aleatório entre 10 e vinte */
Serial.println ( aleatória ( 10 , vinte ) ) ;
atraso ( 2000 ) ; /* atraso de 2 segundo */
}

Saída
A seguinte saída pode ser vista no monitor serial: um número aleatório é gerado a cada 2 segundos.

Cobrimos com sucesso as funções que o ESP32 usou para gerar números aleatórios.

Conclusão

Números aleatórios desempenham um papel importante em probabilidade e estatística. Também é útil em criptografia de segurança e operações criptográficas. Esta lição irá guiá-lo na geração de diferentes números aleatórios. Também podemos definir um intervalo para obter um número aleatório.