Innehållsförteckning:
- Steg 1: Viktiga funktioner
- Steg 2: Jämförelse mellan ESP32, ESP8266 och Arduino R3
- Steg 3: Typer av ESP32
- Steg 4: WiFi NodeMCU-32S ESP-WROOM-32
- Steg 5: Konfigurera Arduino IDE (Windows)
- Steg 6: WiFi -skanning
- Steg 7: Kod
- Steg 8: Inställning
- Steg 9: Slinga
- Steg 10: Filer
Video: Introduktion till ESP32: 10 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
I den här artikeln ska vi prata om ESP32, som jag anser vara en äldre bror till ESP8266. Jag gillar verkligen denna mikrokontroller eftersom den har WiFi. Bara så att du har en idé, innan ESP finns, om du behövde en Arduino för att ha WiFi, måste du spendera mellan $ 200 och $ 300 för att köpa en Wifi -adapter. Adaptern för nätverkskabel är inte så dyr, men för WiFi har det alltid varit och är fortfarande dyrt. Men lyckligtvis har Espressif Systems lanserat ESP och löser våra liv.
Jag gillar ESP32 med det här formatet som har en USB -port. Detta NodeMCU -schema är lätt att manipulera eftersom det inte behöver någon elektronik. Anslut bara kabeln, slå på enheten och programmera den. Det fungerar precis som en Arduino.
Hur som helst, idag kommer vi att prata om de allmänna aspekterna av ESP32 och hur man konfigurerar Arduino IDE för att programmera fler enheter av den typen. Vi kommer också att göra ett program som söker i nätverken och visar vilket som är mer kraftfullt.
Steg 1: Viktiga funktioner
Chip med inbyggt WiFi: standard 802.11 B / G / N, som fungerar inom intervallet 2,4 till 2,5 GHz
Driftsätt: Client, Access Point, Station + Access Point
Dubbelkärnig mikroprocessor Tensilica Xtensa 32-bitars LX6
Justerbar klocka från 80MHz upp till 240MHz
Driftspänning: 3,3 VDC
Den har SRAM på 512 KB
Har 448KB ROM
Den har ett externt flashminne på 32 Mb (4 megabyte)
Maximal ström per stift är 12mA (rekommenderas att använda 6mA)
Den har 36 GPIO: er
GPIO: er med PWM / I2C- och SPI -funktioner
Den har Bluetooth v4.2 BR / EDR och BLE (Bluetooth Low Energy)
Steg 2: Jämförelse mellan ESP32, ESP8266 och Arduino R3
Steg 3: Typer av ESP32
ESP32 föddes med många syskon. Idag använder jag den första från vänster, Espressif, men det finns flera märken och typer, inklusive inbyggd Oled-display. Skillnaderna är dock samma chip: Tensilica LX6, 2 Core.
Steg 4: WiFi NodeMCU-32S ESP-WROOM-32
Detta är diagrammet över ESP som vi använder i vår montering. Det är ett chip som har mycket överklagande och kraft. De är flera stift du väljer om de vill arbeta som digital analog, analog digital eller även om det fungerar dörren som digital.
Steg 5: Konfigurera Arduino IDE (Windows)
Så här konfigurerar du Arduino IDE så att vi kan kompilera för ESP32:
1. Ladda ner filerna via länken:
2. Packa upp filen och kopiera innehållet till följande sökväg:
C: / Användare / [YOUR_USER_NAME] / Dokument / Arduino / hardware / espressif / esp32
Obs! Om det inte finns någon katalog "espressif" och "esp32", skapar du dem normalt.
3. Öppna katalogen
C: / Users / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32 / tools
Kör filen "get.exe".
4. När "get.exe" är klar kopplar du in ESP32, väntar på att drivrutinerna installeras (eller installeras manuellt).
Klar, välj nu bara ESP32 -kortet i "verktyg >> kort" och sammanställ din kod.
Steg 6: WiFi -skanning
Här är ett exempel på hur man letar efter tillgängliga WiFi-nätverk nära ESP-32, samt signalstyrkan för var och en av dem. Med varje genomsökning kommer vi också att ta reda på vilket nätverk som har den bästa signalstyrkan.
Steg 7: Kod
Låt oss först inkludera biblioteket "WiFi.h", det kommer att vara nödvändigt för att vi ska kunna arbeta med nätverkskortet på vår enhet.
#inkludera "WiFi.h"
Här är två variabler som kommer att användas för att lagra nätverkets SSID (namn) och signalstyrka.
String networkSSID = ""; int strengthSignal = -9999;
Steg 8: Inställning
I funktionen setup () kommer vi att definiera WiFi -beteende -läget för vår enhet. I det här fallet, eftersom målet är att söka efter tillgängliga nätverk, kommer vi att konfigurera vår enhet för att fungera som en "station".
void setup () {// Initialize Serial to log in Serial Monitor Serial.begin (115200);
// konfigurera driftsläget för WiFi som stationens WiFi.mode (WIFI_STA); // WIFI_STA är en konstant som indikerar stationsläget
// koppla bort från åtkomstpunkten om den redan är ansluten WiFi.disconnect (); fördröjning (100);
// Serial.println ("Installation klar");}
Steg 9: Slinga
I loop () -funktionen kommer vi att söka efter tillgängliga nätverk och sedan skriva ut loggen i de hittade nätverken. För vart och ett av dessa nätverk kommer vi att göra jämförelsen för att hitta den med den högsta signalstyrkan.
void loop () {// Serial.println ("scan start"); // utför skanning av tillgängliga nätverk
int n = WiFi.scanNetworks ();
Serial.println ("Skanning utförd");
// kontrollera om du har hittat något nätverk om (n == 0) {Serial.println ("Inget nätverk hittades"); } annat {networkSSID = ""; strengthSignal = -9999; Serial.print (n); Serial.println ("nätverk hittade / n"); för (int i = 0; i <n; ++ i) {// skriv ut på seriell bildskärm vart och ett av de nätverk som hittats Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // nätverksnamn (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // signalstyrka 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 (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 (")"); } fördröjning (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");
// intervall på 5 sekunder för att utföra en ny skanningsfördröjning (5000); }
"If (abs (WiFi. RSSI (i))"
Observera att i ovanstående sats använder vi abs (), den här funktionen tar det absoluta värdet (dvs inte negativt) av talet. I vårt fall gjorde vi detta för att hitta de minsta av värdena i jämförelsen, eftersom signalintensiteten anges som ett negativt tal och ju närmare noll desto bättre signal.
Steg 10: Filer
Ladda ner alla mina filer på: www.fernandok.com
Rekommenderad:
Covid -hjälm del 1: ett introduktion till Tinkercad -kretsar !: 20 steg (med bilder)
Covid -hjälm del 1: ett introduktion till Tinkercad -kretsar !: Hej, vän! I den här tvådelade serien lär vi oss hur du använder Tinkercads kretsar - ett roligt, kraftfullt och lärorikt verktyg för att lära dig hur kretsar fungerar! Ett av de bästa sätten att lära sig är att göra. Så vi ska först designa vårt eget projekt:
Introduktion till IR -kretsar: 8 steg (med bilder)
Introduktion till IR -kretsar: IR är en komplex teknik men ändå mycket enkel att arbeta med. Till skillnad från lysdioder eller LASER kan infraröd inte ses med det mänskliga ögat. I denna instruktionsbok kommer jag att demonstrera användningen av infraröd genom 3 olika kretsar. Kretsarna kommer inte att vara
Introduktion till Arduino: 18 steg
Introduktion till Arduino: Har du någonsin undrat över att göra dina egna enheter som väderstation, bilens instrumentbräda för övervakning av bränsle, hastighet och platsspårning eller att styra dina hushållsapparater som styrs av smartphones eller har du någonsin undrat om att göra sofistikerade r
En introduktion till GarageBand: 9 steg
En introduktion till GarageBand: GarageBand är en plattform där du kan göra musik. Du kan göra i stort sett vad som helst på denna plattform, oavsett om det är att skapa din drömmusik eller att replikera ett musikstycke du gillar. Men det är inte lätt i alla fall. Det är därför jag är här
Introduktion - Förvandla en Raspberry Pi till en GPS -spårningsserver: 12 steg
Introduktion - Förvandla en Raspberry Pi till en GPS -spårningsserver: I den här guiden visar jag dig hur du installerar Traccar GPS -spårningsprogram på en Raspberry Pi som tar emot data från kompatibla enheter över internet och loggar in sina positioner på en karta i realtid spårning och även spårning av uppspelning.