Mündəricat:
Video: ESP32 Thing və Blynk istifadə edərək bitki monitoru: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Baxış
Bu layihənin məqsədi bir ev bitkisinin şəraitini izləyə bilən kompakt bir cihaz yaratmaqdır. Cihaz, istifadəçiyə Blynk Tətbiqindən istifadə edərək bir smartfondan torpağın nəm səviyyəsini, rütubət səviyyəsini, istiliyini və "bənzər" temperaturu yoxlamağa imkan verir. Əlavə olaraq, şərtlər bitki üçün uyğun olmadıqda istifadəçi bir e -poçt xəbərdarlığı alacaq. Məsələn, istifadəçi torpağın nəm səviyyəsi uyğun bir səviyyədən aşağı düşdüyü zaman bitkini sulaması üçün bir xatırlatma alacaq.
Addım 1: Tələblər
Bu layihədə bir Sparkfun ESP32 əşyası, DHT22 sensoru və Elektron Kərpic Torpaq Nəm Sensoru istifadə olunur. Əlavə olaraq bir wifi şəbəkəsi və Blynk tətbiqi tələb olunur. Tercihen, ESP32 şeyini ehtiva edən su keçirməyən bir korpus yaradılmalıdır. Bu nümunə bir enerji mənbəyi üçün standart bir prizdən istifadə etsə də, təkrar doldurulan bir batareya, günəş paneli və şarj tənzimləyicisinin əlavə edilməsi cihazın bərpa olunan enerji ilə işləməsini təmin edər.
Addım 2: Blynk
Blynk tətbiqini yükləyin və yeni bir layihə yaradın. Doğrulama işarəsinə diqqət yetirin-kodda istifadə olunacaq. Blynk tətbiqində yeni ekran vidjetləri yaradın və kodda müəyyən edilmiş müvafiq virtual sancaqları seçin. Yeniləmə aralığını itələmək üçün təyin edin. Hər bir vidjetə öz virtual pin təyin edilməlidir.
Addım 3: Arduino IDE
Arduino IDE proqramını yükləyin. Wifi bağlantısını təmin etmək üçün ESP32 şey sürücüsü və demo üçün yükləmə təlimatlarına əməl edin. Kod daxil olan Blynk və DHT kitabxanalarını yükləyin. Doğrulama simvolunu, wifi şifrəsini, wifi istifadəçi adını və e -poçtu son koda daxil edin. Torpaq növü üçün minimum və maksimum dəyərləri tapmaq üçün torpaq nəm sensoru üçün demo kodunu istifadə edin. Bu dəyərləri son kodda qeyd edin və dəyişdirin. Bitki üçün temperatur, torpaq nəmliyi və rütubət üçün minimum dəyərləri son kodda dəyişdirin. Kodu yükləyin.
Addım 4: Qurun
Birincisi, torpağın nəm sensörünü 3.3V, torpaq və giriş pininə 34 qoşun. Qeyd edək ki, bu sensor üçün analoq parametr istifadə olunacağı üçün açarın A -ya qoyulduğu ayrılmazdır. Daha sonra, DHT sensorunu 3.3V, torpaq və giriş pin 27 -yə qoşun. DHT22 sensoru VCC ilə məlumat çıxışı pimi arasında 10K Ohm müqavimət tələb edir. Düzgün bağlandığından əmin olmaq üçün DHT diaqramını yoxlayın. ESP32 -ni torpaqda olan nəm sensoru və səthin üstündəki DHT sensoru olan su keçirməyən bir korpusda konfiqurasiya edin. Güc mənbəyinə qoşulun və zavodunuzun ətrafındakı məlumatlardan zövq alın.
Addım 5: Kod
// Daxil kitabxanalar
#blynk_print seriyasını təyin edin
#daxil edin #əlavə edin "daxil edin" "DHT.h" daxil edin
// DHT sensor məlumatları
#dehine DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #dehine DHTPIN 27 // DHT sensoru DHT dht (DHTPIN, DHTTYPE) ilə əlaqəli rəqəmsal pin; // DHT sensorunu işə salın.
// giriş pinlərini və çıxışlarını təyin edin
int torpaq_sensoru = 34; // nəm sensoruna qoşulan analoq giriş pin nömrəsini təyin edin
int output_value; // çıxış olaraq təyin edin
int moistlevel; // çıxış olaraq təyin edin
int notified = 0; // notifed -i 0 olaraq təyin edin
int timedelay = 60000L; // hər dəqiqədə bir dəfə və ya 60.000 milisaniyədə məlumat almaq üçün taymer təyin edin
// bitki üçün minimum dəyərləri təyin edin
int min_moisture = 20; int min_temperature = 75; int min_humidity = 60;
// Blynk Tətbiqində Doğrulama Tokenini almalısınız.
char auth = "Auth_Token_Here";
// WiFi etimadnaməniz.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
BlynkTimer taymeri;
// Bu funksiya hər saniyədə Arduinonun boş vaxtını Virtual Pin -ə (5) göndərir.
// Tətbiqdə, Widgetin oxuma tezliyi PUSH olaraq təyin olunmalıdır. Bu, məlumatların Blynk Tətbiqinə nə qədər tez -tez göndərilməsini təyin etdiyiniz deməkdir.
void Sensors () // sensorları oxumaq və blynk -ə basmaq üçün əsas funksiya
{output_value = analogRead (tuproq_sensoru); // torpaq_sensorundan analoq siqnalı oxuyun və çıxış_dəyəri olaraq təyin edin // output_vlaue -ni min, maksimum dəyərləri 100, 0 -a qədər göstərin və 0 ilə 100 arasında məhdudlaşdırın // Min və daha yaxşı kalibrləmə üçün fərdi sensor və torpaq növü üçün maksimum dəyərlər nəm səviyyəsi = məhdudlaşdırma (xəritə (çıxış_dəyəri, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity (); // rütubət floatını oxuyun t = dht.readTemperature (); // İstiliyi Celsius (standart) float olaraq oxuyun f = dht.readTemperature (doğru); // İstiliyi Fahrenheit olaraq oxuyun (isFahrenheit = true) // Fahrenheit -də istilik indeksini hesablayın (standart) float hif = dht.computeHeatIndex (f, h); // Oxunanların uğursuz olub olmadığını yoxlayın və erkən çıxın (yenidən cəhd etmək üçün). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("DHT sensorundan oxunmadı!")); qayıtmaq; } // Bu, valları Blynk app Blynk.virtualWrite (V5, nəm səviyyəsi) vidjetlərində müəyyən edilmiş virtual sancaqlar ilə əlaqələndirir; // Nəm səviyyəsini virtual pin 5 -ə göndərin Blynk.virtualWrite (V6, f); // Virtuala temperatur göndərin pin 6 Blynk.virtualWrite (V7, h); // Virtual pin 7 -ə rütubət göndər Blynk.virtualWrite (V8, hif); // İstilik indeksini virtual pin 8 -ə göndərin
əgər (bildirildi == 0)
{if (moistlevel <= min_moisture) // Nəm səviyyəsi minimum dəyərə bərabər və ya aşağıdırsa {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // Su zavoduna e -poçt göndərin} gecikmə (15000); // Blynk e -poçtları 15 saniyə aralı olmalıdır. 15000 milisaniyəni gecikdir, əgər (f <= min_temperatur) // İstilik minimum dəyərə bərabərdirsə və ya ondan aşağıdırsa {Blynk.email ("Email_Here", "Plant Monitor", "Temperature Low!"); // E -poçt göndərin ki, temperatur aşağıdır
}
gecikmə (15000); // Blynk e -poçtları 15 saniyə aralı olmalıdır. 15000 milisaniyəni gecikdir, əgər (h <= min_həmlik) // Rütubət minimum dəyərə bərabər və ya aşağıdırsa {Blynk.email ("Emial_Here", "Bitki Monitoru", "Nəmlik Azdır!"); // Rütubətin aşağı olması barədə e -poçt göndərin} bildiriş = 1; timer.setTimeout (timedelay *5, resetNotified); // təkrar xəbərdarlıq e -poçtları arasında istədiyiniz dəqiqə sayına görə çoxalma vaxtı}}
void resetNotified () // e -poçt tezliyini sıfırlamaq üçün çağırılan funksiya
{bildirildi = 0; }
boş quraşdırma ()
{Serial.begin (9600); // Debug konsolu Blynk.begin (auth, ssid, pass); // blynk timer.setInterval -a qoşulun (vaxt gecikməsi, Sensorlar); // Hər dəqiqə çağırılacaq bir funksiyanı qurun və ya nə vaxt gecikməsini dht.begin () olaraq təyin edin; // DHT sensoru işə salın}
// Void loop yalnız blynk.run və timer ehtiva etməlidir
boşluq döngəsi () {Blynk.run (); // blynk timer.run () işləyin; // BlynkTimer başlatır}
Tövsiyə:
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: 4 addım
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: Salam, mən Rithikəm. Telefonunuzdan istifadə edərək internetə nəzarət edən bir led quracağıq. Arduino IDE və Blynk kimi proqramlardan istifadə edəcəyik. Bu çox sadədir və uğur qazansanız istədiyiniz qədər elektron komponenti idarə edə bilərsiniz
Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək sürətlənməni izləyin: 6 addım
Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək Sürətləndirməni izləyin: Sürətləndirmə sonsuzdur, düşünürəm ki, Fizikanın bəzi qanunlarına görə. Sahilə çıxan ən sürətli məxluq, bir anda ən yüksək sürətindən istifadə edərək ovunu tutur
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar - Mikrokontrolördən istifadə edərək bir Quadcopter hazırlayın: 8 addım (şəkillərlə)
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar | Mikrokontrolördən istifadə edərək Quadcopter hazırlayın: Giriş Youtube Kanalımı Ziyarət Edin Drone almaq üçün çox bahalı bir gadget (məhsul) təşkil edir. Bu yazıda necə ucuz satacağımı müzakirə edəcəyəm? Ucuz qiymətə öz əlinizlə bunu necə edə bilərsiniz … Yaxşı Hindistanda bütün materiallar (mühərriklər, ESClər
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow - Arduino IDE -dən istifadə edərək M5stack M5stick C -dən istifadə edərək Neopixel Ws2812 -də Göy qurşağının Çalışması: 5 addım
Neopixel Ws2812 M5stick-C ilə Göy qurşağı LED Glow | Arduino IDE istifadə edərək M5stack M5stick C istifadə edərək Neopixel Ws2812 üzərində Göy qurşağı çalıştırın: Salam uşaqlar bu təlimatlarda Arduino IDE ilə m5stack m5stick-C inkişaf lövhəsi ilə neopixel ws2812 LED və ya led şerit və ya led matris və ya led üzük istifadə etməyi öyrənəcəyik. onunla bir göy qurşağı nümunəsi
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə - 433mhz ilə HT12E və HT12D istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: 5 addım
HT12D HT12E istifadə edərək RF 433MHZ Radio İdarəetmə | HT12E və HT12D -dən 433mhz istifadə edərək Rf Uzaqdan İdarəetmə edilməsi: Bu təlimatda sizə HT12E kodlu 433mhz ötürücü qəbuledici modulu istifadə edərək RADIO uzaqdan idarə etməyi göstərəcəyəm. HT12D kod deşifratoru IC. Bu təlimatda çox ucuz komponentləri istifadə edərək məlumat göndərə və ala bilərsiniz: HT