Generera slumpmässiga nummer med ESP32 och Arduino IDE

Generera Slumpmassiga Nummer Med Esp32 Och Arduino Ide



Med ESP32 kan vi skapa olika projekt och göra unika produkter som kan lösa flera problem. ESP32 är ett mikrokontrollerkort så med hjälp av Arduino IDE-programmeringsfunktioner kan vi skapa intressanta utdata. Den här lektionen vägleder hur man kan generera slumpmässiga tal med ESP32-kortet.

Vad är slumptal

Slumptal spelar en stor roll för säkerhet och kryptering. Du kanske har använt Googles lösenordsförslag. Det fungerar enligt en princip som på något sätt liknar generering av slumptal.

Slumptal är en sekvens av tal som man inte kan förutsäga, och det är ett tal som väljs från en uppsättning tal.







Varför vi behöver slumptal

Slumptal är viktiga för kryptografiska operationer, modern datoranvändning och simuleringar. Slumpmässiga siffror bidrar också till att förbättra datorsäkerheten. Här är några huvudsakliga tillämpningar av slumptal:



  • Slumptal som används i algoritmer
  • Procedurgenererat innehåll som slumpmässiga bilder, namn och mycket annat
  • För simuleringar som är icke-deterministiska såsom om mönster, tärningsblandning och vädermönster

Som nu förstår vi de grundläggande tillämpningarna av ESP32 slumptalsgenerator kan vi ta en titt på kod och generera några slumptal.



Funktion för att generera slumptal i ESP32

ESP32-kortet innehåller en hårdvarugenerator för slumptal som använder funktionen esp_random() .





esp_random() tar inget argument och ger oss ett värde som genereras slumpmässigt från 0 till UINT32_MAX (det är det maximala värdet som en osignerad int kan lagra inuti den).

Notera : En sak att komma ihåg här är att ESP32 hårdvarugenerator för slumptal fungerar med WiFi och Bluetooth. Den sanna slumpmässigt nummer genereras bara när båda är aktiverade. Om dessa två är inaktiverade kan ESP32 bara generera en pseudonummer . För mer information, vänligen kontrollera Dokumentation för slumpnummer Espressif ESP32 .



Intressant information : En intressant information om ESP32 hårdvara slumptalsgenerator är att ESP32 har klarat Dieharder Random Number Testsuite när ett dataprov på 2 GB tas med ESP32 när dess WiFi är aktiverat. Die harder är ett test för slumptalsgenerator.

Syntax
Här är syntaxen för ESP32-funktionen för slumptal:

esp_random ( )

Lämna tillbaka
Denna funktion returnerar ett slumpmässigt värde mellan 0 och UINT32_MAX.

Kod för att generera ett slumptal

Öppna Arduino IDE och ladda upp den givna koden i ESP32 för att generera ett slumptal mellan 0 och 4294967295 (maximalt osignerat int-värde).

ogiltig installation ( ) {
Serial.begin ( 115200 ) ; /* Baudhastighet definierad */
}
tom slinga ( ) {
Serial.println ( '**********' ) ;
Serial.print ( 'Slumptal = ' ) ;
Serial.println ( esp_random ( ) ) ; /* Skriv ut valfritt slumptal från 0 till största osignerade int */
dröjsmål ( 2000 ) ; /* försening av 2 sek */
}

Produktion
Efter att ha laddat upp kod kan vi se utdata på den seriella monitorn. Här kan vi se ESP32 genererade två olika slumptal.

Kod för att generera ett slumptal mellan specifika intervall

Anta att om ESP32 WiFi inte är aktiverat så finns det ett alternativ att fungera esp_random() . Vi kan använda Arduinos slumptalsgeneratorfunktion (slumpmässig()) .

Med den här funktionen kan vi generera vilket slumptal som helst inom ett specificerat intervall.

Öppna Arduino IDE och ladda upp en given kod som ger oss ett slumptal mellan 10-20.

ogiltig installation ( ) {
Serial.begin ( 115200 ) ; /* Baudhastighet definierad */
}
tom slinga ( ) {
Serial.println ( '**********' ) ;
Serial.print ( 'Slumptal mellan 10 och 20= ' ) ; /* Skriv ut valfritt slumptal mellan 10 och tjugo */
Serial.println ( slumpmässig ( 10 , tjugo ) ) ;
dröjsmål ( 2000 ) ; /* försening av 2 sek */
}

Produktion
Följande utdata kan ses på den seriella monitorn: ett slumptal genereras varannan sekund.

Vi har framgångsrikt täckt de funktioner som ESP32 använde för att generera slumptal.

Slutsats

Slumptal spelar en stor roll i sannolikhet och statistik. Det är också användbart vid säkerhetskryptering och kryptografiska operationer. Den här lektionen kommer att vägleda dig hur du genererar olika slumptal. Vi kan också definiera ett intervall för att få ett slumptal.