Генерация случайных чисел с помощью ESP32 и Arduino IDE

Generacia Slucajnyh Cisel S Pomos U Esp32 I Arduino Ide



Используя ESP32, мы можем создавать различные проекты и создавать уникальные продукты, способные решить множество проблем. ESP32 — это плата микроконтроллера, поэтому, используя функции программирования Arduino IDE, мы можем создавать интересные результаты. В этом уроке рассказывается, как можно генерировать случайные числа с помощью платы ESP32.

Что такое случайные числа

Случайные числа играют важную роль в безопасности и шифровании. Возможно, вы использовали подсказки пароля Google. Он работает по принципу, который чем-то похож на генерацию случайных чисел.

Случайные числа — это последовательность чисел, которую невозможно предсказать, и это число, которое выбирается из набора чисел.







Зачем нам нужны случайные числа

Случайные числа важны для криптографических операций, современных вычислений и моделирования. Случайные числа также помогают повысить безопасность компьютера. Вот несколько основных применений случайных чисел:



  • Случайные числа, используемые в алгоритмах
  • Процедурно сгенерированное содержимое, такое как случайные изображения, имена и многое другое.
  • Для недетерминированных симуляций, таких как закономерности, перетасовка игральных костей и погодные условия.

Поскольку теперь мы понимаем основные приложения генератора случайных чисел ESP32, давайте взглянем на код и сгенерируем несколько случайных чисел.



Функция для генерации случайного числа в ESP32

Плата ESP32 содержит аппаратный генератор случайных чисел, который использует функцию esp_random() .





esp_random() не принимает аргументов и дает нам значение, сгенерированное случайным образом от 0 до UINT32_MAX (это максимальное значение, которое может хранить беззнаковое целое число).

Запись : здесь следует помнить одну вещь: аппаратный генератор случайных чисел ESP32 работает с использованием Wi-Fi и Bluetooth. Верно случайное число генерируется только тогда, когда оба включены. Если эти два параметра отключены, ESP32 может генерировать только псевдо номер . Для получения более подробной информации, пожалуйста, проверьте Документация по случайным числам Espressif ESP32 .



Интересная информация : Интересная информация об аппаратном генераторе случайных чисел ESP32 заключается в том, что ESP32 прошел Набор тестов Dieharder для случайных чисел когда образец данных размером 2 ГБ берется с использованием ESP32, когда его WiFi включен. «Крепче умереть» — это тест для генератора случайных чисел.

Синтаксис
Вот синтаксис функции ESP32 для случайного числа:

esp_random ( )

Возвращаться
Эта функция возвращает случайное значение от 0 до UINT32_MAX.

Код для генерации случайного числа

Откройте IDE Arduino и загрузите указанный код в ESP32, чтобы сгенерировать случайное число от 0 до 4294967295 (максимальное целочисленное значение без знака).

недействительная установка ( ) {
Серийный.начало ( 115200 ) ; /* Определенная скорость передачи данных */
}
пустая петля ( ) {
Серийный.println ( '*********' ) ;
Серийный.печать ( «Случайное число =» ) ;
Серийный.println ( esp_random ( ) ) ; /* Выведите любое случайное число из 0 к наибольшему беззнаковому целому */
задерживать ( 2000 г. ) ; /* задержка 2 сек */
}

Вывод
После загрузки кода мы можем увидеть вывод на последовательном мониторе. Здесь мы видим, что ESP32 сгенерировал два разных случайных числа.

Код для генерации случайного числа в определенном диапазоне

Предположим, что если ESP32 WiFi не включен, то есть альтернатива функции esp_random() . Мы можем использовать функцию генератора случайных чисел Arduino. (случайный()) .

Используя эту функцию, мы можем сгенерировать любое случайное число в указанном диапазоне.

Откройте IDE Arduino и загрузите данный код, который даст нам случайное число от 10 до 20.

недействительная установка ( ) {
Серийный.начало ( 115200 ) ; /* Определенная скорость передачи данных */
}
пустая петля ( ) {
Серийный.println ( '*********' ) ;
Серийный.печать ( 'Случайное число от 10 до 20=' ) ; /* Выведите любое случайное число между 10 и двадцать */
Серийный.println ( случайный ( 10 , двадцать ) ) ;
задерживать ( 2000 г. ) ; /* задержка 2 сек */
}

Вывод
На последовательном мониторе можно увидеть следующий вывод: каждые 2 секунды генерируется случайное число.

Мы успешно рассмотрели функции, которые ESP32 использовал для генерации случайных чисел.

Заключение

Случайные числа играют важную роль в вероятности и статистике. Это также полезно в безопасном шифровании и криптографических операциях. Этот урок поможет вам генерировать различные случайные числа. Мы также можем определить диапазон для получения случайного числа.