İçindekiler:

ESP32'ye Giriş: 10 Adım
ESP32'ye Giriş: 10 Adım

Video: ESP32'ye Giriş: 10 Adım

Video: ESP32'ye Giriş: 10 Adım
Video: ESP-32 Programlama Kartı Nedir, Nasıl Kullanılır? Teknik Özellikleri ve Örnek Webserver Uygulaması 2024, Kasım
Anonim
Image
Image
Ana Özellikler
Ana Özellikler

Bu yazımızda ESP8266'nın ağabeyi olduğunu düşündüğüm ESP32'den bahsedeceğiz. Bu mikrodenetleyiciyi gerçekten seviyorum çünkü WiFi var. Bir fikriniz olsun diye, ESP olmadan önce, WiFi'ye sahip olmak için bir Arduino'ya ihtiyacınız varsa, bir Wifi adaptörü satın almak için 200 ila 300 dolar arasında harcama yapmanız gerekir. Ağ kablosu adaptörü o kadar pahalı değil, ancak WiFi için her zaman pahalıydı ve hala pahalı. Ama neyse ki Espressif Systems ESP'yi piyasaya sürdü ve hayatımızı çözüyor.

USB bağlantı noktasına sahip bu formatta ESP32'yi seviyorum. Bu NodeMCU şemasını değiştirmek kolaydır çünkü herhangi bir elektroniğe ihtiyaç duymaz. Sadece kabloyu takın, cihaza güç verin ve programlayın. Tıpkı bir Arduino gibi çalışır.

Her neyse, bugün ESP32'nin genel yönleri ve Arduino IDE'nin bu türden daha fazla cihazı programlamak için nasıl yapılandırılacağı hakkında konuşacağız. Ayrıca ağları araştıran ve hangisinin daha güçlü olduğunu gösteren bir program yapacağız.

1. Adım: Temel Özellikler

Yerleşik WiFi'li çip: 2,4 ila 2,5 GHz aralığında çalışan standart 802.11 B / G / N

Çalışma modları: İstemci, Erişim Noktası, İstasyon + Erişim Noktası

Çift çekirdekli mikroişlemci Tensilica Xtensa 32-bit LX6

80MHz'den 240MHz'e kadar ayarlanabilir saat

Çalışma voltajı: 3.3 VDC

512KB SRAM'ı var

448KB ROM'a sahiptir

32Mb (4 megabayt) harici flash belleğe sahiptir.

Pin başına maksimum akım 12mA'dır (6mA kullanılması tavsiye edilir)

36 GPIO'su var

PWM / I2C ve SPI işlevli GPIO'lar

Bluetooth v4.2 BR / EDR ve BLE (Bluetooth Düşük Enerji) özelliğine sahiptir.

Adım 2: ESP32, ESP8266 ve Arduino R3 Arasındaki Karşılaştırma

ESP32, ESP8266 ve Arduino R3 Arasındaki Karşılaştırma
ESP32, ESP8266 ve Arduino R3 Arasındaki Karşılaştırma

Adım 3: ESP32 Türleri

ESP32 Türleri
ESP32 Türleri

ESP32 birçok kardeşle doğdu. Bugün soldan ilk Espressif'i kullanıyorum, ancak yerleşik Oled ekran dahil olmak üzere birkaç marka ve tür var. Ancak, farklılıkların hepsi aynı çip: Tensilica LX6, 2 Core.

4. Adım: WiFi NodeMCU-32S ESP-WROOM-32

WiFi DüğümüMCU-32S ESP-WROOM-32
WiFi DüğümüMCU-32S ESP-WROOM-32

Bu, montajımızda kullandığımız ESP'nin şemasıdır. Çok fazla çekiciliği ve gücü olan bir çip. Dijital analog mu, analog dijital mi, yoksa kapı dijital olarak mı çalışsa da, seçeceğiniz birkaç pindir.

Adım 5: Arduino IDE'yi Yapılandırma (Windows)

Arduino IDE'yi Yapılandırma (Windows)
Arduino IDE'yi Yapılandırma (Windows)
Arduino IDE'yi Yapılandırma (Windows)
Arduino IDE'yi Yapılandırma (Windows)

ESP32 için derleyebilmemiz için Arduino IDE'yi nasıl yapılandıracağınız aşağıda açıklanmıştır:

1. Dosyaları şu bağlantıdan indirin:

2. Dosyayı açın ve içeriği aşağıdaki yola kopyalayın:

C: / Kullanıcılar / [KULLANICI_ADINIZ] / Belgeler / Arduino / donanım / espressif / esp32

Not: "espressif" ve "esp32" dizini yoksa, bunları normal şekilde oluşturun.

3. Dizini açın

C: / Kullanıcılar / [KULLANICI_ADINIZ] / Belgeler / Arduino / donanım / espressif / esp32 / araçlar

"get.exe" dosyasını çalıştırın.

4. "get.exe" tamamlandıktan sonra, ESP32'yi takın, sürücülerin yüklenmesini bekleyin (veya manuel olarak yükleyin).

Hazır, şimdi sadece "araçlar >> pano" içindeki ESP32 kartını seçin ve kodunuzu derleyin.

6. Adım: WiFi Taraması

Burada, ESP-32'nin yakınındaki kullanılabilir WiFi ağlarının nasıl aranacağına ve bunların her birinin sinyal gücüne bir örnek verilmiştir. Her taramada, hangi ağın en iyi sinyal gücüne sahip olduğunu da öğreneceğiz.

7. Adım: Kod

Öncelikle "WiFi.h" kütüphanesini ekleyelim, cihazımızın ağ kartı ile çalışmamıza izin vermemiz gerekecek.

#"WiFi.h"yi dahil et

Ağın SSID'sini (adını) ve sinyal gücünü depolamak için kullanılacak iki değişken aşağıda verilmiştir.

String networkSSID = "";int güçSinyal = -9999;

Adım 8: Kurulum

setup() fonksiyonunda cihazımızın WiFi davranış modunu tanımlayacağız. Bu durumda amaç mevcut ağları aramak olduğu için cihazımızı bir "istasyon" olarak çalışacak şekilde yapılandıracağız.

void setup(){ // Serial Monitor Serial.begin'de oturum açmak için Serial'i başlat(115200);

// WiFi çalışma modunu istasyon WiFi.mode(WIFI_STA);//WIFI_STA istasyon modunu gösteren bir sabittir

// zaten bağlıysa erişim noktasından bağlantıyı kes WiFi.disconnect(); gecikme(100);

// Serial.println("Kurulum tamamlandı");}

Adım 9: Döngü

Döngü () işlevinde, mevcut ağları arayacağız ve ardından bulunan ağlardaki günlüğü yazdıracağız. Bu ağların her biri için en yüksek sinyal gücüne sahip olanı bulmak için karşılaştırma yapacağız.

void loop(){ // Serial.println("taramayı başlat"); // mevcut ağların taranmasını gerçekleştirir

int n = WiFi.scanNetworks();

Serial.println("Tarama gerçekleştirildi");

// herhangi bir ağ bulup bulmadığınızı kontrol edin if (n == 0) { Serial.println("Ağ bulunamadı"); } başka { networkSSID = ""; güçSinyal= -9999; Seri.baskı(n); Serial.println(" ağ bulundu\n"); for (int i = 0; i < n; ++i) { //bulunan ağların her birini seri monitörde yazdır Serial.print("SSID: "); Seri.println(WiFi. SSID(i)); //ağ adı (ssid) Serial.print("SİNYAL: "); Seri.print(WiFi. RSSI(i)); //sinyal gücü 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(güçSinyal)) { güçSinyal = WiFi. RSSI(i); networkSSID = WiFi. SSID(i); Serial.print("EN İYİ SİNYAL BULUNAN AĞ: ("); Serial.print(networkSSID); Serial.print(") - SİNYAL: ("); Serial.print(güçSinyal); Serial.println(")"); } gecikme(10); } } Serial.println("\n---------------------------------------- -------------------------------------------\n");

// yeni bir tarama gecikmesi gerçekleştirmek için 5 saniyelik aralık (5000); }

"Eğer (mutlak (WiFi. RSSI (i))"

Yukarıdaki ifadede abs () kullandığımızı unutmayın, bu fonksiyon sayının mutlak değerini (yani negatif değil) alır. Bizim durumumuzda bunu karşılaştırmadaki değerlerin en küçüğünü bulmak için yaptık, çünkü sinyal yoğunluğu negatif bir sayı olarak verilir ve sıfıra ne kadar yakınsa sinyal o kadar iyi olur.

Adım 10: Dosyalar

Tüm dosyalarımı şuradan indirin: www.fernandok.com

Önerilen: