Оглавление:
- Шаг 1. Основные характеристики
- Шаг 2: Сравнение ESP32, ESP8266 и Arduino R3
- Шаг 3: Типы ESP32
- Шаг 4: узел WiFi MCU-32S ESP-WROOM-32
- Шаг 5: Настройка Arduino IDE (Windows)
- Шаг 6: сканирование WiFi
- Шаг 7: Код
- Шаг 8: настройка
- Шаг 9: цикл
- Шаг 10: файлы
Видео: Введение в ESP32: 10 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
В этой статье мы поговорим о ESP32, который я считаю старшим братом ESP8266. Мне очень нравится этот микроконтроллер, потому что в нем есть Wi-Fi. Просто чтобы у вас было представление, до того, как ESP появится, если вам понадобится Arduino для работы с Wi-Fi, вам придется потратить от 200 до 300 долларов на покупку адаптера Wi-Fi. Адаптер для сетевого кабеля не такой уж и дорогой, но для WiFi он всегда был и остается дорогим. Но, к счастью, Espressif Systems запустила ESP и решает нашу жизнь.
Мне нравится ESP32 с этим форматом, у которого есть порт USB. Этой схемой NodeMCU легко манипулировать, потому что она не требует никакой электроники. Просто подключите кабель, включите устройство и запрограммируйте его. Он работает так же, как Arduino.
В любом случае, сегодня мы поговорим об общих аспектах ESP32 и о том, как настроить Arduino IDE для программирования большего количества устройств этого типа. Также мы сделаем программу, которая ищет сети и показывает, какая из них мощнее.
Шаг 1. Основные характеристики
Чип со встроенным Wi-Fi: стандарт 802.11 B / G / N, работает в диапазоне от 2,4 до 2,5 ГГц
Режимы работы: клиент, точка доступа, станция + точка доступа
Двухъядерный микропроцессор Tensilica Xtensa 32-бит LX6
Регулируемая частота от 80 МГц до 240 МГц
Рабочее напряжение: 3,3 В постоянного тока
Он имеет SRAM 512 КБ
Особенности 448 КБ ПЗУ
Имеет внешнюю флеш-память объемом 32 Мб (4 мегабайта).
Максимальный ток на вывод составляет 12 мА (рекомендуется использовать 6 мА)
Имеет 36 GPIO
GPIO с функциями PWM / I2C и SPI
Он имеет Bluetooth v4.2 BR / EDR и BLE (Bluetooth с низким энергопотреблением)
Шаг 2: Сравнение ESP32, ESP8266 и Arduino R3
Шаг 3: Типы ESP32
ESP32 родился с множеством братьев и сестер. Сегодня я использую первый слева, Espressif, но есть несколько марок и типов, включая встроенный дисплей Oled. Однако отличия заключаются в одном чипе: Tensilica LX6, 2 Core.
Шаг 4: узел WiFi MCU-32S ESP-WROOM-32
Это схема ESP, которую мы используем в нашей сборке. Это чип, обладающий большой привлекательностью и мощностью. Это несколько контактов, которые вы выбираете, хотите ли они работать как цифровой аналоговый, аналогово-цифровой или даже если это работает как дверь, как цифровой.
Шаг 5: Настройка Arduino IDE (Windows)
Вот как настроить IDE Arduino, чтобы мы могли скомпилировать для ESP32:
1. Скачайте файлы по ссылке:
2. Разархивируйте файл и скопируйте его содержимое по следующему пути:
C: / Users / [ИМЯ_ПОЛЬЗОВАТЕЛЯ] / Documents / Arduino / hardware / espressif / esp32
Примечание. Если нет каталогов "espressif" и "esp32", просто создайте их как обычно.
3. Откройте каталог.
C: / Users / [ИМЯ_ПОЛЬЗОВАТЕЛЯ] / Documents / Arduino / hardware / espressif / esp32 / tools
Запустите файл «get.exe».
4. После завершения "get.exe" подключите ESP32, дождитесь установки драйверов (или установки вручную).
Готово, теперь просто выберите плату ESP32 в «tools >> board» и скомпилируйте свой код.
Шаг 6: сканирование WiFi
Вот пример того, как искать доступные сети Wi-Fi рядом с ESP-32, а также уровень сигнала в каждой из них. При каждом сканировании мы также узнаем, какая сеть имеет лучший уровень сигнала.
Шаг 7: Код
Для начала подключим библиотеку «WiFi.h», которая нам понадобится для работы с сетевой картой нашего устройства.
#include "WiFi.h"
Вот две переменные, которые будут использоваться для хранения SSID (имени) сети и мощности сигнала.
Строка networkSSID = ""; int StrengthSignal = -9999;
Шаг 8: настройка
В функции setup () мы определим режим поведения WiFi нашего устройства. В этом случае, поскольку целью является поиск доступных сетей, мы настроим наше устройство для работы в качестве «станции».
void setup () {// Инициализируем Serial для входа в Serial Monitor Serial.begin (115200);
// настраиваем режим работы WiFi как станцию WiFi.mode (WIFI_STA); // WIFI_STA - константа, указывающая режим станции
// отключаемся от точки доступа, если она уже подключена WiFi.disconnect (); задержка (100);
// Serial.println ("Настройка завершена");}
Шаг 9: цикл
В функции loop () мы будем искать доступные сети, а затем распечатывать журнал найденных сетей. Для каждой из этих сетей мы проведем сравнение, чтобы найти сеть с самым высоким уровнем сигнала.
void loop () {// Serial.println ("начало сканирования"); // выполняет сканирование доступных сетей
int n = WiFi.scanNetworks ();
Serial.println («Сканирование выполнено»);
// проверяем, нашли ли вы какую-либо сеть if (n == 0) {Serial.println ("Сеть не найдена"); } еще {networkSSID = ""; StrengthSignal = -9999; Serial.print (n); Serial.println ("сети найдены / n"); for (int i = 0; i <n; ++ i) {// печать на последовательном мониторе каждой из найденных сетей Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // имя сети (ssid) Serial.print ("СИГНАЛ:"); Serial.print (WiFi. RSSI (i)); // мощность сигнала Serial.print ("\ t / tCHANNEL:"); Serial.print ((int) WiFi.channel (i)); Serial.print ("\ t / tMAC:"); Serial.print (WiFi. BSSIDstr (i)); Serial.println ("\ п / п"); если (абс (WiFi. RSSI (я)) <абс (силаСигнал)) {силаСигнал = WiFi. RSSI (я); networkSSID = WiFi. SSID (i); Serial.print ("НАЙДЕНА СЕТЬ С ЛУЧШИМ СИГНАЛОМ: ("); Serial.print (networkSSID); Serial.print (") - СИГНАЛ: ("); Serial.print (StrengthSignal); Serial.println (")"); } задержка (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");
// интервал 5 секунд для выполнения нового сканирования delay (5000); }
"Если (абс (WiFi. RSSI (i))"
Обратите внимание, что в приведенном выше заявлении мы используем abs (), эта функция принимает абсолютное значение (т.е. не отрицательное) числа. В нашем случае мы сделали это, чтобы найти наименьшее из значений в сравнении, потому что интенсивность сигнала дается как отрицательное число, и чем ближе к нулю, тем лучше сигнал.
Шаг 10: файлы
Загрузите все мои файлы с: www.fernandok.com
Рекомендуемые:
Защитный шлем Covid, часть 1: введение в схемы Tinkercad !: 20 шагов (с изображениями)
Защитный шлем Covid, часть 1: Введение в схемы Tinkercad !: Привет, друг! В этой серии из двух частей мы узнаем, как использовать схемы Tinkercad - забавный, мощный и обучающий инструмент для изучения того, как работают схемы! Один из лучших способов учиться - это делать. Итак, сначала мы создадим наш собственный проект: й
Введение в ИК-схемы: 8 шагов (с изображениями)
Введение в ИК-схемы: ИК - это сложная технология, с которой очень легко работать. В отличие от светодиодов или лазеров, инфракрасное излучение невозможно увидеть человеческим глазом. В этом руководстве я продемонстрирую использование инфракрасного излучения с помощью 3 различных схем. Схемы не будут
Игры !!! - Введение: 5 шагов
Игры !!! - Вступление: Привет! Я научу вас создавать три разные игры на code.org. Под каждым учебником по игре я буду размещать шаблон, который вы можете ремикшировать и использовать во время просмотра моего видео. Надеюсь, вы хорошо проведете время !! Если вы, ребята, хотите просто посмотреть мои игры в
Введение в Python - Кацухико Мацуда и Эдвин Чихо - Основы: 7 шагов
Введение в Python - Кацухико Мацуда и Эдвин Чихо - Основы: Здравствуйте, мы 2 студента в MYP 2. Мы хотим научить вас основам программирования на Python. Он был создан в конце 1980-х Гвидо ван Россумом в Нидерландах. Он был создан как преемник языка ABC. Его имя - "Python". потому что когда
Введение в ESP32 Lora OLED-дисплей: 8 шагов
Введение в ESP32 Lora OLED-дисплей: это еще одно видео, посвященное введению в ESP32 LoRa. В этот раз речь пойдет конкретно о графическом дисплее (128х64 точки). Мы воспользуемся библиотекой SSD1306 для отображения информации на этом OLED-дисплее и представим пример