Turinys:
- 1 žingsnis: pagrindinės savybės
- 2 žingsnis: ESP32, ESP8266 ir „Arduino R3“palyginimas
- 3 žingsnis: ESP32 tipai
- 4 žingsnis: „WiFi NodeMCU-32S ESP-WROOM-32“
- 5 veiksmas: „Arduino IDE“konfigūravimas („Windows“)
- 6 veiksmas: „WiFi“nuskaitymas
- 7 žingsnis: kodas
- 8 veiksmas: sąranka
- 9 žingsnis: ciklas
- 10 veiksmas: failai
Video: Įvadas į ESP32: 10 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šiame straipsnyje mes kalbėsime apie ESP32, kurį laikau vyresniu ESP8266 broliu. Man labai patinka šis mikrovaldiklis, nes jis turi WiFi. Tiesiog, kad turėtumėte idėją, kol dar nebuvo ESP, jei jums reikėjo „Arduino“, kad galėtumėte naudotis „WiFi“, turėsite išleisti nuo 200 iki 300 USD, kad nusipirktumėte „Wifi“adapterį. Tinklo kabelio adapteris nėra toks brangus, tačiau „WiFi“jis visada buvo ir tebėra brangus. Bet, laimei, „Espressif Systems“pradėjo ESP ir sprendžia mūsų gyvenimą.
Man patinka šio formato ESP32, turintis USB prievadą. Šia „NodeMCU“schema lengva manipuliuoti, nes jai nereikia jokios elektronikos. Tiesiog prijunkite laidą, įjunkite įrenginį ir užprogramuokite. Jis veikia kaip „Arduino“.
Šiaip ar taip, šiandien kalbėsime apie bendruosius ESP32 aspektus ir kaip sukonfigūruoti „Arduino IDE“programuoti daugiau tokio tipo įrenginių. Taip pat sukursime programą, kuri ieško tinklų ir parodo, kuris iš jų yra galingesnis.
1 žingsnis: pagrindinės savybės
Lustas su įmontuotu „WiFi“: standartinis 802.11 B / G / N, veikiantis 2,4–2,5 GHz diapazone
Veikimo režimai: klientas, prieigos taškas, stotis + prieigos taškas
Dviejų branduolių mikroprocesorius Tensilica Xtensa 32 bitų LX6
Reguliuojamas laikrodis nuo 80MHz iki 240MHz
Darbinė įtampa: 3,3 VDC
Jo SRAM yra 512 KB
Turi 448KB ROM
Išorinė „flash“atmintis yra 32 MB (4 megabaitai)
Maksimali srovė vienam kaiščiui yra 12 mA (rekomenduojama naudoti 6 mA)
Jame yra 36 GPIO
GPIO su PWM / I2C ir SPI funkcijomis
Turi „Bluetooth v4.2 BR / EDR“ir BLE („Bluetooth“mažai energijos)
2 žingsnis: ESP32, ESP8266 ir „Arduino R3“palyginimas
3 žingsnis: ESP32 tipai
ESP32 gimė su daugybe brolių ir seserų. Šiandien aš naudoju pirmąjį iš kairės, „Espressif“, tačiau yra keletas prekės ženklų ir tipų, įskaitant įmontuotą „Oled“ekraną. Tačiau skirtumai yra visi tie patys lustai: „Tensilica LX6, 2 Core“.
4 žingsnis: „WiFi NodeMCU-32S ESP-WROOM-32“
Tai yra ESP schema, kurią naudojame savo surinkime. Tai lustas, turintis daug patrauklumo ir galios. Tai yra keli kaiščiai, kuriuos pasirenkate, ar jie nori dirbti kaip skaitmeniniai analoginiai, analoginiai skaitmeniniai, ar net jei jie veikia kaip skaitmeniniai.
5 veiksmas: „Arduino IDE“konfigūravimas („Windows“)
Štai kaip sukonfigūruoti „Arduino IDE“, kad galėtume surinkti ESP32:
1. Atsisiųskite failus naudodami nuorodą:
2. Išpakuokite failą ir nukopijuokite turinį šiuo keliu:
C: / Vartotojai / [YOUR_USER_NAME] / Dokumentai / „Arduino“/ aparatinė įranga / espressif / esp32
Pastaba: jei nėra katalogų „espressif“ir „esp32“, tiesiog sukurkite juos įprastai.
3. Atidarykite katalogą
C: / Vartotojai / [YOUR_USER_NAME] / Dokumentai / „Arduino“/ aparatinė įranga / espressif / esp32 / tools
Paleiskite failą „get.exe“.
4. Užbaigus „get.exe“, prijunkite ESP32, palaukite, kol bus įdiegtos tvarkyklės (arba įdiekite rankiniu būdu).
Paruošta, dabar tiesiog pasirinkite ESP32 plokštę „įrankiai >> lentoje“ir surinkite savo kodą.
6 veiksmas: „WiFi“nuskaitymas
Štai pavyzdys, kaip ieškoti prieinamų „WiFi“tinklų netoli ESP-32, taip pat kiekvieno iš jų signalo stiprumas. Su kiekvienu nuskaitymu mes taip pat išsiaiškinsime, kuris tinklas turi geriausią signalo stiprumą.
7 žingsnis: kodas
Pirmiausia įtraukime biblioteką „WiFi.h“, turėsite leisti mums dirbti su savo įrenginio tinklo kortele.
#įtraukti „WiFi.h“
Čia yra du kintamieji, kurie bus naudojami tinklo SSID (pavadinimui) ir signalo stiprumui saugoti.
Styginių tinklasSSID = ""; int forceSignal = -9999;
8 veiksmas: sąranka
Funkcijoje setup () nustatysime savo įrenginio „WiFi“elgesio režimą. Šiuo atveju, kadangi tikslas yra ieškoti galimų tinklų, mes sukonfigūruosime savo įrenginį veikti kaip „stotį“.
void setup () {// Inicijuokite seriją, kad prisijungtumėte prie „Serial Monitor“Serial.begin (115200);
// „WiFi“režimo konfigūravimas kaip stoties „WiFi.mode“(WIFI_STA); // WIFI_STA yra konstanta, rodanti stoties režimą
// atsijungti nuo prieigos taško, jei jis jau prijungtas WiFi.disconnect (); vėlavimas (100);
// Serial.println ("Sąranka atlikta");}
9 žingsnis: ciklas
Funkcijoje „loop ()“ieškosime galimų tinklų ir tada išspausdinsime žurnalą rastuose tinkluose. Kiekvieną iš šių tinklų atliksime palyginimą, kad surastume tinklą, kurio signalo stiprumas yra didžiausias.
void loop () {// Serial.println ("nuskaitymo pradžia"); // atlieka galimų tinklų nuskaitymą
int n = WiFi.scanNetworks ();
Serial.println („Skenavimas atliktas“);
// patikrinkite, ar radote kokį nors tinklą, jei (n == 0) {Serial.println ("Nerasta tinklo"); } else {networkSSID = ""; stiprumasSignalas = -9999; Serijinis atspaudas (n); Serial.println ("rasti tinklai / n"); for (int i = 0; i <n; ++ i) {// spausdinti serijiniame monitoriuje kiekvieną rastą tinklą Serial.print ("SSID:"); Serial.println („WiFi. SSID (i)“); // tinklo pavadinimas (ssid) Serial.print ("SIGNAL:"); Serijinis spausdinimas („WiFi. RSSI (i)“); // signalo stiprumas Serial.print ("\ t / tCHANNEL:"); „Serial.print“((int) „WiFi“kanalas (i)); Serial.print ("\ t / tMAC:"); Serial.print („WiFi. BSSIDstr (i)“); Serial.println ("\ n / n"); if (abs (WiFi. RSSI (i)) <abs (stiprumo signalas)) {stiprumo signalas = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("TINKLAS SU GERIAUSIU SIGNALU RASTA: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (stiprumo signalas); Serial.println (")"); } uždelsimas (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");
// 5 sekundžių intervalas, norint atlikti naują nuskaitymo uždelsimą (5000); }
"Jei (abs (WiFi. RSSI (i)))"
Atminkite, kad aukščiau pateiktame teiginyje mes naudojame abs (), ši funkcija ima absoliučią skaičiaus vertę (ty ne neigiamą). Mūsų atveju tai darėme norėdami rasti mažiausią palyginimo vertę, nes signalo intensyvumas pateikiamas kaip neigiamas skaičius, o kuo arčiau nulio, tuo geresnis signalas.
10 veiksmas: failai
Atsisiųskite visus mano failus: www.fernandok.com
Rekomenduojamas:
„Covid“saugos šalmas 1 dalis: „Tinkercad“grandinių įvadas!: 20 žingsnių (su nuotraukomis)
„Covid“saugos šalmas 1 dalis: „Tinkercad“grandinių įvadas!: Sveiki, drauge! Šioje dviejų dalių serijoje sužinosime, kaip naudotis „Tinkercad“grandinėmis - linksma, galinga ir edukacinė priemonė, skirta sužinoti, kaip veikia grandinės! Vienas iš geriausių mokymosi būdų yra tai padaryti. Taigi, pirmiausia suprojektuosime savo projektą:
Įvadas į „Arduino“: 18 žingsnių
Įvadas į „Arduino“: Ar kada nors pagalvojote, kaip sukurti savo prietaisus, tokius kaip oro stotis, automobilio prietaisų skydelis, skirtas degalams, greičiui ir vietos stebėjimui stebėti, arba išmaniesiems telefonams valdomas buitinis prietaisas, ar kada nors susimąstėte, kaip sukurti sudėtingą
Įvadas - paverskite Raspberry Pi į GPS sekimo serverį: 12 žingsnių
Įvadas - „Raspberry Pi“paverskite GPS sekimo serveriu: Šiame vadove aš jums parodysiu, kaip įdiegti „Traccar“GPS sekimo programinę įrangą į „Raspberry Pi“, kuri internetu gaus duomenis iš suderinamų įrenginių ir realiu laiku registruoja jų pozicijas žemėlapyje. stebėjimas, taip pat atkūrimo stebėjimas
Įvadas į „Arduino“: 15 žingsnių (su nuotraukomis)
Įvadas į „Arduino“: „Arduino“yra atvirojo kodo mikrovaldiklių kūrimo plokštė. Paprasta anglų kalba galite naudoti „Arduino“skaityti jutiklius ir valdyti tokius dalykus kaip varikliai ir žibintai. Tai leidžia į šią lentą įkelti programas, kurios vėliau gali sąveikauti su dalykais
Įvadas į AVC mikrovaldiklio ADC - pradedantiesiems: 14 žingsnių
Įvadas į AVC mikrovaldiklio ADC | pradedantiesiems: Šioje pamokoje sužinosite viską, kas yra ADC mikrovaldiklyje