Mündəricat:

ESP32 -yə giriş: 10 addım
ESP32 -yə giriş: 10 addım

Video: ESP32 -yə giriş: 10 addım

Video: ESP32 -yə giriş: 10 addım
Video: ESP32-S3 + Camera Module(OV2640) + LTE Module(SIM7600G-H) 2024, Noyabr
Anonim
Image
Image
Əsas Xüsusiyyətlər
Əsas Xüsusiyyətlər

Bu yazıda ESP8266 -nın böyük qardaşı hesab etdiyim ESP32 -dən bəhs edəcəyik. WiFi olduğuna görə bu mikro nəzarətçini çox bəyənirəm. ESP -dən əvvəl bir fikriniz varsa, WiFi -yə sahib olmaq üçün bir Arduino lazım olsaydı, Wifi adapter almaq üçün 200 ilə 300 dollar arasında pul xərcləməli olacaqsınız. Şəbəkə kabeli üçün adapter o qədər də bahalı deyil, amma WiFi üçün həmişə bahalı olub və indi də bahadır. Ancaq xoşbəxtlikdən, Espressif Systems ESP -ni işə saldı və həyatımızı həll edir.

USB portu olan ESP32 formatını sevirəm. Bu NodeMCU sxemini idarə etmək asandır, çünki heç bir elektronikaya ehtiyacı yoxdur. Yalnız kabeli bağlayın, cihazı işə salın və proqramlaşdırın. Arduino kimi işləyir.

Hər halda, bu gün ESP32 -nin ümumi aspektləri və Arduino IDE -ni daha çox tipli cihazları proqramlaşdırmaq üçün necə konfiqurasiya etmək barədə danışacağıq. Həm də şəbəkələri araşdıran və hansının daha güclü olduğunu göstərən bir proqram hazırlayacağıq.

Addım 1: Əsas Xüsusiyyətlər

Daxili WiFi ilə çip: standart 802.11 B / G / N, 2.4 ilə 2.5GHz aralığında işləyir

İş rejimi: Müştəri, Giriş nöqtəsi, Stansiya + Giriş nöqtəsi

İki nüvəli mikroprosessor Tensilica Xtensa 32 bit LX6

80MHz -dən 240MHz -ə qədər tənzimlənən saat

İşləmə gərginliyi: 3.3 VDC

512KB SRAM -a malikdir

448KB ROM xüsusiyyətləri

Xarici flash yaddaşı 32Mb (4 meqabayt)

Bir pin üçün maksimum cərəyan 12mA -dır (6mA istifadə etmək tövsiyə olunur)

36 GPIO var

PWM / I2C və SPI funksiyaları olan GPIO -lar

Bluetooth v4.2 BR / EDR və BLE (Bluetooth Aşağı Enerji)

Addım 2: ESP32, ESP8266 və Arduino R3 arasında müqayisə

ESP32, ESP8266 və Arduino R3 arasındakı müqayisə
ESP32, ESP8266 və Arduino R3 arasındakı müqayisə

Addım 3: ESP32 növləri

ESP32 növləri
ESP32 növləri

ESP32 bir çox bacı və qardaşla dünyaya gəldi. Bu gün soldan birincisi olan Espressif-dən istifadə edirəm, lakin quraşdırılmış Oled ekranı da daxil olmaqla bir neçə marka və növ var. Ancaq fərqlər eyni çipdir: Tensilica LX6, 2 Core.

Addım 4: WiFi NodeMCU-32S ESP-WROOM-32

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

Bu, montajımızda istifadə etdiyimiz ESP diaqramıdır. Çox cəlbediciliyə və gücə malik olan bir çipdir. Rəqəmsal analog, analog rəqəmsal və ya qapını rəqəmsal olaraq işləsələr də işləmək istədiklərini seçdiyiniz bir neçə sancaqdır.

Addım 5: Arduino IDE -ni konfiqurasiya edin (Windows)

Arduino IDE konfiqurasiyası (Windows)
Arduino IDE konfiqurasiyası (Windows)
Arduino IDE konfiqurasiyası (Windows)
Arduino IDE konfiqurasiyası (Windows)

ESP32 üçün tərtib edə biləcəyimiz Arduino IDE -ni necə konfiqurasiya etmək olar:

1. Faylları linkdən yükləyin:

2. Faylı açın və məzmunu aşağıdakı yola kopyalayın:

C: / İstifadəçilər / [YOUR_USER_NAME] / Sənədlər / Arduino / hardware / espressif / esp32

Qeyd: "espressif" və "esp32" qovluğu yoxdursa, onları normal şəkildə yaradın.

3. Kataloqu açın

C: / İstifadəçilər / [YOUR_USER_NAME] / Sənədlər / Arduino / hardware / espressif / esp32 / tools

"Get.exe" faylını işə salın.

4. "get.exe" bitdikdən sonra ESP32 -ni qoşun, sürücülərin quraşdırılmasını gözləyin (və ya əl ilə quraşdırın).

Hazırsınız, indi "tools >> board" da ESP32 lövhəsini seçin və kodunuzu tərtib edin.

Addım 6: WiFi Tarama

ESP-32 yaxınlığında mövcud WiFi şəbəkələrini və hər birinin siqnal gücünü necə axtarmağın nümunəsi. Hər bir tarama ilə, hansı şəbəkənin ən yaxşı siqnal gücünə sahib olduğunu da öyrənəcəyik.

Addım 7: Kod

Əvvəlcə "WiFi.h" kitabxanasını daxil edək, cihazımızın şəbəkə kartı ilə işləməyimizə icazə vermək lazım olacaq.

#"WiFi.h" daxil edin

Şəbəkənin SSID (adı) və siqnal gücünü saxlamaq üçün istifadə ediləcək iki dəyişən var.

String networkSSID = ""; int gücüSignal = -9999;

Addım 8: Quraşdırma

Setup () funksiyasında cihazımızın WiFi davranış rejimini təyin edəcəyik. Bu vəziyyətdə, məqsəd mövcud şəbəkələri axtarmaq olduğundan, cihazımızı "stansiya" olaraq işləmək üçün konfiqurasiya edəcəyik.

void setup () {// Serial Monitor Serial.begin (115200) daxil olmaq üçün Serialı başladın;

// WiFi -nin iş rejimini stansiya WiFi.mode (WIFI_STA) kimi konfiqurasiya etmək; // WIFI_STA stansiya rejimini göstərən sabitdir

// WiFi artıq bağlıdırsa, giriş nöqtəsindən ayırın.disconnect (); gecikmə (100);

// Serial.println ("Quraşdırma tamamlandı");}

Addım 9: Döngə

Loop () funksiyasında, mövcud şəbəkələri axtaracağıq və sonra tapılan şəbəkələrdə qeydləri çap edəcəyik. Bu şəbəkələrin hər biri üçün ən yüksək siqnal gücünə malik olanı tapmaq üçün müqayisə aparacağıq.

void loop () {// Serial.println ("tarama başlanğıcı"); // mövcud şəbəkələrin taranmasını həyata keçirir

int n = WiFi.scanNetworks ();

Serial.println ("Tarama yerinə yetirildi");

// əgər (n == 0) {Serial.println ("Şəbəkə tapılmadı"); } başqa {networkSSID = ""; gücüSignal = -9999; Serial. çap (n); Serial.println ("şəbəkələr tapıldı / n"); for (int i = 0; i <n; ++ i) {// Serial.print ("SSID:") tapılan şəbəkələrin hər birini serial monitorda çap etmək; Serial.println (WiFi. SSID (i)); // şəbəkə adı (ssid) Serial.print ("SIGNAL:"); Serial.print (WiFi. RSSI (i)); // siqnal gücü Serial.print ("\ t / tCHANNEL:"); Serial.print ((int) WiFi.kanalı (i)); Serial.print ("\ t / tMAC:"); Serial.print (WiFi. BSSIDstr (i)); Serial.println ("\ n / n"); if (abs (WiFi. RSSI (i)) <abs (forceSignal)) {gücüSignal = WiFi. RSSI (i); networkSSID = WiFi. SSID (i); Serial.print ("EN İYİ SİNYAL BULUNAN ŞƏKİL: ("); Serial.print (networkSSID); Serial.print (") - SIGNAL: ("); Serial.print (forceSignal); Serial.println (")"); } gecikmə (10); }} Serial.println ("\ n ----------------------------------------- ------------------------------------------- / n ");

// yeni bir tarama gecikməsini həyata keçirmək üçün 5 saniyəlik interval (5000); }

"Əgər (abs (WiFi. RSSI (i)))"

Qeyd edək ki, abs () istifadə etdiyimiz yuxarıdakı ifadədə bu funksiya ədədin mütləq dəyərini (yəni mənfi deyil) götürür. Bizim vəziyyətimizdə bunu müqayisə edilən dəyərlərin ən kiçikini tapmaq üçün etdik, çünki siqnal intensivliyi mənfi bir rəqəm olaraq verilir və sıfıra nə qədər yaxın olarsa, siqnal daha yaxşı olar.

Addım 10: Fayllar

Bütün fayllarımı www.fernandok.com saytından yükləyin

Tövsiyə: