Mündəricat:

ESP32 əsaslı veb serverindən istifadə edərək İnternetə nəzarət LED: 10 addım
ESP32 əsaslı veb serverindən istifadə edərək İnternetə nəzarət LED: 10 addım

Video: ESP32 əsaslı veb serverindən istifadə edərək İnternetə nəzarət LED: 10 addım

Video: ESP32 əsaslı veb serverindən istifadə edərək İnternetə nəzarət LED: 10 addım
Video: RemoteXY IoT Cloud ilə dünyanın istənilən yerindən ESP32-ni necə izləmək və idarə etmək olar 2024, Noyabr
Anonim
ESP32 əsaslı veb serverindən istifadə edərək İnternetə nəzarət edən LED
ESP32 əsaslı veb serverindən istifadə edərək İnternetə nəzarət edən LED

Layihəyə ümumi baxış

Bu nümunədə, dünyanın hər yerindən əldə edilə bilən LED vəziyyətini idarə etmək üçün ESP32 əsaslı bir veb serverin necə qurulacağını anlayacağıq. Bu layihə üçün bir Mac kompüterə ehtiyacınız olacaq, ancaq bu proqramı Raspberry Pi kimi ucuz və aşağı güclü bir kompüterdə də işlədə bilərsiniz.

Arduino IDE ilə ESP32 hazırlanması

ESP32-ni Arduino IDE və Arduino proqramlaşdırma dilindən istifadə edərək proqramlaşdırmağa başlamaq üçün xüsusi bir əlavəyə ehtiyacınız olacaq. Aşağıdakı linkdən Mac OS -də ESP32 üçün Arduino IDE -nin necə hazırlanacağını oxuyun.

Təchizat

Bu dərs üçün aşağıdakı maddələrə ehtiyacınız olacaq:

  • ESP32 inkişaf lövhəsi 5 mm
  • LED müqavimət 220 ohm
  • I2C modulu ilə 16x2 LCD ekran
  • Çörək lövhəsi
  • Jumper telləri
  • Mikro USB kabeli

Addım 1: Dövrün qurulması

Dövrə qurulması
Dövrə qurulması

Aşağıdakı sxematik diaqramda göstərildiyi kimi əlaqələri həyata keçirin

ESP32 və GNDto çörək lövhəsində 3V3 təchizatı gərginliyi çıxışını birləşdirərək başlayın. Rəqəmsal LED -i rəqəmsal çıxış pimi olaraq GPIO pin 23 istifadə edərək ESP32 -ə qoşun. Bundan sonra, 16x2 LCD ekranın SDA pinini GPIO pin 21 -ə və SCL -ni GPIO pin 22 -yə bağlayın.

Addım 2: SPIFFS Fayl Sisteminə Tez Baxış

SPIFFS, "Serial Periferik İnterfeys Flash Fayl Sistemi", yəni məlumatları SPI vasitəsilə ötürən flash yaddaş üçün bir fayl sistemidir. Buna görə, SPIFFS, məlumatları SPI avtobusu (ESP32 flash yaddaşı kimi) vasitəsilə ötürən fiş çipləri olan mikrokontrollerlər üçün hazırlanmış sadələşdirilmiş bir fayl sistemidir.

SPIFFS aşağıdakı hallarda ESP32 ilə istifadə üçün ən faydalıdır:

  • Parametrləri saxlamaq üçün fayllar yaratmaq
  • Daimi məlumat saxlama.
  • Az miqdarda məlumat saxlamaq üçün fayllar yaratmaq (bunun üçün microSD kart istifadə etmək əvəzinə).
  • Veb server yaratmaq üçün HTML və CSS fayllarının saxlanması.

Addım 3: SPIFFS Bootloader -ın Mac OS -də quraşdırılması

Mac OS -də SPIFFS Bootloader -ın quraşdırılması
Mac OS -də SPIFFS Bootloader -ın quraşdırılması

Birbaşa Arduino IDE plaginindən istifadə edərək ESP32 fayl sistemində saxlanılan fayllara məlumat yarada, saxlaya və yaza bilərsiniz.

Əvvəlcə Arduino IDE -nin ən son versiyasının quraşdırıldığından əmin olun və sonra aşağıdakıları edin:

  • Aşağıdakı linki açın və "ESP32FS-1.0.zip" arxivini yükləyin
  • Sənədlər qovluğunda yerləşən Arduino IDE qovluğuna gedin.
  • Alətlər qovluğu yoxdursa, yaradın. Alətlər qovluğunda başqa bir qovluq yaradın ESP32FS. ESP32FS -in içərisində alət adlanan başqa birini yaradın.
  • 1 -ci addımda yüklənmiş ZIP arxivini alət qovluğuna açın.
  • Arduino IDE -ni yenidən başladın.
  • Plugin-in uğurla quraşdırıldığını yoxlamaq üçün Arduino IDE-ni açın və "Alətlər" düyməsini basın və bu menyuda "ESP32 Sketch Data Upload" maddəsinin olub olmadığını yoxlayın.

Addım 4: Kitabxanaların quraşdırılması

ESPAsyncWebServer və AsyncTCP kitabxanaları, ESP32 fayl sistemindəki fayllardan istifadə edərək veb server yaratmağa imkan verir. Bu kitabxanalar haqqında daha ətraflı məlumat üçün aşağıdakı linki yoxlayın.

ESPAsyncWebServer kitabxanasını quraşdırın

  • Kitabxananın ZIP arxivini yükləmək üçün bura vurun.
  • Bu arxivi açın. ESPAsyncWebServer-master qovluğunu almalısınız.
  • Adını "ESPAsyncWebServer" olaraq dəyişdirin.

AsyncTCP kitabxanasını quraşdırın

  • Kitabxananın ZIP arxivini yükləmək üçün bura vurun.
  • Bu arxivi açın. AsyncTCP-master qovluğunu almalısınız.
  • Adını "AsyncTCP" olaraq dəyişdirin.

ESPAsyncWebServer və AsyncTCP qovluqlarını Sənədlər qovluğunda yerləşən kitabxanalar qovluğuna köçürün.

Nəhayət, Arduino IDE -ni yenidən başladın.

Addım 5: Aşağıdakı məzmunlu bir Index.html və Style.css Fayl yaradın

Keçid düyməsi üçün HTML/CSS Şablonu aşağıdakı mənbədən götürülmüşdür.

Addım 6: Arduino Kodu

Əsasən, kod SPIFFS və Arduino IDE -də ESP32 ilə I2C LCD -dən istifadə etməklə ESP32 Veb Serverindən alınan Arduino koduna əsaslanır.

Addım 7: SPIFFS yükləyicisini istifadə edərək Arduino kodunu və fayllarını yükləyin

  • Arduino kodunun eskiz qovluğunu açın.
  • Bu qovluğun içərisində "data" adlı yeni bir qovluq yaradın.
  • Məlumat qovluğuna index.html və style.css daxil etməlisiniz.
  • Arduino kodunu yükləyin
  • Sonra, faylları yükləmək üçün Alətlər> ESP32 Sketch Məlumat Yükləmə bölməsində Arduino IDE düyməsini vurun

Addım 8: ESP32 Web Server IP ünvanını təyin edin

ESP32 Web Server IP ünvanını təyin edin
ESP32 Web Server IP ünvanını təyin edin

Bunu iki yolla tapmaq olar.

  • Arduino IDE -də seriyalı monitor (Alətlər> Serial monitor)
  • LCD ekranda

Addım 9: Yerli Veb Serverini sınayın

Yerli Veb Serverin sınanması
Yerli Veb Serverin sınanması

Sonra, seçdiyiniz bir veb brauzeri açın və aşağıdakı IP ünvanını ünvan çubuğuna yapışdırın. Aşağıdakı ekran görüntüsünə bənzər bir nəticə əldə etməlisiniz.

Addım 10: Ngrok istifadə edərək dünyanın hər yerindən Yerli Veb Serverə Giriş

Ngrok istifadə edərək dünyanın hər yerindən Yerli Veb Serverə Giriş
Ngrok istifadə edərək dünyanın hər yerindən Yerli Veb Serverə Giriş

Ngrok, xarici internetdən kompüterinizdə işləyən bir veb serverə və ya başqa bir xidmətə uzaqdan giriş təşkil etməyə imkan verən bir platformadır. Giriş ngrok başlanğıcında yaradılan etibarlı tunel vasitəsilə təşkil edilir.

  • Bu linki izləyin və qeydiyyatdan keçin.
  • Hesab yaratdıqdan sonra daxil olun və "Doğrulama" sekmesine keçin. "Tüneliniz Avtokoken" sahəsindən xətti kopyalayın.
  • Naviqasiya çubuğundakı "Yüklə" sekmesini vurun. OS -yə uyğun ngrok versiyasını seçin və yükləyin.
  • Yüklənmiş qovluğu açın və əmr satırını işə salın.
  • Aşağıdakı əmri daxil edərək hesabınızı bağlayın

./ngrok autokoken

80 portunda bir HTTP tunelinə başlayın

./ngrok http Your_IP_Address: 80

Hər şey düzgün aparılırsa, tunelin vəziyyəti "onlayn" olaraq dəyişməli və "yönləndirmə" sütununda bir yönləndirmə bağlantısı görünməlidir. Bu linki brauzerinizə daxil etməklə dünyanın istənilən yerindən veb serverə daxil ola bilərsiniz.

Tövsiyə: