Cuprins:

Introducere în ESP32: 10 pași
Introducere în ESP32: 10 pași

Video: Introducere în ESP32: 10 pași

Video: Introducere în ESP32: 10 pași
Video: ESP32. Curs în limba română. Lecția 1, introducere 2024, Noiembrie
Anonim
Image
Image
Caracteristici cheie
Caracteristici cheie

Î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

Comparație între ESP32, ESP8266 și Arduino R3
Comparație între ESP32, ESP8266 și Arduino R3

Pasul 3: Tipuri de ESP32

Tipuri de ESP32
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

Node WiFi MCU-32S ESP-WROOM-32
Node WiFi MCU-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)

Configurarea Arduino IDE (Windows)
Configurarea Arduino IDE (Windows)
Configurarea Arduino IDE (Windows)
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: