Բովանդակություն:
- Քայլ 1: Հիմնական հնարավորությունները
- Քայլ 2. Համեմատություն ESP32- ի, ESP8266- ի և Arduino R3- ի միջև
- Քայլ 3. ESP32- ի տեսակները
- Քայլ 4. WiFi NodeMCU-32S ESP-WROOM-32
- Քայլ 5: Arduino IDE- ի կազմաձևում (Windows)
- Քայլ 6: WiFi սկան
- Քայլ 7: Կոդ
- Քայլ 8: Կարգավորում
- Քայլ 9: Օղակ
- Քայլ 10: Ֆայլեր
Video: ESP32- ի ներածություն. 10 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Այս հոդվածում մենք խոսելու ենք ESP32- ի մասին, որը ես համարում եմ ESP8266- ի ավագ եղբայրը: Ինձ շատ դուր է գալիս այս միկրոկառավարիչը, քանի որ այն ունի WiFi: Ուղղակի գաղափար ունենալու համար, նախքան ESP- ի առկայությունը, եթե ձեզ անհրաժեշտ էր Arduino ՝ WiFi ունենալու համար, Wifi ադապտեր գնելու համար պետք է ծախսեիք $ 200 -ից $ 300 -ի միջև: Networkանցային մալուխի ադապտերն այդքան էլ թանկ չէ, բայց WiFi- ի համար այն միշտ եղել է և դեռ թանկ է: Բայց բարեբախտաբար, Espressif Systems- ը գործարկել է ESP- ը և լուծում է մեր կյանքը:
Ինձ դուր է գալիս այս ձևաչափով ESP32- ը, որն ունի USB պորտ: Այս NodeMCU սխեման հեշտ է շահարկել, քանի որ այն էլեկտրոնիկայի կարիք չունի: Պարզապես միացրեք մալուխը, միացրեք սարքը և ծրագրավորեք այն: Այն աշխատում է այնպես, ինչպես Arduino- ն:
Ինչևէ, այսօր մենք կխոսենք ESP32- ի ընդհանուր ասպեկտների և այն մասին, թե ինչպես կարգավորել Arduino IDE- ն `ավելի շատ տեսակի սարքեր ծրագրավորելու համար: Նաև մենք պատրաստելու ենք ծրագիր, որը որոնում է ցանցերը և ցույց է տալիս, թե որն է ավելի հզոր:
Քայլ 1: Հիմնական հնարավորությունները
Ներկառուցված WiFi- ով չիպ `ստանդարտ 802.11 B / G / N, աշխատում է 2.4-ից 2.5 ԳՀց միջակայքում
Գործողության եղանակները ՝ հաճախորդ, մուտքի կետ, կայան + մուտքի կետ
Երկակի միջուկային միկրոպրոցեսոր Tensilica Xtensa 32-բիթանոց LX6
Կարգավորելի ժամացույց ՝ 80 ՄՀց -ից մինչև 240 ՄՀց
Աշխատանքային լարումը `3.3 VDC
Այն ունի 512 ԿԲ SRAM
Առանձնահատկություններ 448KB ROM
Այն ունի 32 Մբ (4 ՄԲ) արտաքին ֆլեշ հիշողություն
Առավելագույն հոսանքը մեկ կապում `12 մԱ (խորհուրդ է տրվում օգտագործել 6 մԱ)
Այն ունի 36 GPIO
GPIO ՝ PWM / I2C և SPI գործառույթներով
Այն ունի Bluetooth v4.2 BR / EDR և BLE (Bluetooth ցածր էներգիա)
Քայլ 2. Համեմատություն ESP32- ի, ESP8266- ի և Arduino R3- ի միջև
Քայլ 3. ESP32- ի տեսակները
ESP32- ը ծնվել է շատ քույր ու եղբայրների հետ: Այսօր ես օգտագործում եմ ձախից առաջինը ՝ Espressif- ը, բայց կան մի քանի ապրանքանիշեր և տեսակներ, ներառյալ ներկառուցված Oled էկրանը: Այնուամենայնիվ, տարբերությունները բոլորը նույն չիպն են `Tensilica LX6, 2 Core:
Քայլ 4. WiFi NodeMCU-32S ESP-WROOM-32
Սա ESP- ի դիագրամն է, որը մենք օգտագործում ենք մեր հավաքում: Դա չիպ է, որն ունի շատ գրավիչ և ուժ: Նրանք մի քանի կապում են, որոնք դուք ընտրում եք ՝ արդյոք նրանք ցանկանում են աշխատել որպես թվային անալոգային, անալոգային թվային, կամ նույնիսկ եթե դա աշխատում է որպես թվային:
Քայլ 5: Arduino IDE- ի կազմաձևում (Windows)
Ահա թե ինչպես կարելի է կարգավորել Arduino IDE- ն, որպեսզի կարողանանք կազմել ESP32- ի համար.
1. Ներբեռնեք ֆայլերը հղման միջոցով ՝
2. Բացեք ֆայլը և պատճենեք բովանդակությունը հետևյալ ճանապարհին.
C: / Users / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32
Նշում. Եթե «espressif» և «esp32» գրացուցակներ չկան, պարզապես ստեղծեք դրանք նորմալ ռեժիմով:
3. Բացեք գրացուցակը
C: / Users / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32 / tools
Գործարկեք «get.exe» ֆայլը:
4. «get.exe» - ի ավարտից հետո միացրեք ESP32- ը, սպասեք վարորդների տեղադրմանը (կամ տեղադրեք ձեռքով):
Պատրաստ է, հիմա պարզապես ընտրեք ESP32 տախտակը «գործիքներ >> տախտակում և կազմեք ձեր կոդը:
Քայլ 6: WiFi սկան
Ահա մի օրինակ, թե ինչպես կարելի է փնտրել մատչելի WiFi ցանցեր ESP-32- ի մոտակայքում, ինչպես նաև դրանցից յուրաքանչյուրի ազդանշանի ուժգնությունը: Յուրաքանչյուր սկանավորման ընթացքում մենք նաև կպարզենք, թե որ ցանցն ունի ազդանշանի լավագույն ուժը:
Քայլ 7: Կոդ
Նախ ներառենք «WiFi.h» գրադարանը, անհրաժեշտ կլինի մեզ թույլ տալ աշխատել մեր սարքի ցանցային քարտով:
#ներառել «WiFi.h»
Ահա երկու փոփոխական, որոնք կօգտագործվեն ցանցի SSID (անունը) և ազդանշանի ուժը պահելու համար:
Լարային ցանց SSID = ""; int powerSignal = -9999;
Քայլ 8: Կարգավորում
Setup () գործառույթում մենք կսահմանենք մեր սարքի WiFi վարքի ռեժիմը: Այս դեպքում, քանի որ նպատակը մատչելի ցանցերի որոնումն է, մենք կկարգավորենք մեր սարքի աշխատանքը որպես «կայան»:
void setup () {// Initialize Serial ՝ մուտք գործելու համար Serial Monitor Serial.begin (115200);
// WiFi ռեժիմի կարգավորում որպես կայան WiFi.mode (WIFI_STA); // WIFI_STA- ն կայանի ռեժիմը նշող հաստատուն է
// անջատել մուտքի կետից, եթե այն արդեն միացված է WiFi.disconnect (); ուշացում (100);
// Serial.println («Կարգավորումն ավարտված է»);}
Քայլ 9: Օղակ
Loop () գործառույթում մենք կփնտրենք առկա ցանցերը, այնուհետև կտպագրենք տեղեկամատյանը գտնված ցանցերում: Այս ցանցերից յուրաքանչյուրի համար մենք համեմատություն կանենք `գտնելու ազդանշանի ամենաբարձր ուժը:
void loop () {// Serial.println («սկան սկիզբ»); // իրականացնում է առկա ցանցերի սկանավորում
int n = WiFi.scanNetworks ();
Serial.println («Սկան կատարված է»);
// ստուգեք, արդյոք գտե՞լ եք որևէ ցանց, եթե (n == 0) {Serial.println ("networkանց չի գտնվել"); } else {networkSSID = ""; powerSignal = -9999; Serial.print (n); Serial.println ("ցանցերը գտնվեցին / n"); for (int i = 0; i <n; ++ i) {// տպել սերիական մոնիտորի վրա գտած յուրաքանչյուր ցանց `գտած Serial.print (" SSID: "); Serial.println (WiFi. SSID (i)); // ցանցի անունը (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // ազդանշանի ուժը 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 (powerSignal)) {powerSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print («NԱՆWԱԳՈՐՎԱ ԼԱՎԱԳՈՅՆ ՍԻԳՆԱԼԻ ՀԵՏ: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (powerSignal); Serial.println (")"); } ուշացում (10); }} Serial.println ("\ n ----------------------------------------- ---------------------------------------------- / n »);
// 5 վայրկյան ընդմիջում ՝ սկանավորման նոր հետաձգում կատարելու համար (5000); }
"Եթե (abs (WiFi. RSSI (i))"
Նկատի ունեցեք, որ վերը նշված հայտարարության մեջ մենք օգտագործում ենք abs (), այս գործառույթը վերցնում է թվի բացարձակ արժեքը (այսինքն `ոչ բացասական): Մեր դեպքում մենք դա արեցինք համեմատության մեջ եղած արժեքներից ամենափոքրը գտնելու համար, քանի որ ազդանշանի ինտենսիվությունը տրվում է որպես բացասական թիվ և որքան մոտ է զրոին, այնքան ավելի լավ է ազդանշանը:
Քայլ 10: Ֆայլեր
Ներբեռնեք իմ բոլոր ֆայլերը ՝ www.fernandok.com
Խորհուրդ ենք տալիս:
Covid անվտանգության սաղավարտ Մաս 1. Ներածություն Tinkercad սխեմաներին: 20 քայլ (նկարներով)
Covid Safety սաղավարտ Մաս 1. Ներածություն Tinkercad սխեմաներին. Սովորելու լավագույն միջոցներից մեկը դա անելն է: Այսպիսով, մենք նախ նախագծելու ենք մեր սեփական նախագիծը ՝
Ներածություն IR սխեմաներին. 8 քայլ (նկարներով)
Ներածություն IR սխեմաներին. IR- ը տեխնոլոգիայի բարդ կտոր է, բայց դրա հետ աշխատելը շատ պարզ է: Ի տարբերություն լուսադիոդների կամ լազերների, ինֆրակարմիրը չի կարող դիտվել մարդու աչքով: Այս հրահանգում ես կցուցադրեմ ինֆրակարմիրի օգտագործումը 3 տարբեր սխեմաների միջոցով: Շղթաները չեն լինի
Խաղեր !!! - Ներածություն ՝ 5 քայլ
Խաղեր !!! - Ներածություն: Բարև: Ես ձեզ կսովորեցնեմ, թե ինչպես ստեղծել երեք տարբեր խաղեր code.org- ում: Յուրաքանչյուր խաղի ձեռնարկի ներքո ես կտեղադրեմ ձևանմուշ, որը կարող եք ռեմիքս անել և օգտագործել իմ տեսանյութը դիտելիս: Հուսով եմ հաճելի ժամանակ կանցկացնեք !! Եթե ցանկանում եք պարզապես դիտել իմ խաղերը այստեղ
Ներածություն GarageBand: 9 քայլ
Ներածություն GarageBand- ին. GarageBand- ը հարթակ է, որտեղ կարող եք երաժշտություն ներմուծել: Այս հարթակում կարող եք գրեթե ամեն ինչ անել ՝ լինի դա ձեր երազած երաժշտությունը ստեղծելը, թե՞ ձեր դուր եկած երաժշտությունը կրկնօրինակելը: Բայց դա ամեն դեպքում հեշտ չէ: Ահա թե ինչու եմ այստեղ
Ներածություն ESP32 Lora OLED էկրան ՝ 8 քայլ
Ներածություն ESP32 Lora OLED էկրան. Սա ևս մեկ տեսանյութ է ESP32 LoRa- ի ներածության վերաբերյալ: Այս անգամ մենք հատուկ կխոսենք գրաֆիկական ցուցադրման մասին (128x64 պիքսել): Մենք կօգտագործենք SSD1306 գրադարանը ՝ այս OLED էկրանին տեղեկատվություն ցուցադրելու և օրինակ բերելու համար