İçindekiler:
- 1. Adım: Temel Özellikler
- Adım 2: ESP32, ESP8266 ve Arduino R3 Arasındaki Karşılaştırma
- Adım 3: ESP32 Türleri
- 4. Adım: WiFi NodeMCU-32S ESP-WROOM-32
- Adım 5: Arduino IDE'yi Yapılandırma (Windows)
- 6. Adım: WiFi Taraması
- 7. Adım: Kod
- Adım 8: Kurulum
- Adım 9: Döngü
- Adım 10: Dosyalar
Video: ESP32'ye Giriş: 10 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
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
Adım 3: 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
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)
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:
Covid Güvenlik Kaskı Bölüm 1: Tinkercad Devrelerine Giriş!: 20 Adım (Resimlerle)
Covid Güvenlik Kaskı Bölüm 1: Tinkercad Devrelerine Giriş!: Merhaba dostum! Bu iki bölümlük dizide, devrelerin nasıl çalıştığını öğrenmek için eğlenceli, güçlü ve eğitici bir araç olan Tinkercad Devrelerinin nasıl kullanılacağını öğreneceğiz! Öğrenmenin en iyi yollarından biri yapmaktır. Bu nedenle, önce kendi projemizi tasarlayacağız: th
IR Devrelerine Giriş: 8 Adım (Resimlerle)
IR Devrelerine Giriş: IR, karmaşık bir teknoloji parçasıdır, ancak çalışması çok basittir. LED'lerin veya LAZER'lerin aksine, Kızılötesi insan gözüyle görülemez. Bu Instructable da 3 farklı devre üzerinden Kızılötesi kullanımını göstereceğim
Oyunlar!!! - Giriş: 5 Adım
Oyunlar!!! - Giriş: Merhaba! Code.org'da size üç farklı oyun yapmayı öğreteceğim. Her oyun öğreticisinin altında, videomu izlerken remix yapabileceğiniz ve kullanabileceğiniz bir şablon yayınlayacağım. Umarım eğlenceli vakit geçirirsiniz!! Beyler, oyunlarımı sadece o
Düğmeler için "Metalik Delik Tapaları" Kullanan ESP32 Kapasitif Dokunmatik Giriş: 5 Adım (Resimlerle)
Düğmeler için "Metalik Delik Tapalar" Kullanan ESP32 Kapasitif Dokunmatik Giriş: Üç düğme girişi gerektiren yaklaşan bir ESP32 WiFi Kit 32 tabanlı proje için tasarım kararlarını sonlandırırken, göze çarpan bir sorun, WiFi Kit 32'nin tek bir mekanik düğmeye sahip olmamasıydı, henüz yalnız üç mekanik düğme, f
Giriş ESP32 Lora OLED Ekran: 8 Adım
Giriş ESP32 Lora OLED Ekran: Bu, ESP32 LoRa'ya Giriş ile ilgili başka bir videodur. Bu sefer özellikle bir grafik ekrandan (128x64 piksel) bahsedeceğiz. Bu OLED ekrandaki bilgileri görüntülemek için SSD1306 kitaplığını kullanacağız ve bir örnek sunacağız