Sadržaj:

Uvod u ESP32: 10 koraka
Uvod u ESP32: 10 koraka

Video: Uvod u ESP32: 10 koraka

Video: Uvod u ESP32: 10 koraka
Video: Control 32 Servo over Wi-Fi using ESP32 and PCA9685 via desktop or mobile phone V5 2024, Juli
Anonim
Image
Image
Ključne karakteristike
Ključne karakteristike

U ovom ćemo članku govoriti o ESP32, koji smatram starijim bratom ESP8266. Ovaj mikrokontroler mi se jako sviđa jer ima WiFi. Samo da imate ideju, prije nego što ESP postoji, ako vam je trebao Arduino za WiFi, morali biste potrošiti između 200 i 300 USD za kupnju Wifi adaptera. Adapter za mrežni kabel nije toliko skup, ali za WiFi je uvijek bio i ostao skup. Ali na sreću, Espressif Systems je pokrenuo ESP i rješava nam živote.

Sviđa mi se ESP32 sa ovim formatom koji ima USB port. Ovom NodeMCU shemom je lako manipulirati jer ne treba nikakvu elektroniku. Samo priključite kabel, uključite uređaj i programirajte ga. Radi kao Arduino.

U svakom slučaju, danas ćemo govoriti o općim aspektima ESP32 i o tome kako konfigurirati Arduino IDE za programiranje više uređaja tog tipa. Također ćemo napraviti program koji pretražuje mreže i pokazuje koja je moćnija.

Korak 1: Ključne karakteristike

Čip sa ugrađenim WiFi-jem: standardni 802.11 B / G / N, radi u rasponu od 2.4 do 2.5GHz

Načini rada: Klijent, pristupna tačka, stanica + pristupna tačka

Dvojedrni mikroprocesor Tensilica Xtensa 32-bitni LX6

Podesivi sat od 80MHz do 240MHz

Radni napon: 3,3 VDC

Ima SRAM od 512 KB

Sadrži 448KB ROM -a

Ima vanjsku flash memoriju od 32 MB (4 megabajta)

Maksimalna struja po pinu je 12mA (preporučuje se upotreba 6mA)

Ima 36 GPIO -ova

GPIO -i sa PWM / I2C i SPI funkcijama

Ima Bluetooth v4.2 BR / EDR i BLE (Bluetooth sa niskom potrošnjom energije)

Korak 2: Usporedba između ESP32, ESP8266 i Arduina R3

Poređenje između ESP32, ESP8266 i Arduino R3
Poređenje između ESP32, ESP8266 i Arduino R3

Korak 3: Vrste ESP32

Vrste ESP32
Vrste ESP32

ESP32 je rođen s puno braće i sestara. Danas koristim prvi s lijeva, Espressif, ali postoji nekoliko marki i tipova, uključujući ugrađeni Oled zaslon. Međutim, razlike su isti čip: Tensilica LX6, 2 Core.

Korak 4: WiFi NodeMCU-32S ESP-WROOM-32

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

Ovo je dijagram ESP -a koji koristimo u našem sklopu. To je čip koji ima mnogo privlačnosti i snage. To je nekoliko pinova koje odaberete želite li raditi kao digitalni analogni, analogni digitalni ili čak ako vrata rade kao digitalna.

Korak 5: Konfiguriranje Arduino IDE -a (Windows)

Konfiguriranje Arduino IDE -a (Windows)
Konfiguriranje Arduino IDE -a (Windows)
Konfiguriranje Arduino IDE -a (Windows)
Konfiguriranje Arduino IDE -a (Windows)

Evo kako konfigurirati Arduino IDE tako da možemo kompajlirati za ESP32:

1. Preuzmite datoteke putem veze:

2. Raspakirajte datoteku i kopirajte sadržaj na sljedeću putanju:

C: / Korisnici / [YOUR_USER_NAME] / Dokumenti / Arduino / hardver / espressif / esp32

Napomena: Ako ne postoje direktoriji "espressif" i "esp32", jednostavno ih stvorite normalno.

3. Otvorite direktorij

C: / Korisnici / [YOUR_USER_NAME] / Dokumenti / Arduino / hardver / espressif / esp32 / alati

Pokrenite datoteku "get.exe".

4. Nakon što se "get.exe" završi, uključite ESP32, pričekajte da se upravljački programi instaliraju (ili instalirajte ručno).

Spremni, sada samo odaberite ESP32 ploču u "tools >> board" i sastavite svoj kôd.

Korak 6: WiFi skeniranje

Evo primjera kako potražiti dostupne WiFi mreže u blizini ESP-32, kao i jačinu signala svake od njih. Svakim skeniranjem ćemo također saznati koja mreža ima najbolju jačinu signala.

Korak 7: Kodirajte

Prvo uključimo biblioteku "WiFi.h", bit će nam potrebno omogućiti rad s mrežnom karticom našeg uređaja.

#include "WiFi.h"

Evo dvije varijable koje će se koristiti za spremanje SSID -a (naziva) mreže i jačine signala.

String stringSSID = ""; int strongSignal = -9999;

Korak 8: Postavljanje

U funkciji setup () definirat ćemo WiFi način ponašanja našeg uređaja. U ovom slučaju, budući da je cilj tražiti dostupne mreže, konfigurirat ćemo naš uređaj da radi kao "stanica".

void setup () {// Pokretanje serijskog programa za prijavu na Serial Monitor Serial.begin (115200);

// konfiguriranje načina rada WiFi -a kao stanice WiFi.mode (WIFI_STA); // WIFI_STA je konstanta koja označava način rada stanice

// prekinuti vezu s pristupnom točkom ako je već spojena WiFi.disconnect (); kašnjenje (100);

// Serial.println ("Postavljanje je završeno");}

Korak 9: Petlja

U funkciji loop () tražit ćemo dostupne mreže, a zatim ispisati dnevnik u pronađenim mrežama. Za svaku od ovih mreža napravit ćemo usporedbu kako bismo pronašli onu s najvećom snagom signala.

void loop () {// Serial.println ("početak skeniranja"); // vrši skeniranje dostupnih mreža

int n = WiFi.scanNetworks ();

Serial.println ("Skeniranje izvršeno");

// provjeravamo jeste li pronašli bilo koju mrežu if (n == 0) {Serial.println ("Nije pronađena mreža"); } else {networkSSID = ""; snaga signala = -9999; Serial.print (n); Serial.println ("pronađene mreže / n"); for (int i = 0; i <n; ++ i) {// ispisati na serijskom monitoru svaku od pronađenih mreža Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // naziv mreže (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // jačina signala 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 ("MREŽA SA NAJBOLJIM NAĐENIM SIGNALOM: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (strongSignal); Serial.println (")"); } kašnjenje (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");

// interval od 5 sekundi za izvođenje nove odgode skeniranja (5000); }

"Ako (abs (WiFi. RSSI (i))"

Imajte na umu da u gornjoj naredbi koristimo abs (), ova funkcija uzima apsolutnu vrijednost (tj. Nije negativna) broja. U našem slučaju to smo učinili kako bismo pronašli najmanju vrijednost u usporedbi, jer se intenzitet signala daje kao negativan broj i što je bliži nuli signal je bolji.

Korak 10: Datoteke

Preuzmite sve moje datoteke na: www.fernandok.com

Preporučuje se: