Mundarija:

ESP32 -ga kirish: 10 qadam
ESP32 -ga kirish: 10 qadam

Video: ESP32 -ga kirish: 10 qadam

Video: ESP32 -ga kirish: 10 qadam
Video: Lesson 64: Using Solid State Relay with Arduino | Arduino Step By Step Course 2024, Noyabr
Anonim
Image
Image
Asosiy xususiyatlar
Asosiy xususiyatlar

Ushbu maqolada biz ESP8266 ning akasi deb hisoblaydigan ESP32 haqida gapiramiz. Menga bu mikrokontroller juda yoqadi, chunki u Wi -Fi tarmog'iga ega. Agar sizda ESP mavjud bo'lishidan oldin, agar sizda WiFi bo'lishi uchun Arduino kerak bo'lsa, siz Wi -Fi adapterini sotib olish uchun 200-300 dollar sarflashingiz kerak bo'ladi. Tarmoq kabelining adapteri unchalik qimmat emas, lekin WiFi uchun u har doim bo'lgan va hozir ham qimmat. Yaxshiyamki, Espressif Systems ESPni ishga tushirdi va hayotimizni hal qilmoqda.

Menga USB porti bo'lgan ushbu formatdagi ESP32 yoqadi. Ushbu NodeMCU sxemasini boshqarish oson, chunki u hech qanday elektronikaga muhtoj emas. Kabelni ulang, qurilmani quvvatlantiring va dasturlang. Bu xuddi Arduino kabi ishlaydi.

Yaxshiyamki, bugun biz ESP32 -ning umumiy jihatlari va Arduino IDE -ni boshqa turdagi qurilmalarni dasturlash uchun qanday sozlash haqida gaplashamiz. Shuningdek, biz tarmoqlarni qidiradigan va qaysi biri kuchliroq ekanligini ko'rsatadigan dastur tuzamiz.

1 -qadam: Asosiy xususiyatlar

O'rnatilgan WiFi-ga ega chip: standart 802.11 B / G / N, 2,4 dan 2,5 gigagertsgacha ishlaydi

Ish usullari: mijoz, kirish nuqtasi, stansiya + kirish nuqtasi

Ikki yadroli mikroprosessor Tensilica Xtensa 32 bitli LX6

Sozlanishi 80 MGts dan 240 MGts gacha

Ishlash kuchlanishi: 3.3 VDC

SRAM hajmi 512 KB

448KB hajmli ROM xususiyatlari

Tashqi flesh xotirasi 32 Mb (4 megabayt)

Har bir pin uchun maksimal oqim 12mA (6mA dan foydalanish tavsiya etiladi)

Unda 36 ta GPIO mavjud

PWM / I2C va SPI funktsiyalariga ega GPIO

Unda Bluetooth v4.2 BR / EDR va BLE (Bluetooth past energiya) mavjud.

2 -qadam: ESP32, ESP8266 va Arduino R3 o'rtasidagi taqqoslash

ESP32, ESP8266 va Arduino R3 o'rtasidagi taqqoslash
ESP32, ESP8266 va Arduino R3 o'rtasidagi taqqoslash

3 -qadam: ESP32 turlari

ESP32 turlari
ESP32 turlari

ESP32 ko'p aka -uka bilan tug'ilgan. Bugun men chapdan birinchi Espressif-dan foydalanmoqdaman, lekin bir nechta brendlar va turlar mavjud, shu jumladan o'rnatilgan Oled displeyi. Biroq, farqlar bir xil chip: Tensilica LX6, 2 Core.

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

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

Bu biz yig'ishda foydalanadigan ESP diagrammasi. Bu jozibadorlik va kuchga ega bo'lgan chip. Bu raqamli analog, analog raqamli yoki hatto eshik raqamli ishlayotgan bo'lsa ham, siz tanlagan bir nechta pinlar.

5 -qadam: Arduino IDE -ni sozlash (Windows)

Arduino IDE -ni sozlash (Windows)
Arduino IDE -ni sozlash (Windows)
Arduino IDE -ni sozlash (Windows)
Arduino IDE -ni sozlash (Windows)

Arduino IDE -ni ESP32 uchun kompilyatsiya qilish uchun qanday sozlash kerak:

1. Fayllarni havola orqali yuklab oling:

2. Faylni oching va tarkibini quyidagi yo'lga ko'chiring:

C: / Foydalanuvchilar / [YOUR_USER_NAME] / Hujjatlar / Arduino / apparat / espressif / esp32

Eslatma: "espressif" va "esp32" kataloglari bo'lmasa, ularni odatdagidek yarating.

3. Katalogni oching

C: / Foydalanuvchilar / [YOUR_USER_NAME] / Hujjatlar / Arduino / apparat / espressif / esp32 / vositalari

"Get.exe" faylini ishga tushiring.

4. "get.exe" tugagandan so'ng, ESP32 -ni ulang, drayverlarning o'rnatilishini kuting (yoki qo'lda o'rnatish).

Tayyor, endi "asboblar >> taxtasida" ESP32 kartasini tanlang va kodingizni kompilyatsiya qiling.

6 -qadam: Wi -Fi orqali skanerlash

Mana, ESP-32 yaqinidagi mavjud Wi-Fi tarmoqlarini, shuningdek ularning har birining signal kuchini izlashga misol. Har bir skanerlashda biz qaysi tarmoqning signal kuchi yaxshiroq ekanligini bilib olamiz.

7 -qadam: kod

Birinchidan, "WiFi.h" kutubxonasini o'z ichiga olaylik, bu bizga qurilmamizning tarmoq kartasi bilan ishlashga ruxsat berish kerak bo'ladi.

#"WiFi.h" ni qo'shing

Bu erda tarmoqning SSID (nomi) va signal kuchini saqlash uchun ishlatiladigan ikkita o'zgaruvchi.

String networkSSID = ""; int forceSignal = -9999;

8 -qadam: sozlash

O'rnatish () funktsiyasida biz qurilmamizning Wi -Fi rejimini aniqlaymiz. Bunday holda, maqsad mavjud tarmoqlarni qidirish bo'lgani uchun, biz qurilmamizni "stansiya" sifatida ishlashini sozlaymiz.

void setup () {// Serial Monitor Serial.begin (115200) tizimiga kirish uchun Serialni ishga tushiring;

// WiFi rejimini WiFi.mode (WIFI_STA) stantsiyasi sifatida sozlash; // WIFI_STA - bu stantsiya rejimini ko'rsatuvchi doimiy

// WiFi ulangan bo'lsa, kirish nuqtasidan uzing.disconnect (); kechikish (100);

// Serial.println ("O'rnatish bajarildi");}

9 -qadam: halqa

Loop () funktsiyasida biz mavjud tarmoqlarni qidiramiz va keyin jurnalni topilgan tarmoqlarda chop etamiz. Ushbu tarmoqlarning har biri uchun biz eng yuqori signal kuchiga ega bo'lgan tarmoqni topish uchun taqqoslashni amalga oshiramiz.

void loop () {// Serial.println ("skanerlashni boshlash"); // mavjud tarmoqlarni skanerlashni amalga oshiradi

int n = WiFi.scanNetworks ();

Serial.println ("Tekshirish bajarildi");

// agar biron -bir tarmoq topilganligini tekshiring, agar (n == 0) {Serial.println ("Tarmoq topilmadi"); } boshqa {networkSSID = ""; kuchSignal = -9999; Serial.print (n); Serial.println ("tarmoqlar / n topildi"); for (int i = 0; i <n; ++ i) {// topilgan har bir tarmoqni ketma -ket monitorda chop etish Serial.print ("SSID:"); Serial.println (WiFi. SSID (i)); // tarmoq nomi (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // signal kuchi Serial.print ("\ t / tCHANNEL:"); Serial.print ((int) WiFi.kanali (i)); Serial.print ("\ t / tMAC:"); Serial.print (WiFi. BSSIDstr (i)); Serial.println ("\ n / n"); if (abs (WiFi. RSSI (i)) <abs (forceSignal)) {forceSignal = WiFi. RSSI (i); tarmoqSSID = WiFi. SSID (i); Serial.print ("ENG YAXSHI SIGNAL TOPLAMI BILAN TARMOQ: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (forceSignal); Serial.println (")")); } kechiktirish (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");

// yangi ko'rish kechikishini bajarish uchun 5 soniya oralig'i (5000); }

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

E'tibor bering, biz yuqoridagi ifodada abs () dan foydalanamiz, bu funksiya sonning mutlaq qiymatini oladi (ya'ni manfiy emas). Bizning holatimizda biz buni taqqoslashda eng kichik qiymatlarni topish uchun qildik, chunki signal intensivligi manfiy son sifatida berilgan va nolga qanchalik yaqin bo'lsa, signal shunchalik yaxshi bo'ladi.

10 -qadam: fayllar

Mening barcha fayllarimni www.fernandok.com saytidan yuklab oling

Tavsiya: