Mündəricat:

BME280 Sensorlu ESP32 WiFi Hava İstasyonu: 7 addım (şəkillərlə)
BME280 Sensorlu ESP32 WiFi Hava İstasyonu: 7 addım (şəkillərlə)

Video: BME280 Sensorlu ESP32 WiFi Hava İstasyonu: 7 addım (şəkillərlə)

Video: BME280 Sensorlu ESP32 WiFi Hava İstasyonu: 7 addım (şəkillərlə)
Video: BME280... 2024, Iyul
Anonim
Image
Image
BME280 Sensorlu ESP32 WiFi Hava İstasyonu
BME280 Sensorlu ESP32 WiFi Hava İstasyonu
BME280 Sensorlu ESP32 WiFi Hava İstasyonu
BME280 Sensorlu ESP32 WiFi Hava İstasyonu

Əziz dostlar, başqa bir dərsimizə xoş gəldiniz! Bu dərslikdə Wi -Fi ilə işləyən bir hava stansiyası layihəsi quracağıq! Nextion ekranı ilə birlikdə yeni, təsir edici ESP32 çipini ilk dəfə istifadə edəcəyik.

Bu videoda bunu edəcəyik. Bildiyim başqa bir hava stansiyası layihəsidir, amma bu dəfə yeni ESP32 çipindən istifadə edirik! İstilik, rütubət və barometrik təzyiqi ölçən yeni BME280 sensorundan da istifadə edirik. Layihəni işə saldıqda WiFi şəbəkəsinə qoşulur və Openweathermap veb saytından yerləşdiyim hava proqnozunu alacaq. Sonra bu 3.2 Nextion Sensorlu Ekranın proqnozunu sensordan oxunuşlarla birlikdə göstərəcək! Oxumalar hər iki saniyədə bir və hava proqnozu hər saat yenilənir! Gördüyünüz kimi, bu layihədə bu gün bir istehsalçının əlində olan ən son texnologiyalardan istifadə edirik! Bir DIY veteranıysanız, bu layihəni beş dəqiqədə qura bilərsiniz.

Yeni başlayanlarsınızsa, bu layihəyə başlamazdan əvvəl bir neçə videoya baxmalısınız. Bu videonun bağlantılarını bu Təlimat kitabında tapa bilərsiniz, narahat olmayın.

Gəlin başlayaq!

Addım 1: Bütün hissələri alın

Bütün hissələri alın
Bütün hissələri alın

Bu layihəni qurmaq üçün aşağıdakı hissələrə ehtiyacımız var:

  • Bir ESP32 lövhəsi ▶
  • BME280 I2C sensoru ▶
  • 3.2”Nextion ekranı ▶
  • Kiçik Breadboard ▶
  • Bəzi tellər ▶

Layihənin dəyəri təxminən 30 dollardır.

ESP32 əvəzinə daha ucuz ESP8266 çipindən istifadə edə bilərdik, amma bununla təcrübə qazanmaq və nəyin işlədiyini və nəyin işləmədiyini görmək üçün ESP32 -dən istifadə etmək qərarına gəldim.

Addım 2: ESP32

Image
Image
ESP32
ESP32

Bu, yeni ESP32 çipi ilə qurduğum ilk layihədir.

Əgər tanış deyilsinizsə, ESP32 çipi keçmişdə dəfələrlə istifadə etdiyimiz məşhur ESP8266 çipinin varisidir. ESP32 bir heyvandır! 160MHz -də işləyən iki ədəd 32 işləmə nüvəsi, çoxlu miqdarda yaddaş, WiFi, Bluetooth və qiyməti təxminən 7 dollar olan bir çox xüsusiyyətlər təklif edir! İnanılmaz şeylər!

Zəhmət olmasa bu lövhə üçün hazırladığım ətraflı araşdırmanı izləyin. Videonu bu Təlimat kitabına əlavə etdim. Bu çipin hər şeyi əbədi olaraq necə dəyişdirəcəyimizi anlamağa kömək edəcək!

Addım 3: Nextion Ekranı

Image
Image
Sensor BME280
Sensor BME280

Ayrıca, bu Nextion toxunma ekranı ilə qurduğum ilk layihədir.

Nextion displeyləri yeni növ ekranlardır. Arxada ekranı idarə etmək və qrafik istifadəçi interfeysi yaratmaqdan məsul olan öz ARM prosessorları var. Beləliklə, hər hansı bir mikro nəzarətçi ilə istifadə edə və möhtəşəm nəticələr əldə edə bilərik.

Necə işlədiyini, necə istifadə ediləcəyini və çatışmazlıqlarını dərindən izah edən bu Nextion ekranı haqqında ətraflı təlimat hazırladım. Bura tıklayaraq oxuya bilərsiniz:

Addım 4: BME280 Sensoru

Sensor BME280
Sensor BME280

BME280 Bosch -dan yeni əla sensorda.

İndiyə qədər temperaturu və barometrik təzyiqi ölçə bilən BMP180 sensorundan istifadə edirdim. BME280 sensoru temperaturu, rütubəti və barometrik təzyiqi ölçə bilər! Bu necə də gözəldir! Tam bir hava stansiyası qurmaq üçün yalnız bir sensora ehtiyacımız var!

Bundan əlavə, sensor çox kiçik ölçülərə malikdir və istifadəsi çox asandır. Bu gün istifadə edəcəyimiz modul I2C interfeysindən istifadə edir, buna görə Arduino ilə ünsiyyəti çox asanlaşdırır. İşləmək üçün yalnız güc və daha iki tel bağlamalıyıq.

Artıq bu sensor üçün hazırlanmış bir çox kitabxana var, buna görə də layihələrimizdə çox asanlıqla istifadə edə bilərik! Sensorun qiyməti təxminən 5 dollardır. Buradan əldə edə bilərsiniz ▶

Qeyd: BME280 sensoruna ehtiyacımız var. Rütubətin ölçülməsini təmin etməyən BMP280 sensoru da var. Lazım olan sensoru sifariş edərkən diqqətli olun.

Addım 5: Parçaları birləşdirin

Parçaların birləşdirilməsi
Parçaların birləşdirilməsi
Parçaların birləşdirilməsi
Parçaların birləşdirilməsi
Parçaların birləşdirilməsi
Parçaların birləşdirilməsi

Parçaların əlaqəsi sxematik diaqramdan göründüyü kimi sadədir.

BME280 sensoru I2C interfeysindən istifadə etdiyi üçün ESP32 ilə ünsiyyət qurmaq üçün yalnız iki tel bağlamalıyıq. Sensoru 26 və 27 -ci pinlərə bağladım. Teorik olaraq, ESP32 lövhəsinin hər bir rəqəmsal pinini I2C ətraf qurğuları ilə istifadə etmək olar. Təcrübədə, bəzi pinlərin başqa məqsədlər üçün ayrıldığı üçün işləmədiyini öyrəndim. 26 və 27 -ci pinlər əla işləyir!

Ekrana məlumat göndərmək üçün ESP32 -nin TX0 pininə yalnız bir tel bağlamalıyıq. ESP32 lövhəsi bu çörək taxtası üçün çox böyük olduğu üçün ekranın dişi telini bağlamaq üçün pimi belə əymək məcburiyyətində qaldım.

Parçaları bağladıqdan sonra kodu ESP32 -yə yükləməliyik və GUI -ni Nextion ekranına yükləməliyik. Proqramı ESP32 lövhəsinə yükləməkdə çətinlik çəkirsinizsə, Arduino IDE üzərindəki yükləmə düyməsini basdıqdan sonra BOOT düyməsini basıb saxlayın.

GUI -ni Nextion ekranına yükləmək üçün sizinlə paylaşacağım WeatherStation.tft faylını boş bir SD karta kopyalayın. SD kartı ekranın arxasındakı SD kart yuvasına qoyun. Sonra ekranı işə salın və GUI yüklənəcək. Sonra SD kartı çıxarın və gücü yenidən bağlayın.

Layihə WiFi şəbəkəsinə qoşulacaq kodu uğurla yüklədikdən sonra openweathermap.org saytından hava proqnozunu alacaq və sensordan oxunuşları göstərəcək. İndi layihənin proqram tərəfinə baxaq.

Addım 6: Layihənin Məcəlləsi

Layihənin Məcəlləsi
Layihənin Məcəlləsi
Layihənin Məcəlləsi
Layihənin Məcəlləsi
Layihənin Məcəlləsi
Layihənin Məcəlləsi

Hava məlumatlarını təhlil etmək üçün əla Arduino JSON kitabxanasına ehtiyacımız var. Sensor üçün bir kitabxanaya da ehtiyacımız var.

? ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32? Arduino JSON:

İndi kodu görək.

Əvvəlcə SSID və WiFi şəbəkəmizin parolunu təyin etməliyik. Sonra, operweathermap.org saytından pulsuz APIKEY -ə daxil olmalıyıq. Öz API açarınızı yaratmaq üçün veb saytında qeydiyyatdan keçməlisiniz. Mövcud hava məlumatlarını və proqnozlarını əldə etmək pulsuzdur, ancaq bir az pul ödəmək istəsəniz veb sayt daha çox seçim təklif edir. Sonra, yerimizin idini tapmalıyıq. Məkanınızı tapın və ünvanınızın ünvanında tapa biləcəyiniz şəxsiyyət vəsiqəsini kopyalayın.

Sonra CityID dəyişəninə şəhərinizin idini daxil edin. Ayrıca, bu dəyişənə şəhərinizin yüksəkliyini daxil edin. Bu dəyər sensordan dəqiq barometrik təzyiq oxunması üçün lazımdır.

const char* ssid = "yourSSID"; const char* password = "parolunuz"; String CityID = "253394"; // Sparta, Yunanıstan String APIKEY = "yourAPIkey"; #define ALTITUDE 216.0 // Sparta, Yunanıstanda yüksəklik

İndi irəliləməyə hazırıq.

Əvvəlcə sensoru işə salırıq və WiFi Şəbəkəsinə qoşuluruq. Sonra serverdən hava məlumatlarını tələb edirik.

Hava məlumatları ilə JSON formatında bir cavab alırıq. Məlumatları JSON kitabxanasına göndərməzdən əvvəl mənə problem yaradan bəzi simvolları əl ilə silirəm. Sonra JSON kitabxanası üzərinə götürür və ehtiyac duyduğumuz məlumatları dəyişənlərdə asanlıqla saxlaya bilərik. Veriləri dəyişənlərdə saxladıqdan sonra, onları ekranda göstərmək və serverdən yeni məlumatlar istəməzdən əvvəl bir saat gözləmək kifayətdir. Təqdim etdiyim yeganə məlumat hava proqnozudur, ancaq istəsəniz daha çox məlumat göstərə bilərsiniz. Hamısı burada dəyişənlərdə saxlanılır. Sonra sensordan temperaturu, rütubəti və barometrik təzyiqi oxuyuruq və Nextion ekranına məlumat göndəririk.

Ekranı yeniləmək üçün seriya limanına bu kimi bir neçə əmr göndəririk:

void showConnectingIcon () {Serial.println (); String əmri = "weatherIcon.pic = 3"; Serial.print (əmr); endNextionCommand (); }

Nextion GUI bir fondan, bəzi mətn qutularından və hava proqnozundan asılı olaraq dəyişən bir şəkildən ibarətdir. Daha çox məlumat üçün Nextion ekran dərsinə baxın. İstəyirsinizsə və daha çox şey göstərsəniz, öz GUI -nizi tez bir zamanda dizayn edə bilərsiniz.

Həmişə olduğu kimi bu Təlimata əlavə olunan layihənin kodunu tapa bilərsiniz

Addım 7: Son Düşüncələr və Təkmilləşdirmələr

Son Fikirlər və Təkmilləşdirmələr
Son Fikirlər və Təkmilləşdirmələr

Gördüyünüz kimi, bu gün təcrübəli bir istehsalçı, bir neçə kod xətti və yalnız üç hissədən ibarət olan bir neçə saat ərzində maraqlı layihələr qura bilər! Belə bir layihəni iki il əvvəl etmək mümkün olmazdı!

Əlbəttə ki, bu layihənin yalnız başlanğıcıdır. Qrafiklər, indi çatışmayan toxunma funksiyaları, bəlkə də daha böyük bir ekran və əlbəttə ki, gözəl görünən 3D çaplı bir korpus kimi bir çox xüsusiyyət əlavə etmək istərdim. Daha yaxşı görünən bir GUI və nişanlar da hazırlayacağam. Həyata keçirmək üçün çox yeni fikirlərim var!

Bugünkü layihə haqqında fikirlərinizi bilmək istərdim. Layihəyə hansı xüsusiyyətləri əlavə etməyimi istəyirsiniz? Görünüşünü bəyəndinizmi? Bunun necə inkişaf etdiyini görmək istərdinizmi? Zəhmət olmasa fikirlərinizi aşağıdakı şərh bölməsində yazın; Fikirlərinizi oxumağı sevirəm!

Simsiz Müsabiqə
Simsiz Müsabiqə
Simsiz Müsabiqə
Simsiz Müsabiqə

Simsiz Müsabiqədə 2 -ci yeri tutdu

Tövsiyə: