Съдържание:

Въведение в ESP32: 10 стъпки
Въведение в ESP32: 10 стъпки

Видео: Въведение в ESP32: 10 стъпки

Видео: Въведение в ESP32: 10 стъпки
Видео: How to setup ESP-IDF on Windows 10 for ESP32 programming 2024, Ноември
Anonim
Image
Image
Основни функции
Основни функции

В тази статия ще говорим за ESP32, който считам за по -голям брат на ESP8266. Много харесвам този микроконтролер, защото има WiFi. Само за да имате представа, преди да съществува ESP, ако имате нужда от Arduino, за да имате WiFi, ще трябва да похарчите между $ 200 и $ 300, за да закупите Wifi адаптер. Адаптерът за мрежов кабел не е толкова скъп, но за WiFi винаги е бил и все още е скъп. Но за щастие Espressif Systems стартира ESP и решава живота ни.

Харесва ми ESP32 с този формат, който има USB порт. Тази схема на NodeMCU е лесна за манипулиране, тъй като не се нуждае от никаква електроника. Просто включете кабела, включете устройството и го програмирайте. Работи точно като Arduino.

Както и да е, днес ще говорим за общите аспекти на ESP32 и как да конфигурирате Arduino IDE за програмиране на повече устройства от този тип. Също така ще направим програма, която търси в мрежите и показва коя е по -мощна.

Стъпка 1: Основни характеристики

Чип с вграден WiFi: стандартен 802.11 B / G / N, работещ в диапазона от 2.4 до 2.5GHz

Режими на работа: Клиент, точка за достъп, станция + точка за достъп

Двуядрен микропроцесор Tensilica Xtensa 32-битов LX6

Регулируем часовник от 80MHz до 240MHz

Работно напрежение: 3.3 VDC

Той има SRAM от 512KB

Разполага с 448KB ROM

Има външна флаш памет от 32Mb (4 мегабайта)

Максималният ток на щифт е 12mA (препоръчително е да се използва 6mA)

Разполага с 36 GPIO

GPIO с PWM / I2C и SPI функции

Той има Bluetooth v4.2 BR / EDR и BLE (Bluetooth с ниска енергия)

Стъпка 2: Сравнение между ESP32, ESP8266 и Arduino R3

Сравнение между ESP32, ESP8266 и Arduino R3
Сравнение между ESP32, ESP8266 и Arduino R3

Стъпка 3: Видове ESP32

Видове ESP32
Видове ESP32

ESP32 е роден с много братя и сестри. Днес използвам първия отляво, Espressif, но има няколко марки и видове, включително вграден дисплей Oled. Разликите обаче са един и същ чип: Tensilica LX6, 2 Core.

Стъпка 4: WiFi NodeMCU-32S ESP-WROOM-32

WiFi NodeMCU-32S ESP-WROOM-32
WiFi NodeMCU-32S ESP-WROOM-32

Това е диаграмата на ESP, която използваме в нашия монтаж. Това е чип, който има много привлекателност и мощ. Те са няколко пина, които избирате дали искат да работят като цифров аналогов, аналогов цифров или дори ако това работи вратата като цифрова.

Стъпка 5: Конфигуриране на Arduino IDE (Windows)

Конфигуриране на Arduino IDE (Windows)
Конфигуриране на Arduino IDE (Windows)
Конфигуриране на Arduino IDE (Windows)
Конфигуриране на Arduino IDE (Windows)

Ето как да конфигурирате Arduino IDE, така че да можем да компилираме за ESP32:

1. Изтеглете файловете чрез връзката:

2. Разархивирайте файла и копирайте съдържанието по следния път:

C: / Потребители / [YOUR_USER_NAME] / Документи / Arduino / хардуер / espressif / esp32

Забележка: Ако няма директория "espressif" и "esp32", просто ги създайте нормално.

3. Отворете директорията

C: / Потребители / [YOUR_USER_NAME] / Документи / Arduino / хардуер / espressif / esp32 / инструменти

Стартирайте файла "get.exe".

4. След като "get.exe" приключи, включете ESP32, изчакайте драйверите да бъдат инсталирани (или инсталирайте ръчно).

Готови, сега просто изберете платката ESP32 в "Tools >> board" и компилирайте кода си.

Стъпка 6: WiFi сканиране

Ето пример за това как да търсите налични WiFi мрежи близо до ESP-32, както и силата на сигнала на всяка от тях. При всяко сканиране ще открием и коя мрежа има най -добра сила на сигнала.

Стъпка 7: Код

Първо нека включим библиотеката „WiFi.h“, ще е необходимо да ни позволите да работим с мрежовата карта на нашето устройство.

#include "WiFi.h"

Ето две променливи, които ще се използват за съхраняване на SSID (име) на мрежата и силата на сигнала.

Низов networkSSID = ""; int strongSignal = -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 ("Няма намерена мрежа"); } else {networkSSID = ""; сила на сигнала = -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 ("SIGNAL:"); 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 ("\ n / n"); if (abs (WiFi. RSSI (i)) <abs (strongSignal)) {strongSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("МРЕЖА С НАЙ -ДОБРИЯ СИГНАЛ, НАМЕРЕН: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (strongSignal); Serial.println (")"); } забавяне (10); }} Serial.println ("\ n ----------------------------------------- -------------------------------------------\н");

// интервал от 5 секунди за извършване на ново забавяне на сканиране (5000); }

"Ако (abs (WiFi. RSSI (i))"

Обърнете внимание, че в горното изявление използваме abs (), тази функция приема абсолютната стойност (т.е. не отрицателна) на числото. В нашия случай направихме това, за да намерим най -малката от стойностите в сравнението, тъй като интензитетът на сигнала се дава като отрицателно число и колкото по -близо до нула, толкова по -добър е сигналът.

Стъпка 10: Файлове

Изтеглете всичките ми файлове на: www.fernandok.com

Препоръчано: