Cuprins:
- Pasul 1: Caracteristici cheie
- Pasul 2: Comparație între ESP32, ESP8266 și Arduino R3
- Pasul 3: Tipuri de ESP32
- Pasul 4: WiFi NodeMCU-32S ESP-WROOM-32
- Pasul 5: Configurarea Arduino IDE (Windows)
- Pasul 6: scanare WiFi
- Pasul 7: Cod
- Pasul 8: Configurare
- Pasul 9: Buclă
- Pasul 10: Fișiere
Video: Introducere în ESP32: 10 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
În acest articol vom vorbi despre ESP32, pe care îl consider a fi un frate mai mare al ESP8266. Îmi place foarte mult acest microcontroler deoarece are WiFi. Doar ca să aveți o idee, înainte ca ESP să existe, dacă ați avea nevoie de un Arduino pentru a avea WiFi, ar trebui să cheltuiți între 200 și 300 USD pentru a cumpăra un adaptor Wifi. Adaptorul pentru cablul de rețea nu este atât de scump, dar pentru WiFi a fost întotdeauna și este încă scump. Dar, din fericire, Espressif Systems a lansat ESP și ne rezolvă viața.
Îmi place ESP32 cu acest format care are un port USB. Această schemă NodeMCU este ușor de manipulat, deoarece nu are nevoie de electronică. Doar conectați cablul, alimentați dispozitivul și programați-l. Funcționează la fel ca un Arduino.
Oricum, astăzi vom vorbi despre aspectele generale ale ESP32 și despre cum să configurați Arduino IDE pentru a programa mai multe dispozitive de acest tip. De asemenea, vom realiza un program care caută rețelele și arată care dintre ele este mai puternic.
Pasul 1: Caracteristici cheie
Cip cu WiFi încorporat: standard 802.11 B / G / N, care funcționează în intervalul 2.4 - 2.5GHz
Moduri de funcționare: client, punct de acces, stație + punct de acces
Microprocesor dual core Tensilica Xtensa 32-bit LX6
Ceas reglabil de la 80MHz până la 240MHz
Tensiune de funcționare: 3,3 VDC
Are SRAM de 512KB
Dispune de 448 KB ROM
Are memorie flash externă de 32Mb (4 megabytes)
Curentul maxim pe pin este de 12mA (se recomandă utilizarea 6mA)
Are 36 de GPIO-uri
GPIO-uri cu funcții PWM / I2C și SPI
Are Bluetooth v4.2 BR / EDR și BLE (Bluetooth Low Energy)
Pasul 2: Comparație între ESP32, ESP8266 și Arduino R3
Pasul 3: Tipuri de ESP32
ESP32 s-a născut cu mulți frați. Astăzi îl folosesc pe primul din stânga, Espressif, dar există mai multe mărci și tipuri, inclusiv afișaj Oled încorporat. Cu toate acestea, diferențele sunt aceleași cip: Tensilica LX6, 2 Core.
Pasul 4: WiFi NodeMCU-32S ESP-WROOM-32
Aceasta este diagrama ESP pe care o folosim în ansamblul nostru. Este un cip care are multă atracție și putere. Sunt mai mulți pini pe care îi alegeți dacă doresc să funcționeze ca analogice digitale, analogice digitale sau chiar dacă funcționează ușa ca digitale.
Pasul 5: Configurarea Arduino IDE (Windows)
Iată cum să configurăm ID-ul Arduino, astfel încât să putem compila pentru ESP32:
1. Descărcați fișierele prin linkul:
2. Dezarhivați fișierul și copiați conținutul pe următoarea cale:
C: / Users / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32
Notă: Dacă nu există directorul „espressif” și „esp32”, creați-le în mod normal.
3. Deschideți directorul
C: / Users / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32 / tools
Rulați fișierul „get.exe”.
4. După terminarea „get.exe”, conectați ESP32, așteptați instalarea driverelor (sau instalarea manuală).
Gata, alegeți doar placa ESP32 în „instrumente >> tablă” și compilați codul.
Pasul 6: scanare WiFi
Iată un exemplu despre cum să căutați rețele WiFi disponibile lângă ESP-32, precum și puterea semnalului fiecăreia dintre ele. Cu fiecare scanare, vom afla, de asemenea, care rețea are cea mai bună putere a semnalului.
Pasul 7: Cod
Mai întâi să includem biblioteca „WiFi.h”, va fi necesar să ne permiteți să lucrăm cu placa de rețea a dispozitivului nostru.
#include „WiFi.h”
Iată două variabile care vor fi utilizate pentru a stoca SSID (numele) și puterea semnalului rețelei.
String networkSSID = ""; int strengthSignal = -9999;
Pasul 8: Configurare
În funcția setup (), vom defini modul de comportare WiFi al dispozitivului nostru. În acest caz, întrucât scopul este să căutăm rețelele disponibile, vom configura dispozitivul nostru pentru a funcționa ca o „stație”.
void setup () {// Inițializează Serial pentru a vă conecta Serial Monitor Serial.begin (115200);
// configurarea modului de funcționare a WiFi-ului ca stație WiFi.mode (WIFI_STA); // WIFI_STA este o constantă care indică modul stației
// deconectați-vă de la punctul de acces dacă este deja conectat WiFi.disconnect (); întârziere (100);
// Serial.println ("Instalare finalizată");}
Pasul 9: Buclă
În funcția loop (), vom căuta rețelele disponibile și apoi vom imprima jurnalul în rețelele găsite. Pentru fiecare dintre aceste rețele vom face comparația pentru a o găsi pe cea cu cea mai mare putere a semnalului.
void loop () {// Serial.println ("scan scan"); // efectuează scanarea rețelelor disponibile
int n = WiFi.scanNetworks ();
Serial.println („Scanare efectuată”);
// verificați dacă ați găsit vreo rețea dacă (n == 0) {Serial.println ("Nu s-a găsit nicio rețea"); } else {networkSSID = ""; strengthSignal = -9999; Serial.print (n); Serial.println ("rețele găsite / n"); for (int i = 0; i <n; ++ i) {// tipăriți pe monitorul serial fiecare dintre rețelele găsite Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // numele rețelei (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // puterea semnalului 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 ("REȚEA CU CEL MAI BUN SEMNAL GĂSIT: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (strengthSignal); Serial.println (")"); } întârziere (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");
// interval de 5 secunde pentru a efectua o nouă întârziere de scanare (5000); }
„Dacă (abs (WiFi. RSSI (i))”
Rețineți că în afirmația de mai sus folosim abs (), această funcție ia valoarea absolută (adică nu negativă) a numărului. În cazul nostru am făcut acest lucru pentru a găsi cea mai mică dintre valorile din comparație, deoarece intensitatea semnalului este dată ca număr negativ și cu cât este mai aproape de zero cu atât semnalul este mai bun.
Pasul 10: Fișiere
Descărcați toate fișierele mele pe: www.fernandok.com
Recomandat:
Casca de siguranță Covid Partea 1: o introducere în circuitele Tinkercad !: 20 de pași (cu imagini)
Casca de siguranță Covid Partea 1: o introducere în circuitele Tinkercad !: Bună, prietene! În această serie din două părți, vom învăța cum să folosim circuitele Tinkercad - un instrument distractiv, puternic și educațional pentru a afla cum funcționează circuitele! Una dintre cele mai bune modalități de a învăța este să faci. Deci, mai întâi vom proiecta propriul nostru proiect: th
Introducere în circuitele IR: 8 pași (cu imagini)
Introducere în circuitele IR: IR este o tehnologie complexă, dar foarte ușor de utilizat. Spre deosebire de LED-uri sau LASER-uri, infrarosu nu poate fi văzut cu ochiul uman. În acest Instructable, voi demonstra utilizarea infraroșu prin 3 circuite diferite. Circuitele nu vor fi u
Jocuri !!! - Introducere: 5 pași
Jocuri !!! - Introducere: Bună! Vă voi învăța cum să creați trei jocuri diferite pe code.org. Sub fiecare tutorial de joc, voi posta un șablon pe care îl puteți remixa și utiliza în timp ce vizionați videoclipul meu. Sper sa te distrezi !! Dacă vreți să vedeți jocurile mele în
Introducere Afișaj OLED ESP32 Lora: 8 pași
Introducere Afișaj OLED ESP32 Lora: Acesta este un alt videoclip despre introducerea ESP32 LoRa. De data aceasta, vom vorbi în mod specific despre un afișaj grafic (de 128x64 pixeli). Vom folosi biblioteca SSD1306 pentru a afișa informații pe acest ecran OLED și pentru a prezenta un exemplu de
ESP32 cu OLED integrat (WEMOS / Lolin) - Introducere Stil Arduino: 4 pași
ESP32 cu OLED integrat (WEMOS / Lolin) - Noțiuni introductive Stil Arduino: Dacă sunteți ca mine, săriți la șansa de a pune mâna pe cel mai recent și mai mare ESP8266 / etc … și îl puneți în mișcare. ESP32 nu diferă, dar am constatat că nu există încă prea multe lucruri în ceea ce privește documentația