Indholdsfortegnelse:
- Trin 1: Nøglefunktioner
- Trin 2: Sammenligning mellem ESP32, ESP8266 og Arduino R3
- Trin 3: Typer af ESP32
- Trin 4: WiFi NodeMCU-32S ESP-WROOM-32
- Trin 5: Konfiguration af Arduino IDE (Windows)
- Trin 6: WiFi -scanning
- Trin 7: Kode
- Trin 8: Opsætning
- Trin 9: Sløjfe
- Trin 10: Filer
Video: Introduktion til ESP32: 10 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
I denne artikel vil vi tale om ESP32, som jeg anser for at være en ældre bror til ESP8266. Jeg kan virkelig godt lide denne mikrokontroller, fordi den har WiFi. Bare så du har en idé, før ESP eksisterer, hvis du havde brug for en Arduino for at have WiFi, skulle du bruge mellem $ 200 og $ 300 for at købe en Wifi -adapter. Adapteren til netværkskabel er ikke så dyr, men for WiFi har det altid været og er stadig dyrt. Men heldigvis har Espressif Systems lanceret ESP og løser vores liv.
Jeg kan godt lide ESP32 med dette format, der har en USB -port. Denne NodeMCU -ordning er let at manipulere, fordi den ikke har brug for elektronik. Tilslut bare kablet, tænd for enheden og programmer det. Det fungerer ligesom en Arduino.
Anyway, i dag vil vi tale om de generelle aspekter af ESP32 og hvordan man konfigurerer Arduino IDE til at programmere flere enheder af denne type. Vi vil også lave et program, der søger i netværkene og viser, hvilket er mere kraftfuldt.
Trin 1: Nøglefunktioner
Chip med indbygget WiFi: standard 802.11 B / G / N, der opererer i området 2,4 til 2,5 GHz
Driftsformer: Client, Access Point, Station + Access Point
Dual-core mikroprocessor Tensilica Xtensa 32-bit LX6
Justerbart ur fra 80MHz til 240MHz
Driftsspænding: 3,3 VDC
Den har SRAM på 512 KB
Indeholder 448 KB ROM
Den har en ekstern flash -hukommelse på 32 Mb (4 megabyte)
Maksimal strøm pr. Stift er 12mA (det anbefales at bruge 6mA)
Det har 36 GPIO'er
GPIO'er med PWM / I2C- og SPI -funktioner
Det har Bluetooth v4.2 BR / EDR og BLE (Bluetooth Low Energy)
Trin 2: Sammenligning mellem ESP32, ESP8266 og Arduino R3
Trin 3: Typer af ESP32
ESP32 blev født med en masse søskende. I dag bruger jeg den første fra venstre, Espressif, men der er flere mærker og typer, herunder indbygget Oled-display. Forskellene er dog alle den samme chip: Tensilica LX6, 2 Core.
Trin 4: WiFi NodeMCU-32S ESP-WROOM-32
Dette er diagrammet over ESP, som vi bruger i vores samling. Det er en chip, der har masser af appel og kraft. Det er flere pins, du vælger, om de vil arbejde som digital analog, analog digital eller endda hvis det virker døren som digital.
Trin 5: Konfiguration af Arduino IDE (Windows)
Sådan konfigureres Arduino IDE, så vi kan kompilere til ESP32:
1. Download filerne via linket:
2. Pak filen ud, og kopier indholdet til følgende sti:
C: / Brugere / [YOUR_USER_NAME] / Dokumenter / Arduino / hardware / espressif / esp32
Bemærk: Hvis der ikke er nogen mappe "espressif" og "esp32", skal du bare oprette dem normalt.
3. Åbn biblioteket
C: / Brugere / [YOUR_USER_NAME] / Dokumenter / Arduino / hardware / espressif / esp32 / tools
Kør filen "get.exe".
4. Når "get.exe" er færdig, skal du tilslutte ESP32, vente på, at driverne installeres (eller installeres manuelt).
Klar, vælg nu bare ESP32 -kortet i "værktøj >> bord" og kompilér din kode.
Trin 6: WiFi -scanning
Her er et eksempel på, hvordan man leder efter tilgængelige WiFi-netværk i nærheden af ESP-32, samt signalstyrken for hver af dem. Med hver scanning finder vi også ud af, hvilket netværk der har den bedste signalstyrke.
Trin 7: Kode
Lad os først inkludere biblioteket "WiFi.h", det vil være nødvendigt for at tillade os at arbejde med netværkskortet på vores enhed.
#inkluder "WiFi.h"
Her er to variabler, der bruges til at gemme netværkets SSID (navn) og signalstyrke.
String networkSSID = ""; int strengthSignal = -9999;
Trin 8: Opsætning
I funktionen setup () definerer vi WiFi -adfærdstilstanden på vores enhed. I dette tilfælde, da målet er at søge efter tilgængelige netværk, konfigurerer vi vores enhed til at fungere som en "station".
void setup () {// Initialize Serial for at logge på Serial Monitor Serial.begin (115200);
// konfigurering af driftsmåden for WiFi som station WiFi.mode (WIFI_STA); // WIFI_STA er en konstant, der angiver stationstilstanden
// afbryd forbindelsen fra adgangspunktet, hvis det allerede er tilsluttet WiFi. afbryd (); forsinkelse (100);
// Serial.println ("Opsætning udført");}
Trin 9: Sløjfe
I loop () -funktionen vil vi søge efter de tilgængelige netværk og derefter udskrive loggen i de fundne netværk. For hvert af disse netværk foretager vi sammenligningen for at finde det med den højeste signalstyrke.
void loop () {// Serial.println ("scan start"); // udfører scanning af tilgængelige netværk
int n = WiFi.scanNetworks ();
Serial.println ("Scan udført");
// kontrollere, om du har fundet et netværk, hvis (n == 0) {Serial.println ("Ingen netværk fundet"); } andet {networkSSID = ""; strengthSignal = -9999; Serial.print (n); Serial.println ("netværk fundet / n"); for (int i = 0; i <n; ++ i) {// print på seriel skærm hvert af de fundne netværk Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // netværksnavn (ssid) Serial.print ("SIGNAL:"); Seriel.print (WiFi. RSSI (i)); // signalstyrke Serial.print ("\ t / tCHANNEL:"); Serial.print ((int) WiFi.channel (i)); Serial.print ("\ t / tMAC:"); Seriel.print (WiFi. BSSIDstr (i)); Serial.println ("\ n / n"); if (abs (WiFi. RSSI (i)) <abs (strengthSignal)) {strengthSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("NETWORK WITH THE BEST SIGNAL FOUND: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (strengthSignal); Serial.println (")"); } forsinkelse (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");
// interval på 5 sekunder for at udføre en ny scanningsforsinkelse (5000); }
"If (abs (WiFi. RSSI (i))"
Bemærk, at i ovenstående sætning bruger vi abs (), denne funktion tager den absolutte værdi (dvs. ikke negativ) af tallet. I vores tilfælde gjorde vi dette for at finde den mindste af værdierne i sammenligningen, fordi signalintensiteten er givet som et negativt tal og jo tættere på nul jo bedre er signalet.
Trin 10: Filer
Download alle mine filer på: www.fernandok.com
Anbefalede:
Covid -sikkerhedshjelm del 1: en introduktion til Tinkercad -kredsløb !: 20 trin (med billeder)
Covid -sikkerhedshjelm del 1: en introduktion til Tinkercad -kredsløb !: Hej, ven! I denne todelte serie lærer vi, hvordan du bruger Tinkercad's Circuits - et sjovt, kraftfuldt og lærerigt værktøj til at lære om, hvordan kredsløb fungerer! En af de bedste måder at lære på er at gøre. Så vi designer først vores helt eget projekt:
Introduktion til IR -kredsløb: 8 trin (med billeder)
Introduktion til IR -kredsløb: IR er et komplekst stykke teknologi, men alligevel meget let at arbejde med. I modsætning til LED'er eller LASER'er kan infrarød ikke ses med det menneskelige øje. I denne instruktionsbog vil jeg demonstrere brugen af infrarød gennem 3 forskellige kredsløb. Kredsløbene vil ikke være u
Introduktion til Arduino: 18 trin
Introduktion til Arduino: Har du nogensinde spekuleret på at lave dine egne enheder som vejrstation, bilens instrumentbræt til overvågning af brændstof, hastighed og lokaliseringssporing eller styring af dine husholdningsapparater, der styres af smartphones, eller har du nogensinde spekuleret over at lave sofistikerede r
Introduktion til robotik til folkeskoleelever med kolibri -controllere: 18 trin
Introduktion til robotik til folkeskoleelever med kolibri -controllere: De fleste robotværktøjer på markedet i dag kræver, at brugeren downloader specifik software på deres harddisk. Skønheden ved Hummingbird Robotic Controller er, at den kan køres ved hjælp af en webbaseret computer, f.eks. En chromebook. Det har også været
Introduktion til CamScanner til Android: 11 trin
Introduktion til CamScanner til Android: Introduktion til CamScanner til Android