Sadržaj:
- Korak 1: Ključne značajke
- Korak 2: Usporedba između ESP32, ESP8266 i Arduina R3
- Korak 3: Vrste ESP32
- Korak 4: WiFi NodeMCU-32S ESP-WROOM-32
- Korak 5: Konfiguriranje Arduino IDE -a (Windows)
- Korak 6: WiFi skeniranje
- Korak 7: Kodirajte
- Korak 8: Postavljanje
- Korak 9: Petlja
- Korak 10: Datoteke
Video: Uvod u ESP32: 10 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
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 još je skup. No, na sreću, Espressif Systems je pokrenuo ESP i rješava nam živote.
Sviđa mi se ESP32 s ovim formatom koji ima USB priključak. Ovom shemom NodeMCU lako je 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 značajke
Čip s ugrađenim WiFi-jem: standardni 802.11 B / G / N, radi u rasponu od 2.4 do 2.5GHz
Načini rada: Klijent, pristupna točka, stanica + pristupna točka
Dvojedrni mikroprocesor Tensilica Xtensa 32-bitni LX6
Podesivi sat od 80MHz do 240MHz
Radni napon: 3,3 VDC
Ima SRAM od 512 KB
Značajke 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 -a
GPIO -i s PWM / I2C i SPI funkcijama
Ima Bluetooth v4.2 BR / EDR i BLE (Bluetooth s niskom potrošnjom energije)
Korak 2: Usporedba između ESP32, ESP8266 i Arduina R3
Korak 3: 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 jezgre.
Korak 4: WiFi NodeMCU-32S ESP-WROOM-32
Ovo je dijagram ESP -a koji koristimo u našoj montaži. 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 i ako vrata rade kao digitalna.
Korak 5: Konfiguriranje Arduino IDE -a (Windows)
Evo kako konfigurirati Arduino IDE tako da ga možemo kompajlirati za ESP32:
1. Preuzmite datoteke putem veze:
2. Raspakirajte datoteku i kopirajte sadržaj na sljedeću stazu:
C: / Korisnici / [YOUR_USER_NAME] / Dokumenti / Arduino / hardver / espressif / esp32
Napomena: Ako ne postoje direktoriji "espressif" i "esp32", jednostavno ih stvorite normalno.
3. Otvorite imenik
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 ploču ESP32 u "alati >> ploča" 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 knjižnicu "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 networkSSID = ""; 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 () {// Pokreni serijski broj 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 dovrš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 izvedeno");
// 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:"); Serijski.ispis (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 izjavi 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čeni:
Zaštitna kaciga Covid 1. dio: Uvod u kola Tinkercada!: 20 koraka (sa slikama)
Zaštitna kaciga Covid 1. dio: Uvod u Tinkercad sklopove!: Zdravo, prijatelju! U ovoj dvodijelnoj seriji naučit ćemo kako koristiti Tinkercadova kola - zabavan, moćan i obrazovni alat za učenje o načinu rada sklopova! Jedan od najboljih načina učenja je učenje. Dakle, prvo ćemo osmisliti naš vlastiti projekt:
Uvod u IC sklopove: 8 koraka (sa slikama)
Uvod u IC sklopove: IR je složena tehnologija, ali s njom je vrlo jednostavno raditi. Za razliku od LED ili LASER -ova, infracrveno se ne može vidjeti ljudskim okom. U ovom Instructableu pokazat ću uporabu infracrvenog signala kroz 3 različita kruga. Krugovi neće biti u
Igre!!! - Uvod: 5 koraka
Igre!!! - Uvod: Bok! Naučit ću vas kako stvoriti tri različite igre na code.org. Ispod svakog vodiča za igre objavit ću predložak koji možete remiksati i koristiti dok gledate moj video. Nadam se da ćete se dobro zabaviti !! Ako želite samo pogledati moje igre u
Uvod u Python - Katsuhiko Matsuda & Edwin Cijo - Osnove: 7 koraka
Uvod u Python - Katsuhiko Matsuda & Edwin Cijo - Osnove: Pozdrav, mi smo 2 učenika na MYP 2. Želimo vas naučiti osnovama kodiranja Pythona. Kreirao ga je krajem 1980 -ih Guido van Rossum u Nizozemskoj. Napravljen je kao nasljednik jezika ABC. Njegovo ime je " Python " jer kad
Uvod ESP32 Lora OLED zaslon: 8 koraka
Uvod ESP32 Lora OLED zaslon: Ovo je još jedan video zapis o Uvodu u ESP32 LoRa. Ovaj put ćemo posebno govoriti o grafičkom prikazu (od 128x64 piksela). Knjižnicu SSD1306 koristit ćemo za prikaz informacija na ovom OLED zaslonu i predstaviti primjer o